unity-atoms/docs/api/unityatoms.baseatoms.editor.md
Casey Hofland 9ca9ece812
Unity Atoms Input System Integration (#212)
* Unity Atoms Input System Integration

This is just a quick demo to suggest to the Unity Atoms team. There 'was' a line on the github that said to contact you... but creating a Pull Request is the more funner way of doing things.

Here we have a YouTube link that explains what these scripts are for. The scene is a bit bare bones since testbed and all that.
https://www.youtube.com/watch?v=q7W8FyTIriQ&feature=youtu.be

* Input System Interpreters and Workflow cemented

No in-game demo this time D:< but I did make a video to explain the workflow, because it beats writing you a 3 page pdf:
https://www.youtube.com/watch?v=g7mCpOZpJ4I

Like I say in the video, 2 things I still want to do before final:
1. Create ALL the Interpreters! (Mostly things like support for EyeControls.)
2. Write a few lines of documentation.

2 Interpreters I still need to create are for Double and Quaternion, which will then need accompanying Variables and Events. I was wondering if I should push these separately to the base atoms package.

* Add Double and Quaternion Variables to BaseAtoms

I also put some comments in RegenerateAllAtoms for some clear separation.

* Add InputSystem 1.0.1 as a dependency

Updates the README as well.

* Generator support for nested types

If a type is nested, e.g. class Foo.Bar, the Generator will now correctly resolve to:
public abstract class Foo_BarAction : AtomAction<Foo.Bar>

Dots are replaced with underscores. This way it is certain the resolved type won't conflict with any Microsoft Standard types (their naming conventions forbid it). It is recommended the type name is still changed by the programmer afterwards.
^ in fact, I wanted to make an extra field for this in the generator editor to help with this, but I have not much experience with uielements and the codebase relied heavily on _valueType making it an uphill battle for a later date perhaps.

Note that I had to change GeneratorEditor and RegenerateAllAtoms as well, since these were erasing the changes from the Generator.CreateTemplateVariablesMap method (good one guys, ya got me). You might think I missed capitalizing the templateVariables["VALUE_TYPE_NAME"], but this already happens in that Maps method.

* Remove version defines on assemblies

This is no longer needed now that the InputSystem is a dependency of this package.

* Add the PlayerInput and CallbackContext to RegenerateAllAtoms

With it, all the atoms generated from PlayerInput and CallbackContext have been regenerated as well, so this push may appear bigger than it really is. Only RegenerateAllAtoms.cs has changed significantly.

* Add Double- and QuaternionInterpreter + icons

The icon just felt missing. If you had a different color in mind just send me a file.

* First commit

* Squashed commit of the following:

commit 847eff037204d841546c0da772d2f341f9cf1e25
Author: Adam Ramberg <andersson.adam.89@gmail.com>
Date:   Sun Mar 17 22:09:38 2019 +0100

    #17 - Serializable not needed for ScriptableObject

commit 593b275e6394b9d589de8a7a20375145dfc4aa84
Author: Adam Ramberg <andersson.adam.89@gmail.com>
Date:   Sun Mar 17 21:59:33 2019 +0100

    18 - IGameEvent<T1, T2> RegisterListener

commit 40443ce9bd4b1c339aaf19cfcb119f2336608dae
Author: Adam Ramberg <andersson.adam.89@gmail.com>
Date:   Fri Mar 8 16:35:04 2019 +0100

    Remove some more warnings

commit bd453110ac51a6ebe3d54368fcb039bdbe52e278
Author: Adam Ramberg <andersson.adam.89@gmail.com>
Date:   Fri Mar 8 16:33:30 2019 +0100

    Update README

commit 90977b853a047c84efb5311768a09f4e8a1165b2
Author: Adam Ramberg <andersson.adam.89@gmail.com>
Date:   Fri Mar 8 16:31:45 2019 +0100

    Initialize to null to get rid off warnings

commit 38b7f5c4ede195aa7198f567801c9cbeedc9b6f6
Author: Adam Ramberg <andersson.adam.89@gmail.com>
Date:   Fri Mar 8 16:15:53 2019 +0100

    More fixes to enable local unity project

commit 404e1cbf88ed4431c61d3ece074e838e74ac5141
Author: Adam Ramberg <andersson.adam.89@gmail.com>
Date:   Fri Mar 8 16:12:37 2019 +0100

    Remove duplicated asmdef

commit 5734300684e8a16553f213157cad1b4722b7cb7f
Author: Adam Ramberg <andersson.adam.89@gmail.com>
Date:   Fri Mar 8 16:09:46 2019 +0100

    Change files to include

commit d1e42b119a6bc1577b1792459fa298e063652337
Author: Adam Ramberg <andersson.adam.89@gmail.com>
Date:   Fri Mar 8 16:05:56 2019 +0100

    Added root package json

commit 1709a0347147d74460f653182bbaf8d15eb6154e
Author: Adam Ramberg <andersson.adam.89@gmail.com>
Date:   Fri Mar 8 15:30:44 2019 +0100

    #16 - Add test and examples Unity project

commit a3ea1a133bf6727e011ba85c64569db45302e487
Author: Adam Ramberg <andersson.adam.89@gmail.com>
Date:   Fri Mar 8 13:12:02 2019 +0100

    #13 - Make usage of UPM (package manager)

commit 492a30e905f6cf3f5899cb7080ef2bda73110f00
Author: Adam Ramberg <andersson.adam.89@gmail.com>
Date:   Fri Mar 8 11:28:56 2019 +0100

    Added extensions + code formatting fixes

commit 709949a1016c236cfd363cf25392fedfd8d083ca
Author: Oliver Biwer <soraphis@users.noreply.github.com>
Date:   Fri Mar 8 10:16:45 2019 +0100

    More AtomicTags changes (#15)

    * - added assembly defintions, and unit tests
    - improved AtomicTags in regards of #8, #9 and #10

    * Fixes #11
    - Added Equality Members (inclusive HashCode) for ScriptableObjectVariableBase

    * removed Rider Plugins from git

    * Further AtomicTag optimization

commit ae6584c879f182e727fe0a8d0aff4b0715829914
Author: Adam Ramberg <andersson.adam.89@gmail.com>
Date:   Fri Mar 8 10:08:36 2019 +0100

    Editor config

commit 197d7067608600e4e2d13dc42db909ee8f8c75df
Author: Adam Ramberg <andersson.adam.89@gmail.com>
Date:   Fri Mar 8 09:23:12 2019 +0100

    Added editor config file

commit 53d6adc07b
Author: Oliver Biwer <soraphis@users.noreply.github.com>
Date:   Tue Mar 5 22:57:47 2019 +0100

    More efficient AtomicTags (#12)

    * - added assembly defintions, and unit tests
    - improved AtomicTags in regards of #8, #9 and #10

    * Fixes #11
    - Added Equality Members (inclusive HashCode) for ScriptableObjectVariableBase

    * removed Rider Plugins from git

commit 81209d83b5
Author: Adam Ramberg <andersson.adam.89@gmail.com>
Date:   Wed Dec 12 20:54:17 2018 +0100

    Added MonoHooks + ColliderType + bug fixes

commit c6b240cebb
Author: Adam Ramberg <andersson.adam.89@gmail.com>
Date:   Sat Dec 1 00:23:10 2018 +0100

    Experimenting with adding UI state management

commit dfd70a8944
Author: Adam Ramberg <andersson.adam.89@gmail.com>
Date:   Fri Nov 30 23:10:21 2018 +0100

    Issue #6 - AtomicTags

commit 8907763227
Author: Adam Ramberg <andersson.adam.89@gmail.com>
Date:   Fri Nov 30 22:42:29 2018 +0100

    First commit of v1.0.0

* New repo structure

* Fix empty line issue for conditionals in generator

* Generator now handles namespaces

* Add sub unity atoms namespace to generator + generate new atoms for TouchUserInput

* Generate new SceneField atoms

* AtomicTags -> UnityAtomsTags

* New simpler / better icon system

* Regenerate core atoms with new icon system

* Update TouchUserInput icons

* Update SceneField with new icon system

* Update the last missing atoms with new icon system

* Add publish scripts to Github registry

* Add files meta in package.jsons

* Add missing meta + adjust package.json

* Fix warnings when importing package

* Use NPM instead of Github registry

* Add website for documentation

* Added eslint + prettier and updated .editorconfig

* Fix assembly references

* Rename Listener GameEvent -> Event

* ResetValue -> Reset

* UseIcon -> EditorIcon

* Bug fix

* Generate docs - document tags

* Correct namespace

* Remove unused interfaces

* Docs for mobile api

* Create documentation WIP

* Document Core WIP

* Use compiler flag UNITY_2019_1_OR_NEWER - docs gen

* Regenerate TouchUserInput Atoms

* Document Atom Listener

* Add docs to Atom List

* Docs WIP

* Update Unity Events template comments

* Remove interfaces not used

* Generate docs for Atom Variable

* Regenerate docs for bool Atoms

* Regenerate docs for Color Atoms

* Regenerate docs for Collider Atoms

* Regenerate docs for Collider2D Atoms

* Regenerate docs for float Atoms

* Regenerate docs for GameObject Atoms

* Regenerate docs for int Atoms

* Regenerate docs for string Atoms

* Regenreate docs for Vector2 Atoms

* Regenerate docs for Vector3 Atoms

* Regenerate docs for Void Atoms

* Regenerate docs for SceneField Atoms

* Various docs fixes

* Generate more docs for scene mgmt

* Readd MonoHooks as a subpackage

* - Added a top menu bar option to regenerate all existing Atoms. Nifty when developing the library.
- Added the option to use a Constant in Atom References. Related to #58

* #54 - temp workaround for Unity serialization bug

* #41 - Create BaseAtomListener including dev desc

* UATags -> AtomTags

* Remove all FormerlySerializedAs attributes

* Add missing MonoHooks folder meta

* Set default values to remove MH warnings

* #65 - Fix indent and ui state issues of drawer

* Expose get property InitialValue for Variables

* #68 Temporarily dissalow multiobject editing

* #68 - render default drawer when multi editing

* V2.0.0 🎉

* Setter to AtomReference's Value was added in order to set the value depending on _usage

* Update AtomReference.cs

small change to be more future-proof.
 - when the Usage-Enum is extended this will not silently do nothing

* Changed AddComponentMenu names for Listeners/Hooks (#84)

* changed AddComponentMenu names for Listeners

* renamed AddComponentMenu Listeners names in other packages

* renamed AddComponentMenu for hooks

* renamed double Listeners to "x 2" convention

* #87 bug fixed

* Better user guidance for working with AtomVariables (#70)

* #69 added custom editor for Variable Types, to guide the usage flow and reduce errors.

* allows unlocking of initialvalue in playmode

* adjustments to Variable Inspector

* Generator now works with all kinds of setups. just select the Packages folder when calling RegenerateAll.
Used this to regenerate the CustomEditors

* supports now structs

* Added RaiseButtons in VariableEditor. #72
Adding simple logging helper on listeners, for fast debugging.

* Call `serializedObject.Update();` before `OnInspectorGUI` in the editor script in order to update old value when changing value.
Show children for PropertyFields for initial and old value.
Some minor refactoring - renaming variables
Clean up in `RegenereateAllAtoms`
Use `OnEnable` instead of `OnAfterDeserialize` when setting inital value for variable. `OnAfterDeserialize` was causing major issues with the custom editor, eg. it did run when focusing a Variable and showing the inspector, basically making it worthless to change or even inspect the Variable at runtime. `OnEnable` is only called ones when the ScriptableObject is loaded in runtime, which is what we really want. This has been tested running in the editor and in builds.
Add missing editors scripts `TouchUserInputVariableEditor`and `SceneFieldVariableEditor`

* Variable and Constant Drawers show a preview value (#89)

* Drawers of Variables and Constants show value field

* #89 Adjust preview width for Vector2 and Vector3

* Name OnTriggerHook class properly. (#91)

* Bux fix - name OnTriggerHook class properly.

* Add entry to CHANGELOG

* #84 parameterless atom listener (#86)

* added base class for AtomAction; modified VoidAction; added Register/UnregisterListener to non-generic AtomEvent; added parameterless AtomListener; small polishing

* removed EditorIcon from AtomAction; fixed misspelled word in AtomEvent

* v2.1.0 🚀

* Unity v2018.4 Support (#98)

* - Fixed MonoHooks asmdef reference to Core asmdef was broken.
- Fixed dependancy issue for Package Manager.
- Removed Generator function in version 2018.4.

* Updated to include 2018.4 define directive.

* Fix Remove Tag from AtomTags and Fix Remove Tag Test (#102)

* v2.1.1 🤖

* Update AtomVariable.cs

* Added pre change transformers to Variables + Clamp Int / Float (#93)

* Added pre change transformers to Variable + Clamp Value Function (first pre change transformer implementation)
- Added a list of pre change transformers to AtomVariable
- Added docs
- Added two AtomFunctions - ClampInt and ClampFloat
- Added custom editors for ClampInt and ClampFloat
- AtomFunction<T, T> is not part of the generator
- Regenerated all the Atoms

* - Created a base class for the editor for ClampFloat and ClampInt. Apparently it is not allowed to have multiple CustomEditor attributes defined for the same class. To implement this I also created an interface called `IIsValid` (for casting purposes in the editor).
- Initialize `PreChangeTransformers ` at declaration and removed initialization `OnEnable`
- Moved call to `RunPreChangeTransformers ` from `OnEnable` to `OnValidate`. Running it 2 times, once for initialValue and once for value since value can be changed at runtime via editor.
- Made the variable PreChangeTransformers private and created a property instead in order to make it impossible to overwrite the list with `null` from the outside.
- Moved `ClampInt` and `ClampFloat` in the `CreateAssetMenu` for `Unity Atoms/Functions/Transformers`

* IsUnityAtomsRepo should never be settable (#108)

* Fix indentation bug in variable drawer (#109)

* Reactivate Generator function in Unity 2018.4. (#106)

Co-authored-by: Adam Ramberg <adam@mambojambostudios.com>

* Fix variable equality issues (#111)

* Added Variable Instancer, Event Reference, Atom Collection and Atom List (old Atom List renamed to Atom Value List) (#110)

AtomVariableInstancer
- Added AtomVariableInstancer as an option to AtomReference.
- Added AtomVariableInstancer to generator.
- Added editor icon for AtomVariableInstancer.

AtomEventReference
- Added an AtomEventReference class (and AtomEventX2Reference). It’s similar to an AtomReference, but for Events. Let’s you pick between an Event, Variable (will select the Changed event) and a VariableInstancer (see above).
- Added AtomEventReference and AtomEventX2Reference to generator.
- Added a drawer for AtomEventReference.
- Listeners are now using AtomEventReference instead of AtomEvent.
- Refactoring of VoidHooks since Listeners are now using AtomEventReference.

AtomCollection
- Created an AtomCollection - a collection of Atoms associated with key strings (AtomReferences).
- Added new editor icon for collections.
- Created a SerializableDictionary class, which AtomCollection is using.
- Custom property drawer for SerializableDictionary.
- SerializableDictionary supports nested structures meaning that a AtomCollection can have a KVP that is pointing to another AtomCollection.
- AtomCollections have 3 events: Added, Removed, Cleared.
- Added an option to sync an InstanceVariable to collection - adding it to the collection when created (using gameObject’s instance id as key) and removing it from the collection when destroyed.

AtomList
- Renamed old AtomList to AtomValueList
- Added AtomList, like Collection, but a list
- Added new icon for AtomList
- Created a AtomBaseVariableList class, which AtomList is using.
- Custom property drawer for AtomBaseVariableList.
- AtomLists have 3 events: Added, Removed, Cleared.
- Added an option to sync an InstanceVariable to list - adding it to the list when created and removing it from the list when destroyed.

* Fix ValueEquals in AtomVariable template

* Add constructor with value to Reference classes (#113)

* Replay subject (#114)

* Add constructor with value to Reference classes

* Implemented ReplayBehaviour for AtomEvents

* Add util actions to Variables (#115)

* Add AddComponentMenu to Variable Instancers

* v3.0.0 🐉

* Fix typo

* WIP

* More WIP

* Update docs + remove ds store

* Fix intro scene

* Use Event Reference in MonoHooks

* Remove white spaces in Variable Instancers

* Add missing meta file for BaseAtoms

* Set default to avoid compiler warnings

* Example WIP

* WIP

* Re add accidently deleted stuff

* FSM pkg + Example WIP

* Align base event reference listener

* WIP FSM

* WIP

* WIP

* Clean up WIP

* More WIP

* WIP

* Fix transition data event reference

* Remove _base in FSM instancer

* WIP

* Fix atomstag bug

* Fix timing issues

* Tweak

* Demo scene wip

* Example WIP + Variable ID

* Finished example scene

* Move sync variable instancer to collection to its own MB

* Remove sync functionality in variable instancers

* Correctly generate comments

* Rearranging scenes

* Rename example scene

* Fix Variable with class type issues

* Docs added

* Move AtomListAttribute to core

* Rename functions correctly

* Added some more docs

* FSM docs

* FSM docs v1

* Add editor folder to FSM pkg

* 🦸‍♂️ v4.0.1

* Fixes to issues in v4.0.1

* 🦹‍♂️ v4.0.2

* Fix typos (#120)

* #122 Add Event Refs for Collections and Lists (#123)

* 💜 v4.1.0

* changed from Multiline to TextArea attribute (#128)

* Added inspector toggle for triggering Changed and ChangedWithHistory on OnEnable (#126)

* Booleans to decide if OnChanged Events are triggered on Variable's OnEnable were added

* Variable's editor was updated to show both booleans

* Docs updated with new variables

* Changelog update

* Change variable visibility to private and add explicit default value

Co-authored-by: Ignacio Ruiz <iruizm@hiberus.com>

* Changes in GetEvent implementation to allow inheritance (#140)

* Removed duplicate check before adding an item to AtomValueList (#145)

* Fix code generation bug (#147)

* Add GetParent / GetValue extenstions for SerializedProperty

* Fixing drawer for generated reference of complex struct type (#155)

* Adding proposals to fix #153

FIx custom reference doesn't appear properly

* Fix #153

Fix custom reference doesn't appear properly

* Fix #153

Fix custom reference doesn't appear properly

Co-authored-by: Bastien Guyl <bguyl@smart-tale.com>

* #131 - Added forceEvent parameter for SetValue function on AtomVariable (#157)

* #132 - Add GetEvent and SetEvent functions to AtomReference (#158)

* Fix bug where usage popup sometimes were hidden

* #160 - Hook up OnFixedUpdate handler

* Debug events by displaying stack traces for events (#159)

* Add stack trace toggled via user prefs

* Add docs regarding preferences

* Rename color getter functions

* Fix minior order of execution bug

* Use GUID + improved styling of detailed stack view

* - Changed the AddStackTrace method to be conditional (from one of your initial suggestions).
- Removed the implicit conversion operator in StackTraceEntry and is instead using ToString explicitly when needed.
- Improved implementation of GetFirstLine
- Simplified Equals implementation of the StackTraceEntry class

* Changelog + assembly fixes

* #164 - Does not work in Unity 2018.3

* 🐝 v4.2.0

* Hacks to get docs generator working

* - Fixed clear button handler for StackTraces
- Fixed and rearranged StackTraces compiler flags

* 🐞v4.2.1

* Make IsUnityAtomsRepo OS agnostic (#168)

* Make Examples path check OS agnostic.

Co-authored-by: jrmacgill <jmacgill@gmail.com>

* Update AtomBaseReferenceDrawer.cs (#174)

* Update AtomBaseReferenceDrawer.cs

* Update AtomBaseReferenceDrawer.cs

* Instancer improvements (#172)

* Added Raise method and default base event for event instancers

* Added default value for Variable when base is null

* Added Event Instancer Raise editor

* Generator creates compilable code with type specific modifications (#169)

* Make Examples path check OS agnostic.

* Examples path check OS agnostic.

* Update Runtime.cs

* Re-generate and patch back in type specific changes

* Add missing UnityEngine using.

* Marked as not sealed

* Support the current value type as a conditional.

* Nested if blocks

* Use next char instead of next linefeed.

* Remove debug lines.

* Keep Atom Base Variable sepecfic code.

* Fix position of endif

* Add Raise for void type

* Add void and FSM specific logic

* Add is numeric conditional

* Add more type specific logic

* Add is Vector to generator.

* Add type specific logic

* Add collider type

* Add color specific logic

* Working on whitespace diffs

* Working on whitespace diffs

* remove unused test assembly

* removed example nested if

* test comment removed after regen

* missing ValueEquals

* missing ValueEquals on colliders

* missing color speciifc code.

* whitesapce cleanup

* whitesapce cleanup

* whitesapce cleanup

* whitesapce cleanup

* whitesapce cleanup

* whitesapce cleanup

* remove temp debug

* Generated events now follows editoconfig. + Inline conditionals now supports white spaces.

Co-authored-by: jrmacgill <jmacgill@gmail.com>
Co-authored-by: Adam Ramberg <adam@mambojambostudios.com>

* Fix Sub FSM Value Set issue (#178)

* Default Value For Changed and ChangedWithHistory (#179)

* Changed now is created even if null

* Added changedwithhistory

* Removed initial implementation

* #179 - Fixes to AtomDrawer + FSM editor

* Added StartCleared to ValueList (#180)

* Added StartCleared to ValueLists

closes #175

* Update BaseAtomValueList.cs

* Made StartCleared Protected

* #180 - Minor style fix

* Creating new atom in current directory improvement (#184)

* small improvement for creating new atoms in inspector window

* fixed getting directory path instead of full file path

* 🧞‍♀️ v4.3.0

* Unity Atoms Input System Integration

This is just a quick demo to suggest to the Unity Atoms team. There 'was' a line on the github that said to contact you... but creating a Pull Request is the more funner way of doing things.

Here we have a YouTube link that explains what these scripts are for. The scene is a bit bare bones since testbed and all that.
https://www.youtube.com/watch?v=q7W8FyTIriQ&feature=youtu.be

* Input System Interpreters and Workflow cemented

No in-game demo this time D:< but I did make a video to explain the workflow, because it beats writing you a 3 page pdf:
https://www.youtube.com/watch?v=g7mCpOZpJ4I

Like I say in the video, 2 things I still want to do before final:
1. Create ALL the Interpreters! (Mostly things like support for EyeControls.)
2. Write a few lines of documentation.

2 Interpreters I still need to create are for Double and Quaternion, which will then need accompanying Variables and Events. I was wondering if I should push these separately to the base atoms package.

* Add Double and Quaternion Variables to BaseAtoms

I also put some comments in RegenerateAllAtoms for some clear separation.

* Add InputSystem 1.0.1 as a dependency

Updates the README as well.

* Generator support for nested types

If a type is nested, e.g. class Foo.Bar, the Generator will now correctly resolve to:
public abstract class Foo_BarAction : AtomAction<Foo.Bar>

Dots are replaced with underscores. This way it is certain the resolved type won't conflict with any Microsoft Standard types (their naming conventions forbid it). It is recommended the type name is still changed by the programmer afterwards.
^ in fact, I wanted to make an extra field for this in the generator editor to help with this, but I have not much experience with uielements and the codebase relied heavily on _valueType making it an uphill battle for a later date perhaps.

Note that I had to change GeneratorEditor and RegenerateAllAtoms as well, since these were erasing the changes from the Generator.CreateTemplateVariablesMap method (good one guys, ya got me). You might think I missed capitalizing the templateVariables["VALUE_TYPE_NAME"], but this already happens in that Maps method.

* Remove version defines on assemblies

This is no longer needed now that the InputSystem is a dependency of this package.

* Add the PlayerInput and CallbackContext to RegenerateAllAtoms

With it, all the atoms generated from PlayerInput and CallbackContext have been regenerated as well, so this push may appear bigger than it really is. Only RegenerateAllAtoms.cs has changed significantly.

* Add Double- and QuaternionInterpreter + icons

The icon just felt missing. If you had a different color in mind just send me a file.

* Revert bad stuff

oeps

* - Add docs
- Fixed bug in Stack Trace Entry that was found during testing
- Regenerated all atoms -> added missing editor files
- Reverted changes in Generator since it caused issues.

* Regenerate editor scripts again after adding generator fix

* Added auto generated docs for input system

* Dont use guids as references in asmdef

* More fixes to get input system docs to show on website

* Add input system to table of contents

Co-authored-by: Adam Ramberg <andersson.adam.89@gmail.com>
Co-authored-by: AdamRamberg <adam@mambojambostudios.com>
Co-authored-by: Ignacio Ruiz <ignacio.ruiz.292@gmail.com>
Co-authored-by: Oliver Biwer <soraphis@users.noreply.github.com>
Co-authored-by: IceTrooper <51023959+IceTrooper@users.noreply.github.com>
Co-authored-by: Ice_trooper <trooperice@gmail.com>
Co-authored-by: Low Jiahao <fakegood@users.noreply.github.com>
Co-authored-by: Lucas Ribeiro <ribeiroferreiralucas@gmail.com>
Co-authored-by: Enderlook <enderlook@gmail.com>
Co-authored-by: Ignacio Ruiz <11753209+iruizmar@users.noreply.github.com>
Co-authored-by: Ignacio Ruiz <iruizm@hiberus.com>
Co-authored-by: Moh Narimani <sorencoder@gmail.com>
Co-authored-by: Bastien Guyl <bastien@guyl.me>
Co-authored-by: Bastien Guyl <bguyl@smart-tale.com>
Co-authored-by: jmacgill <jmacgill@google.com>
Co-authored-by: jrmacgill <jmacgill@gmail.com>
Co-authored-by: Gustavo Guimaraes <gustavo.ceci95@gmail.com>
Co-authored-by: Michael Liu <Michael.Liu0@Gmail.com>
2020-12-21 00:24:12 +01:00

20 KiB

id title hide_title sidebar_label
unityatoms.baseatoms.editor UnityAtoms.BaseAtoms.Editor true UnityAtoms.BaseAtoms.Editor

Namespace - UnityAtoms.BaseAtoms.Editor

Collider2DEventInstancerEditor

Event property drawer of type Collider2D. Inherits from AtomEventInstancerEditor<Collider2D, Collider2DEvent>. Only availble in UNITY_2019_1_OR_NEWER.


Vector2EventInstancerEditor

Event property drawer of type Vector2. Inherits from AtomEventInstancerEditor<Vector2, Vector2Event>. Only availble in UNITY_2019_1_OR_NEWER.


VoidEventInstancerEditor

Event property drawer of type Void. Inherits from AtomEventInstancerEditor<Void, VoidEvent>. Only availble in UNITY_2019_1_OR_NEWER.


Vector3EventInstancerEditor

Event property drawer of type Vector3. Inherits from AtomEventInstancerEditor<Vector3, Vector3Event>. Only availble in UNITY_2019_1_OR_NEWER.


BoolEventInstancerEditor

Event property drawer of type bool. Inherits from AtomEventInstancerEditor<bool, BoolEvent>. Only availble in UNITY_2019_1_OR_NEWER.


AtomBaseVariableEventInstancerEditor

Event property drawer of type AtomBaseVariable. Inherits from AtomEventInstancerEditor<AtomBaseVariable, AtomBaseVariableEvent>. Only availble in UNITY_2019_1_OR_NEWER.


FloatEventInstancerEditor

Event property drawer of type float. Inherits from AtomEventInstancerEditor<float, FloatEvent>. Only availble in UNITY_2019_1_OR_NEWER.


StringEventInstancerEditor

Event property drawer of type string. Inherits from AtomEventInstancerEditor<string, StringEvent>. Only availble in UNITY_2019_1_OR_NEWER.


GameObjectEventInstancerEditor

Event property drawer of type GameObject. Inherits from AtomEventInstancerEditor<GameObject, GameObjectEvent>. Only availble in UNITY_2019_1_OR_NEWER.


IntEventInstancerEditor

Event property drawer of type int. Inherits from AtomEventInstancerEditor<int, IntEvent>. Only availble in UNITY_2019_1_OR_NEWER.


ColliderEventInstancerEditor

Event property drawer of type Collider. Inherits from AtomEventInstancerEditor<Collider, ColliderEvent>. Only availble in UNITY_2019_1_OR_NEWER.


ColorEventInstancerEditor

Event property drawer of type Color. Inherits from AtomEventInstancerEditor<Color, ColorEvent>. Only availble in UNITY_2019_1_OR_NEWER.


StringVariableEditor

Variable Inspector of type string. Inherits from AtomVariableEditor


IntVariableEditor

Variable Inspector of type int. Inherits from AtomVariableEditor


GameObjectVariableEditor

Variable Inspector of type GameObject. Inherits from AtomVariableEditor


ColliderVariableEditor

Variable Inspector of type Collider. Inherits from AtomVariableEditor


BoolVariableEditor

Variable Inspector of type bool. Inherits from AtomVariableEditor


Vector2VariableEditor

Variable Inspector of type Vector2. Inherits from AtomVariableEditor


Collider2DVariableEditor

Variable Inspector of type Collider2D. Inherits from AtomVariableEditor


QuaternionVariableEditor

Variable Inspector of type Quaternion. Inherits from AtomVariableEditor


Vector3VariableEditor

Variable Inspector of type Vector3. Inherits from AtomVariableEditor


DoubleVariableEditor

Variable Inspector of type double. Inherits from AtomVariableEditor


FloatVariableEditor

Variable Inspector of type float. Inherits from AtomVariableEditor


ColorVariableEditor

Variable Inspector of type Color. Inherits from AtomVariableEditor


QuaternionEventEditor

Event property drawer of type Quaternion. Inherits from AtomEventEditor<Quaternion, QuaternionEvent>. Only availble in UNITY_2019_1_OR_NEWER.


BoolEventEditor

Event property drawer of type bool. Inherits from AtomEventEditor<bool, BoolEvent>. Only availble in UNITY_2019_1_OR_NEWER.


ColorPairEventEditor

Event property drawer of type ColorPair. Inherits from AtomEventEditor<ColorPair, ColorPairEvent>. Only availble in UNITY_2019_1_OR_NEWER.


DoublePairEventEditor

Event property drawer of type DoublePair. Inherits from AtomEventEditor<DoublePair, DoublePairEvent>. Only availble in UNITY_2019_1_OR_NEWER.


ColliderEventEditor

Event property drawer of type Collider. Inherits from AtomEventEditor<Collider, ColliderEvent>. Only availble in UNITY_2019_1_OR_NEWER.


IntPairEventEditor

Event property drawer of type IntPair. Inherits from AtomEventEditor<IntPair, IntPairEvent>. Only availble in UNITY_2019_1_OR_NEWER.


ColorEventEditor

Event property drawer of type Color. Inherits from AtomEventEditor<Color, ColorEvent>. Only availble in UNITY_2019_1_OR_NEWER.


Vector2EventEditor

Event property drawer of type Vector2. Inherits from AtomEventEditor<Vector2, Vector2Event>. Only availble in UNITY_2019_1_OR_NEWER.


IntEventEditor

Event property drawer of type int. Inherits from AtomEventEditor<int, IntEvent>. Only availble in UNITY_2019_1_OR_NEWER.


BoolPairEventEditor

Event property drawer of type BoolPair. Inherits from AtomEventEditor<BoolPair, BoolPairEvent>. Only availble in UNITY_2019_1_OR_NEWER.


DoubleEventEditor

Event property drawer of type double. Inherits from AtomEventEditor<double, DoubleEvent>. Only availble in UNITY_2019_1_OR_NEWER.


Collider2DEventEditor

Event property drawer of type Collider2D. Inherits from AtomEventEditor<Collider2D, Collider2DEvent>. Only availble in UNITY_2019_1_OR_NEWER.


FloatPairEventEditor

Event property drawer of type FloatPair. Inherits from AtomEventEditor<FloatPair, FloatPairEvent>. Only availble in UNITY_2019_1_OR_NEWER.


Vector2PairEventEditor

Event property drawer of type Vector2Pair. Inherits from AtomEventEditor<Vector2Pair, Vector2PairEvent>. Only availble in UNITY_2019_1_OR_NEWER.


QuaternionPairEventEditor

Event property drawer of type QuaternionPair. Inherits from AtomEventEditor<QuaternionPair, QuaternionPairEvent>. Only availble in UNITY_2019_1_OR_NEWER.


Collider2DPairEventEditor

Event property drawer of type Collider2DPair. Inherits from AtomEventEditor<Collider2DPair, Collider2DPairEvent>. Only availble in UNITY_2019_1_OR_NEWER.


VoidEventEditor

Event property drawer of type Void. Inherits from AtomEventEditor<Void, VoidEvent>. Only availble in UNITY_2019_1_OR_NEWER.


AtomBaseVariableEventEditor

Event property drawer of type AtomBaseVariable. Inherits from AtomEventEditor<AtomBaseVariable, AtomBaseVariableEvent>. Only availble in UNITY_2019_1_OR_NEWER.


Vector3PairEventEditor

Event property drawer of type Vector3Pair. Inherits from AtomEventEditor<Vector3Pair, Vector3PairEvent>. Only availble in UNITY_2019_1_OR_NEWER.


FloatEventEditor

Event property drawer of type float. Inherits from AtomEventEditor<float, FloatEvent>. Only availble in UNITY_2019_1_OR_NEWER.


StringEventEditor

Event property drawer of type string. Inherits from AtomEventEditor<string, StringEvent>. Only availble in UNITY_2019_1_OR_NEWER.


GameObjectPairEventEditor

Event property drawer of type GameObjectPair. Inherits from AtomEventEditor<GameObjectPair, GameObjectPairEvent>. Only availble in UNITY_2019_1_OR_NEWER.


GameObjectEventEditor

Event property drawer of type GameObject. Inherits from AtomEventEditor<GameObject, GameObjectEvent>. Only availble in UNITY_2019_1_OR_NEWER.


ColliderPairEventEditor

Event property drawer of type ColliderPair. Inherits from AtomEventEditor<ColliderPair, ColliderPairEvent>. Only availble in UNITY_2019_1_OR_NEWER.


Vector3EventEditor

Event property drawer of type Vector3. Inherits from AtomEventEditor<Vector3, Vector3Event>. Only availble in UNITY_2019_1_OR_NEWER.


StringPairEventEditor

Event property drawer of type StringPair. Inherits from AtomEventEditor<StringPair, StringPairEvent>. Only availble in UNITY_2019_1_OR_NEWER.


AtomBaseVariableBaseEventReferenceDrawer

A custom property drawer for AtomBaseVariable BaseEventReferences. Makes it possible to choose between an Event, Event Instancer, Collection Added, Collection Removed, List Added, List Removed, Collection Instancer Added, Collection Instancer Removed, List Instancer Added or List Instancer Removed.


VoidBaseEventReferenceDrawer

A custom property drawer for Void BaseEventReferences. Makes it possible to choose between an Event, Event Instancer, Collection Cleared, List Cleared, Collection Instancer Cleared or List Instancer Cleared.


Collider2DConstantDrawer

Constant property drawer of type Collider2D. Inherits from AtomDrawer<Collider2DConstant>. Only availble in UNITY_2019_1_OR_NEWER.


Vector2ConstantDrawer

Constant property drawer of type Vector2. Inherits from AtomDrawer<Vector2Constant>. Only availble in UNITY_2019_1_OR_NEWER.


QuaternionConstantDrawer

Constant property drawer of type Quaternion. Inherits from AtomDrawer<QuaternionConstant>. Only availble in UNITY_2019_1_OR_NEWER.


FloatConstantDrawer

Constant property drawer of type float. Inherits from AtomDrawer<FloatConstant>. Only availble in UNITY_2019_1_OR_NEWER.


DoubleConstantDrawer

Constant property drawer of type double. Inherits from AtomDrawer<DoubleConstant>. Only availble in UNITY_2019_1_OR_NEWER.


Vector3ConstantDrawer

Constant property drawer of type Vector3. Inherits from AtomDrawer<Vector3Constant>. Only availble in UNITY_2019_1_OR_NEWER.


ColorConstantDrawer

Constant property drawer of type Color. Inherits from AtomDrawer<ColorConstant>. Only availble in UNITY_2019_1_OR_NEWER.


StringConstantDrawer

Constant property drawer of type string. Inherits from AtomDrawer<StringConstant>. Only availble in UNITY_2019_1_OR_NEWER.


IntConstantDrawer

Constant property drawer of type int. Inherits from AtomDrawer<IntConstant>. Only availble in UNITY_2019_1_OR_NEWER.


GameObjectConstantDrawer

Constant property drawer of type GameObject. Inherits from AtomDrawer<GameObjectConstant>. Only availble in UNITY_2019_1_OR_NEWER.


ColliderConstantDrawer

Constant property drawer of type Collider. Inherits from AtomDrawer<ColliderConstant>. Only availble in UNITY_2019_1_OR_NEWER.


BoolConstantDrawer

Constant property drawer of type bool. Inherits from AtomDrawer<BoolConstant>. Only availble in UNITY_2019_1_OR_NEWER.


ColorVariableDrawer

Variable property drawer of type Color. Inherits from AtomDrawer<ColorVariable>. Only availble in UNITY_2019_1_OR_NEWER.


Vector3VariableDrawer

Variable property drawer of type Vector3. Inherits from AtomDrawer<Vector3Variable>. Only availble in UNITY_2019_1_OR_NEWER.


DoubleVariableDrawer

Variable property drawer of type double. Inherits from AtomDrawer<DoubleVariable>. Only availble in UNITY_2019_1_OR_NEWER.


FloatVariableDrawer

Variable property drawer of type float. Inherits from AtomDrawer<FloatVariable>. Only availble in UNITY_2019_1_OR_NEWER.


QuaternionVariableDrawer

Variable property drawer of type Quaternion. Inherits from AtomDrawer<QuaternionVariable>. Only availble in UNITY_2019_1_OR_NEWER.


Vector2VariableDrawer

Variable property drawer of type Vector2. Inherits from AtomDrawer<Vector2Variable>. Only availble in UNITY_2019_1_OR_NEWER.


Collider2DVariableDrawer

Variable property drawer of type Collider2D. Inherits from AtomDrawer<Collider2DVariable>. Only availble in UNITY_2019_1_OR_NEWER.


GameObjectVariableDrawer

Variable property drawer of type GameObject. Inherits from AtomDrawer<GameObjectVariable>. Only availble in UNITY_2019_1_OR_NEWER.


BoolVariableDrawer

Variable property drawer of type bool. Inherits from AtomDrawer<BoolVariable>. Only availble in UNITY_2019_1_OR_NEWER.


ColliderVariableDrawer

Variable property drawer of type Collider. Inherits from AtomDrawer<ColliderVariable>. Only availble in UNITY_2019_1_OR_NEWER.


IntVariableDrawer

Variable property drawer of type int. Inherits from AtomDrawer<IntVariable>. Only availble in UNITY_2019_1_OR_NEWER.


StringVariableDrawer

Variable property drawer of type string. Inherits from AtomDrawer<StringVariable>. Only availble in UNITY_2019_1_OR_NEWER.


StringPairEventDrawer

Event property drawer of type StringPair. Inherits from AtomDrawer<StringPairEvent>. Only availble in UNITY_2019_1_OR_NEWER.


Vector3EventDrawer

Event property drawer of type Vector3. Inherits from AtomDrawer<Vector3Event>. Only availble in UNITY_2019_1_OR_NEWER.


FloatEventDrawer

Event property drawer of type float. Inherits from AtomDrawer<FloatEvent>. Only availble in UNITY_2019_1_OR_NEWER.


Vector3PairEventDrawer

Event property drawer of type Vector3Pair. Inherits from AtomDrawer<Vector3PairEvent>. Only availble in UNITY_2019_1_OR_NEWER.


GameObjectEventDrawer

Event property drawer of type GameObject. Inherits from AtomDrawer<GameObjectEvent>. Only availble in UNITY_2019_1_OR_NEWER.


ColliderPairEventDrawer

Event property drawer of type ColliderPair. Inherits from AtomDrawer<ColliderPairEvent>. Only availble in UNITY_2019_1_OR_NEWER.


StringEventDrawer

Event property drawer of type string. Inherits from AtomDrawer<StringEvent>. Only availble in UNITY_2019_1_OR_NEWER.


GameObjectPairEventDrawer

Event property drawer of type GameObjectPair. Inherits from AtomDrawer<GameObjectPairEvent>. Only availble in UNITY_2019_1_OR_NEWER.


AtomBaseVariableEventDrawer

Event property drawer of type AtomBaseVariable. Inherits from AtomDrawer<AtomBaseVariableEvent>. Only availble in UNITY_2019_1_OR_NEWER.


Vector2PairEventDrawer

Event property drawer of type Vector2Pair. Inherits from AtomDrawer<Vector2PairEvent>. Only availble in UNITY_2019_1_OR_NEWER.


QuaternionPairEventDrawer

Event property drawer of type QuaternionPair. Inherits from AtomDrawer<QuaternionPairEvent>. Only availble in UNITY_2019_1_OR_NEWER.


Collider2DPairEventDrawer

Event property drawer of type Collider2DPair. Inherits from AtomDrawer<Collider2DPairEvent>. Only availble in UNITY_2019_1_OR_NEWER.


VoidEventDrawer

Event property drawer of type Void. Inherits from AtomDrawer<VoidEvent>. Only availble in UNITY_2019_1_OR_NEWER.


DoubleEventDrawer

Event property drawer of type double. Inherits from AtomDrawer<DoubleEvent>. Only availble in UNITY_2019_1_OR_NEWER.


Collider2DEventDrawer

Event property drawer of type Collider2D. Inherits from AtomDrawer<Collider2DEvent>. Only availble in UNITY_2019_1_OR_NEWER.


FloatPairEventDrawer

Event property drawer of type FloatPair. Inherits from AtomDrawer<FloatPairEvent>. Only availble in UNITY_2019_1_OR_NEWER.


IntEventDrawer

Event property drawer of type int. Inherits from AtomDrawer<IntEvent>. Only availble in UNITY_2019_1_OR_NEWER.


BoolPairEventDrawer

Event property drawer of type BoolPair. Inherits from AtomDrawer<BoolPairEvent>. Only availble in UNITY_2019_1_OR_NEWER.


DoublePairEventDrawer

Event property drawer of type DoublePair. Inherits from AtomDrawer<DoublePairEvent>. Only availble in UNITY_2019_1_OR_NEWER.


ColliderEventDrawer

Event property drawer of type Collider. Inherits from AtomDrawer<ColliderEvent>. Only availble in UNITY_2019_1_OR_NEWER.


Vector2EventDrawer

Event property drawer of type Vector2. Inherits from AtomDrawer<Vector2Event>. Only availble in UNITY_2019_1_OR_NEWER.


IntPairEventDrawer

Event property drawer of type IntPair. Inherits from AtomDrawer<IntPairEvent>. Only availble in UNITY_2019_1_OR_NEWER.


ColorEventDrawer

Event property drawer of type Color. Inherits from AtomDrawer<ColorEvent>. Only availble in UNITY_2019_1_OR_NEWER.


BoolEventDrawer

Event property drawer of type bool. Inherits from AtomDrawer<BoolEvent>. Only availble in UNITY_2019_1_OR_NEWER.


QuaternionEventDrawer

Event property drawer of type Quaternion. Inherits from AtomDrawer<QuaternionEvent>. Only availble in UNITY_2019_1_OR_NEWER.


ColorPairEventDrawer

Event property drawer of type ColorPair. Inherits from AtomDrawer<ColorPairEvent>. Only availble in UNITY_2019_1_OR_NEWER.


AtomListReferenceDrawer

A custom property drawer for AtomListReference. Makes it possible to choose between a List or a List Instancer.


StringReferenceAtomBaseVariableDictionaryDrawer

SerializableDictionary property drawer for type <StringReference, AtomBaseVariable>. Inherits from SerializableDictionaryDrawer<StringReference, AtomBaseVariable, StringReferenceAtomBaseVariableDictionary>. Only availble in UNITY_2019_1_OR_NEWER.


AtomCollectionReferenceDrawer

A custom property drawer for AtomCollectionReference. Makes it possible to choose between a Collection or a Collection Instancer.


SerializableDictionaryDrawer3`

A custom property drawer for SerializableDictionary.


AtomListDrawer

A custom property drawer for AtomBaseVariableList.


FloatValueListDrawer

Value List property drawer of type float. Inherits from AtomDrawer<FloatValueList>. Only availble in UNITY_2019_1_OR_NEWER.


BoolValueListDrawer

Value List property drawer of type bool. Inherits from AtomDrawer<BoolValueList>. Only availble in UNITY_2019_1_OR_NEWER.


DoubleValueListDrawer

Value List property drawer of type double. Inherits from AtomDrawer<DoubleValueList>. Only availble in UNITY_2019_1_OR_NEWER.


IntValueListDrawer

Value List property drawer of type int. Inherits from AtomDrawer<IntValueList>. Only availble in UNITY_2019_1_OR_NEWER.


ColorValueListDrawer

Value List property drawer of type Color. Inherits from AtomDrawer<ColorValueList>. Only availble in UNITY_2019_1_OR_NEWER.


StringValueListDrawer

Value List property drawer of type string. Inherits from AtomDrawer<StringValueList>. Only availble in UNITY_2019_1_OR_NEWER.


Vector3ValueListDrawer

Value List property drawer of type Vector3. Inherits from AtomDrawer<Vector3ValueList>. Only availble in UNITY_2019_1_OR_NEWER.


GameObjectValueListDrawer

Value List property drawer of type GameObject. Inherits from AtomDrawer<GameObjectValueList>. Only availble in UNITY_2019_1_OR_NEWER.


ColliderValueListDrawer

Value List property drawer of type Collider. Inherits from AtomDrawer<ColliderValueList>. Only availble in UNITY_2019_1_OR_NEWER.


Vector2ValueListDrawer

Value List property drawer of type Vector2. Inherits from AtomDrawer<Vector2ValueList>. Only availble in UNITY_2019_1_OR_NEWER.


QuaternionValueListDrawer

Value List property drawer of type Quaternion. Inherits from AtomDrawer<QuaternionValueList>. Only availble in UNITY_2019_1_OR_NEWER.


Collider2DValueListDrawer

Value List property drawer of type Collider2D. Inherits from AtomDrawer<Collider2DValueList>. Only availble in UNITY_2019_1_OR_NEWER.


ClampBaseEditor

Base class for a custom editor for Clamp Functions.


ClampFloatEditor

Custom editor for ClampFloat.


ClampIntEditor

Custom editor for ClampInt.