From 9ca9ece812163317ed10fc7eabe216cfa886046d Mon Sep 17 00:00:00 2001 From: Casey Hofland Date: Mon, 21 Dec 2020 00:24:12 +0100 Subject: [PATCH] Unity Atoms Input System Integration (#212) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 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 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 Date: Sun Mar 17 22:09:38 2019 +0100 #17 - Serializable not needed for ScriptableObject commit 593b275e6394b9d589de8a7a20375145dfc4aa84 Author: Adam Ramberg Date: Sun Mar 17 21:59:33 2019 +0100 18 - IGameEvent RegisterListener commit 40443ce9bd4b1c339aaf19cfcb119f2336608dae Author: Adam Ramberg Date: Fri Mar 8 16:35:04 2019 +0100 Remove some more warnings commit bd453110ac51a6ebe3d54368fcb039bdbe52e278 Author: Adam Ramberg Date: Fri Mar 8 16:33:30 2019 +0100 Update README commit 90977b853a047c84efb5311768a09f4e8a1165b2 Author: Adam Ramberg Date: Fri Mar 8 16:31:45 2019 +0100 Initialize to null to get rid off warnings commit 38b7f5c4ede195aa7198f567801c9cbeedc9b6f6 Author: Adam Ramberg Date: Fri Mar 8 16:15:53 2019 +0100 More fixes to enable local unity project commit 404e1cbf88ed4431c61d3ece074e838e74ac5141 Author: Adam Ramberg Date: Fri Mar 8 16:12:37 2019 +0100 Remove duplicated asmdef commit 5734300684e8a16553f213157cad1b4722b7cb7f Author: Adam Ramberg Date: Fri Mar 8 16:09:46 2019 +0100 Change files to include commit d1e42b119a6bc1577b1792459fa298e063652337 Author: Adam Ramberg Date: Fri Mar 8 16:05:56 2019 +0100 Added root package json commit 1709a0347147d74460f653182bbaf8d15eb6154e Author: Adam Ramberg Date: Fri Mar 8 15:30:44 2019 +0100 #16 - Add test and examples Unity project commit a3ea1a133bf6727e011ba85c64569db45302e487 Author: Adam Ramberg Date: Fri Mar 8 13:12:02 2019 +0100 #13 - Make usage of UPM (package manager) commit 492a30e905f6cf3f5899cb7080ef2bda73110f00 Author: Adam Ramberg Date: Fri Mar 8 11:28:56 2019 +0100 Added extensions + code formatting fixes commit 709949a1016c236cfd363cf25392fedfd8d083ca Author: Oliver Biwer 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 Date: Fri Mar 8 10:08:36 2019 +0100 Editor config commit 197d7067608600e4e2d13dc42db909ee8f8c75df Author: Adam Ramberg Date: Fri Mar 8 09:23:12 2019 +0100 Added editor config file commit 53d6adc07bbc2967c12c17227a1c31d9f1cfba77 Author: Oliver Biwer 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 81209d83b5195300d4c2d54411cff3c7983f0d97 Author: Adam Ramberg Date: Wed Dec 12 20:54:17 2018 +0100 Added MonoHooks + ColliderType + bug fixes commit c6b240cebbdc410341fb05204235842df5da9d73 Author: Adam Ramberg Date: Sat Dec 1 00:23:10 2018 +0100 Experimenting with adding UI state management commit dfd70a8944acbeabe5feba1cf6cff2be6802c470 Author: Adam Ramberg Date: Fri Nov 30 23:10:21 2018 +0100 Issue #6 - AtomicTags commit 8907763227f4d4c2a32c5684e7caa4d4a082eb16 Author: Adam Ramberg 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 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 * 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 * 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 * #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 * 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 Co-authored-by: Adam Ramberg * 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 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 Co-authored-by: AdamRamberg Co-authored-by: Ignacio Ruiz Co-authored-by: Oliver Biwer Co-authored-by: IceTrooper <51023959+IceTrooper@users.noreply.github.com> Co-authored-by: Ice_trooper Co-authored-by: Low Jiahao Co-authored-by: Lucas Ribeiro Co-authored-by: Enderlook Co-authored-by: Ignacio Ruiz <11753209+iruizmar@users.noreply.github.com> Co-authored-by: Ignacio Ruiz Co-authored-by: Moh Narimani Co-authored-by: Bastien Guyl Co-authored-by: Bastien Guyl Co-authored-by: jmacgill Co-authored-by: jrmacgill Co-authored-by: Gustavo Guimaraes Co-authored-by: Michael Liu --- .../Drawers/Constants/DoubleConstantDrawer.cs | 13 + .../Constants/DoubleConstantDrawer.cs.meta | 11 + .../Constants/QuaternionConstantDrawer.cs | 13 + .../QuaternionConstantDrawer.cs.meta | 11 + .../Drawers/Events/DoubleEventDrawer.cs | 13 + .../Drawers/Events/DoubleEventDrawer.cs.meta | 11 + .../Drawers/Events/DoublePairEventDrawer.cs | 13 + .../Events/DoublePairEventDrawer.cs.meta | 11 + .../Drawers/Events/QuaternionEventDrawer.cs | 13 + .../Events/QuaternionEventDrawer.cs.meta | 11 + .../Events/QuaternionPairEventDrawer.cs | 13 + .../Events/QuaternionPairEventDrawer.cs.meta | 11 + .../ValueLists/DoubleValueListDrawer.cs | 13 + .../ValueLists/DoubleValueListDrawer.cs.meta | 11 + .../ValueLists/QuaternionValueListDrawer.cs | 13 + .../QuaternionValueListDrawer.cs.meta | 11 + .../Drawers/Variables/DoubleVariableDrawer.cs | 13 + .../Variables/DoubleVariableDrawer.cs.meta | 11 + .../Variables/QuaternionVariableDrawer.cs | 13 + .../QuaternionVariableDrawer.cs.meta | 11 + .../Editors/Events/DoubleEventEditor.cs | 14 + .../Editors/Events/DoubleEventEditor.cs.meta | 11 + .../Editors/Events/DoublePairEventEditor.cs | 14 + .../Events/DoublePairEventEditor.cs.meta | 11 + .../Editors/Events/QuaternionEventEditor.cs | 15 ++ .../Events/QuaternionEventEditor.cs.meta | 11 + .../Events/QuaternionPairEventEditor.cs | 15 ++ .../Events/QuaternionPairEventEditor.cs.meta | 11 + .../Editors/Variables/DoubleVariableEditor.cs | 11 + .../Variables/DoubleVariableEditor.cs.meta | 11 + .../Variables/QuaternionVariableEditor.cs | 12 + .../QuaternionVariableEditor.cs.meta | 11 + .../BaseAtoms/Runtime/Actions/DoubleAction.cs | 8 + .../Runtime/Actions/DoubleAction.cs.meta | 11 + .../Runtime/Actions/DoublePairAction.cs | 8 + .../Runtime/Actions/DoublePairAction.cs.meta | 11 + .../Runtime/Actions/QuaternionAction.cs | 9 + .../Runtime/Actions/QuaternionAction.cs.meta | 11 + .../Runtime/Actions/QuaternionPairAction.cs | 9 + .../Actions/QuaternionPairAction.cs.meta | 11 + .../SetDoubleVariableValue.cs | 22 ++ .../SetDoubleVariableValue.cs.meta | 11 + .../SetQuaternionVariableValue.cs | 22 ++ .../SetQuaternionVariableValue.cs.meta | 11 + .../Runtime/Constants/DoubleConstant.cs | 11 + .../Runtime/Constants/DoubleConstant.cs.meta | 11 + .../Runtime/Constants/QuaternionConstant.cs | 11 + .../Constants/QuaternionConstant.cs.meta | 11 + .../EventInstancers/DoubleEventInstancer.cs | 11 + .../DoubleEventInstancer.cs.meta | 11 + .../DoublePairEventInstancer.cs | 11 + .../DoublePairEventInstancer.cs.meta | 11 + .../QuaternionEventInstancer.cs | 11 + .../QuaternionEventInstancer.cs.meta | 11 + .../QuaternionPairEventInstancer.cs | 11 + .../QuaternionPairEventInstancer.cs.meta | 11 + .../DoubleEventReferenceListener.cs | 16 ++ .../DoubleEventReferenceListener.cs.meta | 11 + .../DoublePairEventReferenceListener.cs | 16 ++ .../DoublePairEventReferenceListener.cs.meta | 11 + .../QuaternionEventReferenceListener.cs | 16 ++ .../QuaternionEventReferenceListener.cs.meta | 11 + .../QuaternionPairEventReferenceListener.cs | 16 ++ ...aternionPairEventReferenceListener.cs.meta | 11 + .../EventReferences/DoubleEventReference.cs | 16 ++ .../DoubleEventReference.cs.meta | 11 + .../DoublePairEventReference.cs | 16 ++ .../DoublePairEventReference.cs.meta | 11 + .../QuaternionEventReference.cs | 17 ++ .../QuaternionEventReference.cs.meta | 11 + .../QuaternionPairEventReference.cs | 17 ++ .../QuaternionPairEventReference.cs.meta | 11 + .../BaseAtoms/Runtime/Events/DoubleEvent.cs | 13 + .../Runtime/Events/DoubleEvent.cs.meta | 11 + .../Runtime/Events/DoublePairEvent.cs | 13 + .../Runtime/Events/DoublePairEvent.cs.meta | 11 + .../Runtime/Events/QuaternionEvent.cs | 13 + .../Runtime/Events/QuaternionEvent.cs.meta | 11 + .../Runtime/Events/QuaternionPairEvent.cs | 13 + .../Events/QuaternionPairEvent.cs.meta | 11 + .../Runtime/Functions/DoubleDoubleFunction.cs | 8 + .../Functions/DoubleDoubleFunction.cs.meta | 11 + .../Functions/QuaternionQuaternionFunction.cs | 9 + .../QuaternionQuaternionFunction.cs.meta | 11 + .../BaseAtoms/Runtime/Pairs/DoublePair.cs | 21 ++ .../Runtime/Pairs/DoublePair.cs.meta | 11 + .../BaseAtoms/Runtime/Pairs/QuaternionPair.cs | 21 ++ .../Runtime/Pairs/QuaternionPair.cs.meta | 11 + .../Runtime/References/DoubleReference.cs | 24 ++ .../References/DoubleReference.cs.meta | 11 + .../Runtime/References/QuaternionReference.cs | 25 ++ .../References/QuaternionReference.cs.meta | 11 + ...SyncDoubleVariableInstancerToCollection.cs | 12 + ...oubleVariableInstancerToCollection.cs.meta | 11 + ...QuaternionVariableInstancerToCollection.cs | 12 + ...rnionVariableInstancerToCollection.cs.meta | 11 + .../UnityEvents/DoublePairUnityEvent.cs | 11 + .../UnityEvents/DoublePairUnityEvent.cs.meta | 11 + .../Runtime/UnityEvents/DoubleUnityEvent.cs | 11 + .../UnityEvents/DoubleUnityEvent.cs.meta | 11 + .../UnityEvents/QuaternionPairUnityEvent.cs | 12 + .../QuaternionPairUnityEvent.cs.meta | 11 + .../UnityEvents/QuaternionUnityEvent.cs | 12 + .../UnityEvents/QuaternionUnityEvent.cs.meta | 11 + .../Runtime/ValueLists/DoubleValueList.cs | 11 + .../ValueLists/DoubleValueList.cs.meta | 11 + .../Runtime/ValueLists/QuaternionValueList.cs | 11 + .../ValueLists/QuaternionValueList.cs.meta | 11 + .../DoubleVariableInstancer.cs | 19 ++ .../DoubleVariableInstancer.cs.meta | 11 + .../QuaternionVariableInstancer.cs | 19 ++ .../QuaternionVariableInstancer.cs.meta | 11 + .../Runtime/Variables/DoubleVariable.cs | 13 + .../Runtime/Variables/DoubleVariable.cs.meta | 11 + .../Runtime/Variables/QuaternionVariable.cs | 13 + .../Variables/QuaternionVariable.cs.meta | 11 + Packages/Core/Editor/Generator/Generator.cs | 2 +- .../Core/Editor/Generator/GeneratorEditor.cs | 2 +- .../Editor/Generator/RegenerateAllAtoms.cs | 59 +++- .../Runtime/StackTrace/StackTraceEntry.cs | 18 +- Packages/InputSystem.meta | 8 + Packages/InputSystem/Editor.meta | 8 + Packages/InputSystem/Editor/Drawers.meta | 8 + .../InputSystem/Editor/Drawers/Events.meta | 8 + .../InputAction_CallbackContextEventDrawer.cs | 13 + ...tAction_CallbackContextEventDrawer.cs.meta | 11 + .../Drawers/Events/PlayerInputEventDrawer.cs | 13 + .../Events/PlayerInputEventDrawer.cs.meta | 11 + Packages/InputSystem/Editor/Editors.meta | 8 + .../InputSystem/Editor/Editors/Events.meta | 8 + .../InputAction_CallbackContextEventEditor.cs | 15 ++ ...tAction_CallbackContextEventEditor.cs.meta | 11 + .../Editors/Events/PlayerInputEventEditor.cs | 15 ++ .../Events/PlayerInputEventEditor.cs.meta | 11 + Packages/InputSystem/Editor/Icons.meta | 8 + .../Editor/Icons/atom-icon-copper.png | Bin 0 -> 3543 bytes .../Editor/Icons/atom-icon-copper.png.meta | 108 ++++++++ ...tudios.UnityAtomsInputSystem.Editor.asmdef | 20 ++ ...s.UnityAtomsInputSystem.Editor.asmdef.meta | 7 + Packages/InputSystem/Runtime.meta | 8 + Packages/InputSystem/Runtime/Actions.meta | 8 + .../InputAction_CallbackContextAction.cs | 9 + .../InputAction_CallbackContextAction.cs.meta | 11 + .../Runtime/Actions/PlayerInputAction.cs | 9 + .../Runtime/Actions/PlayerInputAction.cs.meta | 11 + .../InputSystem/Runtime/EventInstancers.meta | 8 + ...putAction_CallbackContextEventInstancer.cs | 12 + ...tion_CallbackContextEventInstancer.cs.meta | 11 + .../PlayerInputEventInstancer.cs | 12 + .../PlayerInputEventInstancer.cs.meta | 11 + Packages/InputSystem/Runtime/Events.meta | 8 + .../InputAction_CallbackContextEvent.cs | 14 + .../InputAction_CallbackContextEvent.cs.meta | 11 + .../Runtime/Events/PlayerInputEvent.cs | 14 + .../Runtime/Events/PlayerInputEvent.cs.meta | 11 + .../InputSystem/Runtime/Interpreters.meta | 8 + .../CallbackContextInterpreter.cs | 82 ++++++ .../CallbackContextInterpreter.cs.meta | 11 + .../DoubleCallbackContextInterpreter.cs | 10 + .../DoubleCallbackContextInterpreter.cs.meta | 11 + .../FloatCallbackContextInterpreter.cs | 10 + .../FloatCallbackContextInterpreter.cs.meta | 11 + .../IntCallbackContextInterpreter.cs | 10 + .../IntCallbackContextInterpreter.cs.meta | 11 + .../QuaternionCallbackContextInterpreter.cs | 10 + ...aternionCallbackContextInterpreter.cs.meta | 11 + .../Vector2CallbackContextInterpreter.cs | 10 + .../Vector2CallbackContextInterpreter.cs.meta | 11 + .../Vector3CallbackContextInterpreter.cs | 10 + .../Vector3CallbackContextInterpreter.cs.meta | 11 + ...udios.UnityAtomsInputSystem.Runtime.asmdef | 17 ++ ....UnityAtomsInputSystem.Runtime.asmdef.meta | 7 + Packages/InputSystem/Runtime/UnityEvents.meta | 8 + .../InputAction_CallbackContextUnityEvent.cs | 12 + ...utAction_CallbackContextUnityEvent.cs.meta | 11 + .../UnityEvents/PlayerInputUnityEvent.cs | 12 + .../UnityEvents/PlayerInputUnityEvent.cs.meta | 11 + Packages/InputSystem/package.json | 25 ++ Packages/InputSystem/package.json.meta | 7 + README.md | 6 +- docs/README.md | 3 + docs/api/unityatoms.baseatoms.editor.md | 96 +++++++ docs/api/unityatoms.baseatoms.md | 252 ++++++++++++++++++ docs/api/unityatoms.inputsystem.editor.md | 32 +++ docs/api/unityatoms.inputsystem.md | 56 ++++ docs/subpackages/input-system.md | 12 + package.json | 3 +- scripts/generateDocs.js | 2 + website/i18n/en.json | 12 + website/sidebars.json | 3 + 190 files changed, 2780 insertions(+), 13 deletions(-) create mode 100644 Packages/BaseAtoms/Editor/Drawers/Constants/DoubleConstantDrawer.cs create mode 100644 Packages/BaseAtoms/Editor/Drawers/Constants/DoubleConstantDrawer.cs.meta create mode 100644 Packages/BaseAtoms/Editor/Drawers/Constants/QuaternionConstantDrawer.cs create mode 100644 Packages/BaseAtoms/Editor/Drawers/Constants/QuaternionConstantDrawer.cs.meta create mode 100644 Packages/BaseAtoms/Editor/Drawers/Events/DoubleEventDrawer.cs create mode 100644 Packages/BaseAtoms/Editor/Drawers/Events/DoubleEventDrawer.cs.meta create mode 100644 Packages/BaseAtoms/Editor/Drawers/Events/DoublePairEventDrawer.cs create mode 100644 Packages/BaseAtoms/Editor/Drawers/Events/DoublePairEventDrawer.cs.meta create mode 100644 Packages/BaseAtoms/Editor/Drawers/Events/QuaternionEventDrawer.cs create mode 100644 Packages/BaseAtoms/Editor/Drawers/Events/QuaternionEventDrawer.cs.meta create mode 100644 Packages/BaseAtoms/Editor/Drawers/Events/QuaternionPairEventDrawer.cs create mode 100644 Packages/BaseAtoms/Editor/Drawers/Events/QuaternionPairEventDrawer.cs.meta create mode 100644 Packages/BaseAtoms/Editor/Drawers/ValueLists/DoubleValueListDrawer.cs create mode 100644 Packages/BaseAtoms/Editor/Drawers/ValueLists/DoubleValueListDrawer.cs.meta create mode 100644 Packages/BaseAtoms/Editor/Drawers/ValueLists/QuaternionValueListDrawer.cs create mode 100644 Packages/BaseAtoms/Editor/Drawers/ValueLists/QuaternionValueListDrawer.cs.meta create mode 100644 Packages/BaseAtoms/Editor/Drawers/Variables/DoubleVariableDrawer.cs create mode 100644 Packages/BaseAtoms/Editor/Drawers/Variables/DoubleVariableDrawer.cs.meta create mode 100644 Packages/BaseAtoms/Editor/Drawers/Variables/QuaternionVariableDrawer.cs create mode 100644 Packages/BaseAtoms/Editor/Drawers/Variables/QuaternionVariableDrawer.cs.meta create mode 100644 Packages/BaseAtoms/Editor/Editors/Events/DoubleEventEditor.cs create mode 100644 Packages/BaseAtoms/Editor/Editors/Events/DoubleEventEditor.cs.meta create mode 100644 Packages/BaseAtoms/Editor/Editors/Events/DoublePairEventEditor.cs create mode 100644 Packages/BaseAtoms/Editor/Editors/Events/DoublePairEventEditor.cs.meta create mode 100644 Packages/BaseAtoms/Editor/Editors/Events/QuaternionEventEditor.cs create mode 100644 Packages/BaseAtoms/Editor/Editors/Events/QuaternionEventEditor.cs.meta create mode 100644 Packages/BaseAtoms/Editor/Editors/Events/QuaternionPairEventEditor.cs create mode 100644 Packages/BaseAtoms/Editor/Editors/Events/QuaternionPairEventEditor.cs.meta create mode 100644 Packages/BaseAtoms/Editor/Editors/Variables/DoubleVariableEditor.cs create mode 100644 Packages/BaseAtoms/Editor/Editors/Variables/DoubleVariableEditor.cs.meta create mode 100644 Packages/BaseAtoms/Editor/Editors/Variables/QuaternionVariableEditor.cs create mode 100644 Packages/BaseAtoms/Editor/Editors/Variables/QuaternionVariableEditor.cs.meta create mode 100644 Packages/BaseAtoms/Runtime/Actions/DoubleAction.cs create mode 100644 Packages/BaseAtoms/Runtime/Actions/DoubleAction.cs.meta create mode 100644 Packages/BaseAtoms/Runtime/Actions/DoublePairAction.cs create mode 100644 Packages/BaseAtoms/Runtime/Actions/DoublePairAction.cs.meta create mode 100644 Packages/BaseAtoms/Runtime/Actions/QuaternionAction.cs create mode 100644 Packages/BaseAtoms/Runtime/Actions/QuaternionAction.cs.meta create mode 100644 Packages/BaseAtoms/Runtime/Actions/QuaternionPairAction.cs create mode 100644 Packages/BaseAtoms/Runtime/Actions/QuaternionPairAction.cs.meta create mode 100644 Packages/BaseAtoms/Runtime/Actions/SetVariableValue/SetDoubleVariableValue.cs create mode 100644 Packages/BaseAtoms/Runtime/Actions/SetVariableValue/SetDoubleVariableValue.cs.meta create mode 100644 Packages/BaseAtoms/Runtime/Actions/SetVariableValue/SetQuaternionVariableValue.cs create mode 100644 Packages/BaseAtoms/Runtime/Actions/SetVariableValue/SetQuaternionVariableValue.cs.meta create mode 100644 Packages/BaseAtoms/Runtime/Constants/DoubleConstant.cs create mode 100644 Packages/BaseAtoms/Runtime/Constants/DoubleConstant.cs.meta create mode 100644 Packages/BaseAtoms/Runtime/Constants/QuaternionConstant.cs create mode 100644 Packages/BaseAtoms/Runtime/Constants/QuaternionConstant.cs.meta create mode 100644 Packages/BaseAtoms/Runtime/EventInstancers/DoubleEventInstancer.cs create mode 100644 Packages/BaseAtoms/Runtime/EventInstancers/DoubleEventInstancer.cs.meta create mode 100644 Packages/BaseAtoms/Runtime/EventInstancers/DoublePairEventInstancer.cs create mode 100644 Packages/BaseAtoms/Runtime/EventInstancers/DoublePairEventInstancer.cs.meta create mode 100644 Packages/BaseAtoms/Runtime/EventInstancers/QuaternionEventInstancer.cs create mode 100644 Packages/BaseAtoms/Runtime/EventInstancers/QuaternionEventInstancer.cs.meta create mode 100644 Packages/BaseAtoms/Runtime/EventInstancers/QuaternionPairEventInstancer.cs create mode 100644 Packages/BaseAtoms/Runtime/EventInstancers/QuaternionPairEventInstancer.cs.meta create mode 100644 Packages/BaseAtoms/Runtime/EventReferenceListeners/DoubleEventReferenceListener.cs create mode 100644 Packages/BaseAtoms/Runtime/EventReferenceListeners/DoubleEventReferenceListener.cs.meta create mode 100644 Packages/BaseAtoms/Runtime/EventReferenceListeners/DoublePairEventReferenceListener.cs create mode 100644 Packages/BaseAtoms/Runtime/EventReferenceListeners/DoublePairEventReferenceListener.cs.meta create mode 100644 Packages/BaseAtoms/Runtime/EventReferenceListeners/QuaternionEventReferenceListener.cs create mode 100644 Packages/BaseAtoms/Runtime/EventReferenceListeners/QuaternionEventReferenceListener.cs.meta create mode 100644 Packages/BaseAtoms/Runtime/EventReferenceListeners/QuaternionPairEventReferenceListener.cs create mode 100644 Packages/BaseAtoms/Runtime/EventReferenceListeners/QuaternionPairEventReferenceListener.cs.meta create mode 100644 Packages/BaseAtoms/Runtime/EventReferences/DoubleEventReference.cs create mode 100644 Packages/BaseAtoms/Runtime/EventReferences/DoubleEventReference.cs.meta create mode 100644 Packages/BaseAtoms/Runtime/EventReferences/DoublePairEventReference.cs create mode 100644 Packages/BaseAtoms/Runtime/EventReferences/DoublePairEventReference.cs.meta create mode 100644 Packages/BaseAtoms/Runtime/EventReferences/QuaternionEventReference.cs create mode 100644 Packages/BaseAtoms/Runtime/EventReferences/QuaternionEventReference.cs.meta create mode 100644 Packages/BaseAtoms/Runtime/EventReferences/QuaternionPairEventReference.cs create mode 100644 Packages/BaseAtoms/Runtime/EventReferences/QuaternionPairEventReference.cs.meta create mode 100644 Packages/BaseAtoms/Runtime/Events/DoubleEvent.cs create mode 100644 Packages/BaseAtoms/Runtime/Events/DoubleEvent.cs.meta create mode 100644 Packages/BaseAtoms/Runtime/Events/DoublePairEvent.cs create mode 100644 Packages/BaseAtoms/Runtime/Events/DoublePairEvent.cs.meta create mode 100644 Packages/BaseAtoms/Runtime/Events/QuaternionEvent.cs create mode 100644 Packages/BaseAtoms/Runtime/Events/QuaternionEvent.cs.meta create mode 100644 Packages/BaseAtoms/Runtime/Events/QuaternionPairEvent.cs create mode 100644 Packages/BaseAtoms/Runtime/Events/QuaternionPairEvent.cs.meta create mode 100644 Packages/BaseAtoms/Runtime/Functions/DoubleDoubleFunction.cs create mode 100644 Packages/BaseAtoms/Runtime/Functions/DoubleDoubleFunction.cs.meta create mode 100644 Packages/BaseAtoms/Runtime/Functions/QuaternionQuaternionFunction.cs create mode 100644 Packages/BaseAtoms/Runtime/Functions/QuaternionQuaternionFunction.cs.meta create mode 100644 Packages/BaseAtoms/Runtime/Pairs/DoublePair.cs create mode 100644 Packages/BaseAtoms/Runtime/Pairs/DoublePair.cs.meta create mode 100644 Packages/BaseAtoms/Runtime/Pairs/QuaternionPair.cs create mode 100644 Packages/BaseAtoms/Runtime/Pairs/QuaternionPair.cs.meta create mode 100644 Packages/BaseAtoms/Runtime/References/DoubleReference.cs create mode 100644 Packages/BaseAtoms/Runtime/References/DoubleReference.cs.meta create mode 100644 Packages/BaseAtoms/Runtime/References/QuaternionReference.cs create mode 100644 Packages/BaseAtoms/Runtime/References/QuaternionReference.cs.meta create mode 100644 Packages/BaseAtoms/Runtime/SyncVariableInstancerToCollection/SyncDoubleVariableInstancerToCollection.cs create mode 100644 Packages/BaseAtoms/Runtime/SyncVariableInstancerToCollection/SyncDoubleVariableInstancerToCollection.cs.meta create mode 100644 Packages/BaseAtoms/Runtime/SyncVariableInstancerToCollection/SyncQuaternionVariableInstancerToCollection.cs create mode 100644 Packages/BaseAtoms/Runtime/SyncVariableInstancerToCollection/SyncQuaternionVariableInstancerToCollection.cs.meta create mode 100644 Packages/BaseAtoms/Runtime/UnityEvents/DoublePairUnityEvent.cs create mode 100644 Packages/BaseAtoms/Runtime/UnityEvents/DoublePairUnityEvent.cs.meta create mode 100644 Packages/BaseAtoms/Runtime/UnityEvents/DoubleUnityEvent.cs create mode 100644 Packages/BaseAtoms/Runtime/UnityEvents/DoubleUnityEvent.cs.meta create mode 100644 Packages/BaseAtoms/Runtime/UnityEvents/QuaternionPairUnityEvent.cs create mode 100644 Packages/BaseAtoms/Runtime/UnityEvents/QuaternionPairUnityEvent.cs.meta create mode 100644 Packages/BaseAtoms/Runtime/UnityEvents/QuaternionUnityEvent.cs create mode 100644 Packages/BaseAtoms/Runtime/UnityEvents/QuaternionUnityEvent.cs.meta create mode 100644 Packages/BaseAtoms/Runtime/ValueLists/DoubleValueList.cs create mode 100644 Packages/BaseAtoms/Runtime/ValueLists/DoubleValueList.cs.meta create mode 100644 Packages/BaseAtoms/Runtime/ValueLists/QuaternionValueList.cs create mode 100644 Packages/BaseAtoms/Runtime/ValueLists/QuaternionValueList.cs.meta create mode 100644 Packages/BaseAtoms/Runtime/VariableInstancers/DoubleVariableInstancer.cs create mode 100644 Packages/BaseAtoms/Runtime/VariableInstancers/DoubleVariableInstancer.cs.meta create mode 100644 Packages/BaseAtoms/Runtime/VariableInstancers/QuaternionVariableInstancer.cs create mode 100644 Packages/BaseAtoms/Runtime/VariableInstancers/QuaternionVariableInstancer.cs.meta create mode 100644 Packages/BaseAtoms/Runtime/Variables/DoubleVariable.cs create mode 100644 Packages/BaseAtoms/Runtime/Variables/DoubleVariable.cs.meta create mode 100644 Packages/BaseAtoms/Runtime/Variables/QuaternionVariable.cs create mode 100644 Packages/BaseAtoms/Runtime/Variables/QuaternionVariable.cs.meta create mode 100644 Packages/InputSystem.meta create mode 100644 Packages/InputSystem/Editor.meta create mode 100644 Packages/InputSystem/Editor/Drawers.meta create mode 100644 Packages/InputSystem/Editor/Drawers/Events.meta create mode 100644 Packages/InputSystem/Editor/Drawers/Events/InputAction_CallbackContextEventDrawer.cs create mode 100644 Packages/InputSystem/Editor/Drawers/Events/InputAction_CallbackContextEventDrawer.cs.meta create mode 100644 Packages/InputSystem/Editor/Drawers/Events/PlayerInputEventDrawer.cs create mode 100644 Packages/InputSystem/Editor/Drawers/Events/PlayerInputEventDrawer.cs.meta create mode 100644 Packages/InputSystem/Editor/Editors.meta create mode 100644 Packages/InputSystem/Editor/Editors/Events.meta create mode 100644 Packages/InputSystem/Editor/Editors/Events/InputAction_CallbackContextEventEditor.cs create mode 100644 Packages/InputSystem/Editor/Editors/Events/InputAction_CallbackContextEventEditor.cs.meta create mode 100644 Packages/InputSystem/Editor/Editors/Events/PlayerInputEventEditor.cs create mode 100644 Packages/InputSystem/Editor/Editors/Events/PlayerInputEventEditor.cs.meta create mode 100644 Packages/InputSystem/Editor/Icons.meta create mode 100644 Packages/InputSystem/Editor/Icons/atom-icon-copper.png create mode 100644 Packages/InputSystem/Editor/Icons/atom-icon-copper.png.meta create mode 100644 Packages/InputSystem/Editor/MamboJamboStudios.UnityAtomsInputSystem.Editor.asmdef create mode 100644 Packages/InputSystem/Editor/MamboJamboStudios.UnityAtomsInputSystem.Editor.asmdef.meta create mode 100644 Packages/InputSystem/Runtime.meta create mode 100644 Packages/InputSystem/Runtime/Actions.meta create mode 100644 Packages/InputSystem/Runtime/Actions/InputAction_CallbackContextAction.cs create mode 100644 Packages/InputSystem/Runtime/Actions/InputAction_CallbackContextAction.cs.meta create mode 100644 Packages/InputSystem/Runtime/Actions/PlayerInputAction.cs create mode 100644 Packages/InputSystem/Runtime/Actions/PlayerInputAction.cs.meta create mode 100644 Packages/InputSystem/Runtime/EventInstancers.meta create mode 100644 Packages/InputSystem/Runtime/EventInstancers/InputAction_CallbackContextEventInstancer.cs create mode 100644 Packages/InputSystem/Runtime/EventInstancers/InputAction_CallbackContextEventInstancer.cs.meta create mode 100644 Packages/InputSystem/Runtime/EventInstancers/PlayerInputEventInstancer.cs create mode 100644 Packages/InputSystem/Runtime/EventInstancers/PlayerInputEventInstancer.cs.meta create mode 100644 Packages/InputSystem/Runtime/Events.meta create mode 100644 Packages/InputSystem/Runtime/Events/InputAction_CallbackContextEvent.cs create mode 100644 Packages/InputSystem/Runtime/Events/InputAction_CallbackContextEvent.cs.meta create mode 100644 Packages/InputSystem/Runtime/Events/PlayerInputEvent.cs create mode 100644 Packages/InputSystem/Runtime/Events/PlayerInputEvent.cs.meta create mode 100644 Packages/InputSystem/Runtime/Interpreters.meta create mode 100644 Packages/InputSystem/Runtime/Interpreters/CallbackContextInterpreter.cs create mode 100644 Packages/InputSystem/Runtime/Interpreters/CallbackContextInterpreter.cs.meta create mode 100644 Packages/InputSystem/Runtime/Interpreters/DoubleCallbackContextInterpreter.cs create mode 100644 Packages/InputSystem/Runtime/Interpreters/DoubleCallbackContextInterpreter.cs.meta create mode 100644 Packages/InputSystem/Runtime/Interpreters/FloatCallbackContextInterpreter.cs create mode 100644 Packages/InputSystem/Runtime/Interpreters/FloatCallbackContextInterpreter.cs.meta create mode 100644 Packages/InputSystem/Runtime/Interpreters/IntCallbackContextInterpreter.cs create mode 100644 Packages/InputSystem/Runtime/Interpreters/IntCallbackContextInterpreter.cs.meta create mode 100644 Packages/InputSystem/Runtime/Interpreters/QuaternionCallbackContextInterpreter.cs create mode 100644 Packages/InputSystem/Runtime/Interpreters/QuaternionCallbackContextInterpreter.cs.meta create mode 100644 Packages/InputSystem/Runtime/Interpreters/Vector2CallbackContextInterpreter.cs create mode 100644 Packages/InputSystem/Runtime/Interpreters/Vector2CallbackContextInterpreter.cs.meta create mode 100644 Packages/InputSystem/Runtime/Interpreters/Vector3CallbackContextInterpreter.cs create mode 100644 Packages/InputSystem/Runtime/Interpreters/Vector3CallbackContextInterpreter.cs.meta create mode 100644 Packages/InputSystem/Runtime/MamboJamboStudios.UnityAtomsInputSystem.Runtime.asmdef create mode 100644 Packages/InputSystem/Runtime/MamboJamboStudios.UnityAtomsInputSystem.Runtime.asmdef.meta create mode 100644 Packages/InputSystem/Runtime/UnityEvents.meta create mode 100644 Packages/InputSystem/Runtime/UnityEvents/InputAction_CallbackContextUnityEvent.cs create mode 100644 Packages/InputSystem/Runtime/UnityEvents/InputAction_CallbackContextUnityEvent.cs.meta create mode 100644 Packages/InputSystem/Runtime/UnityEvents/PlayerInputUnityEvent.cs create mode 100644 Packages/InputSystem/Runtime/UnityEvents/PlayerInputUnityEvent.cs.meta create mode 100644 Packages/InputSystem/package.json create mode 100644 Packages/InputSystem/package.json.meta create mode 100644 docs/api/unityatoms.inputsystem.editor.md create mode 100644 docs/api/unityatoms.inputsystem.md create mode 100644 docs/subpackages/input-system.md diff --git a/Packages/BaseAtoms/Editor/Drawers/Constants/DoubleConstantDrawer.cs b/Packages/BaseAtoms/Editor/Drawers/Constants/DoubleConstantDrawer.cs new file mode 100644 index 00000000..08916719 --- /dev/null +++ b/Packages/BaseAtoms/Editor/Drawers/Constants/DoubleConstantDrawer.cs @@ -0,0 +1,13 @@ +#if UNITY_2019_1_OR_NEWER +using UnityEditor; +using UnityAtoms.Editor; + +namespace UnityAtoms.BaseAtoms.Editor +{ + /// + /// Constant property drawer of type `double`. Inherits from `AtomDrawer<DoubleConstant>`. Only availble in `UNITY_2019_1_OR_NEWER`. + /// + [CustomPropertyDrawer(typeof(DoubleConstant))] + public class DoubleConstantDrawer : VariableDrawer { } +} +#endif diff --git a/Packages/BaseAtoms/Editor/Drawers/Constants/DoubleConstantDrawer.cs.meta b/Packages/BaseAtoms/Editor/Drawers/Constants/DoubleConstantDrawer.cs.meta new file mode 100644 index 00000000..5c1cf95c --- /dev/null +++ b/Packages/BaseAtoms/Editor/Drawers/Constants/DoubleConstantDrawer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ad777aeb4e320c44ca5c00ff0fbfa304 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Editor/Drawers/Constants/QuaternionConstantDrawer.cs b/Packages/BaseAtoms/Editor/Drawers/Constants/QuaternionConstantDrawer.cs new file mode 100644 index 00000000..b4006a46 --- /dev/null +++ b/Packages/BaseAtoms/Editor/Drawers/Constants/QuaternionConstantDrawer.cs @@ -0,0 +1,13 @@ +#if UNITY_2019_1_OR_NEWER +using UnityEditor; +using UnityAtoms.Editor; + +namespace UnityAtoms.BaseAtoms.Editor +{ + /// + /// Constant property drawer of type `Quaternion`. Inherits from `AtomDrawer<QuaternionConstant>`. Only availble in `UNITY_2019_1_OR_NEWER`. + /// + [CustomPropertyDrawer(typeof(QuaternionConstant))] + public class QuaternionConstantDrawer : VariableDrawer { } +} +#endif diff --git a/Packages/BaseAtoms/Editor/Drawers/Constants/QuaternionConstantDrawer.cs.meta b/Packages/BaseAtoms/Editor/Drawers/Constants/QuaternionConstantDrawer.cs.meta new file mode 100644 index 00000000..af2e55ff --- /dev/null +++ b/Packages/BaseAtoms/Editor/Drawers/Constants/QuaternionConstantDrawer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6fb29be2d8e91394cb672632d74eece7 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Editor/Drawers/Events/DoubleEventDrawer.cs b/Packages/BaseAtoms/Editor/Drawers/Events/DoubleEventDrawer.cs new file mode 100644 index 00000000..06d31083 --- /dev/null +++ b/Packages/BaseAtoms/Editor/Drawers/Events/DoubleEventDrawer.cs @@ -0,0 +1,13 @@ +#if UNITY_2019_1_OR_NEWER +using UnityEditor; +using UnityAtoms.Editor; + +namespace UnityAtoms.BaseAtoms.Editor +{ + /// + /// Event property drawer of type `double`. Inherits from `AtomDrawer<DoubleEvent>`. Only availble in `UNITY_2019_1_OR_NEWER`. + /// + [CustomPropertyDrawer(typeof(DoubleEvent))] + public class DoubleEventDrawer : AtomDrawer { } +} +#endif diff --git a/Packages/BaseAtoms/Editor/Drawers/Events/DoubleEventDrawer.cs.meta b/Packages/BaseAtoms/Editor/Drawers/Events/DoubleEventDrawer.cs.meta new file mode 100644 index 00000000..f15fd3c8 --- /dev/null +++ b/Packages/BaseAtoms/Editor/Drawers/Events/DoubleEventDrawer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5120f6d54f61cd34ba925f0acded564f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Editor/Drawers/Events/DoublePairEventDrawer.cs b/Packages/BaseAtoms/Editor/Drawers/Events/DoublePairEventDrawer.cs new file mode 100644 index 00000000..a216da40 --- /dev/null +++ b/Packages/BaseAtoms/Editor/Drawers/Events/DoublePairEventDrawer.cs @@ -0,0 +1,13 @@ +#if UNITY_2019_1_OR_NEWER +using UnityEditor; +using UnityAtoms.Editor; + +namespace UnityAtoms.BaseAtoms.Editor +{ + /// + /// Event property drawer of type `DoublePair`. Inherits from `AtomDrawer<DoublePairEvent>`. Only availble in `UNITY_2019_1_OR_NEWER`. + /// + [CustomPropertyDrawer(typeof(DoublePairEvent))] + public class DoublePairEventDrawer : AtomDrawer { } +} +#endif diff --git a/Packages/BaseAtoms/Editor/Drawers/Events/DoublePairEventDrawer.cs.meta b/Packages/BaseAtoms/Editor/Drawers/Events/DoublePairEventDrawer.cs.meta new file mode 100644 index 00000000..aa13edab --- /dev/null +++ b/Packages/BaseAtoms/Editor/Drawers/Events/DoublePairEventDrawer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 83260bdf97046e846bd45e5f1a4266e9 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Editor/Drawers/Events/QuaternionEventDrawer.cs b/Packages/BaseAtoms/Editor/Drawers/Events/QuaternionEventDrawer.cs new file mode 100644 index 00000000..e35c73a4 --- /dev/null +++ b/Packages/BaseAtoms/Editor/Drawers/Events/QuaternionEventDrawer.cs @@ -0,0 +1,13 @@ +#if UNITY_2019_1_OR_NEWER +using UnityEditor; +using UnityAtoms.Editor; + +namespace UnityAtoms.BaseAtoms.Editor +{ + /// + /// Event property drawer of type `Quaternion`. Inherits from `AtomDrawer<QuaternionEvent>`. Only availble in `UNITY_2019_1_OR_NEWER`. + /// + [CustomPropertyDrawer(typeof(QuaternionEvent))] + public class QuaternionEventDrawer : AtomDrawer { } +} +#endif diff --git a/Packages/BaseAtoms/Editor/Drawers/Events/QuaternionEventDrawer.cs.meta b/Packages/BaseAtoms/Editor/Drawers/Events/QuaternionEventDrawer.cs.meta new file mode 100644 index 00000000..37acecd3 --- /dev/null +++ b/Packages/BaseAtoms/Editor/Drawers/Events/QuaternionEventDrawer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8e5f14d85ad05164392460017007a9bf +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Editor/Drawers/Events/QuaternionPairEventDrawer.cs b/Packages/BaseAtoms/Editor/Drawers/Events/QuaternionPairEventDrawer.cs new file mode 100644 index 00000000..20a7f1d3 --- /dev/null +++ b/Packages/BaseAtoms/Editor/Drawers/Events/QuaternionPairEventDrawer.cs @@ -0,0 +1,13 @@ +#if UNITY_2019_1_OR_NEWER +using UnityEditor; +using UnityAtoms.Editor; + +namespace UnityAtoms.BaseAtoms.Editor +{ + /// + /// Event property drawer of type `QuaternionPair`. Inherits from `AtomDrawer<QuaternionPairEvent>`. Only availble in `UNITY_2019_1_OR_NEWER`. + /// + [CustomPropertyDrawer(typeof(QuaternionPairEvent))] + public class QuaternionPairEventDrawer : AtomDrawer { } +} +#endif diff --git a/Packages/BaseAtoms/Editor/Drawers/Events/QuaternionPairEventDrawer.cs.meta b/Packages/BaseAtoms/Editor/Drawers/Events/QuaternionPairEventDrawer.cs.meta new file mode 100644 index 00000000..6563d395 --- /dev/null +++ b/Packages/BaseAtoms/Editor/Drawers/Events/QuaternionPairEventDrawer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 108f53b836c5af1469c6aad462f8a9bc +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Editor/Drawers/ValueLists/DoubleValueListDrawer.cs b/Packages/BaseAtoms/Editor/Drawers/ValueLists/DoubleValueListDrawer.cs new file mode 100644 index 00000000..3bb3c8d3 --- /dev/null +++ b/Packages/BaseAtoms/Editor/Drawers/ValueLists/DoubleValueListDrawer.cs @@ -0,0 +1,13 @@ +#if UNITY_2019_1_OR_NEWER +using UnityEditor; +using UnityAtoms.Editor; + +namespace UnityAtoms.BaseAtoms.Editor +{ + /// + /// Value List property drawer of type `double`. Inherits from `AtomDrawer<DoubleValueList>`. Only availble in `UNITY_2019_1_OR_NEWER`. + /// + [CustomPropertyDrawer(typeof(DoubleValueList))] + public class DoubleValueListDrawer : AtomDrawer { } +} +#endif diff --git a/Packages/BaseAtoms/Editor/Drawers/ValueLists/DoubleValueListDrawer.cs.meta b/Packages/BaseAtoms/Editor/Drawers/ValueLists/DoubleValueListDrawer.cs.meta new file mode 100644 index 00000000..b5049f14 --- /dev/null +++ b/Packages/BaseAtoms/Editor/Drawers/ValueLists/DoubleValueListDrawer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8167609a108d5ca46a7691e7504f1a3d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Editor/Drawers/ValueLists/QuaternionValueListDrawer.cs b/Packages/BaseAtoms/Editor/Drawers/ValueLists/QuaternionValueListDrawer.cs new file mode 100644 index 00000000..d4c11fbf --- /dev/null +++ b/Packages/BaseAtoms/Editor/Drawers/ValueLists/QuaternionValueListDrawer.cs @@ -0,0 +1,13 @@ +#if UNITY_2019_1_OR_NEWER +using UnityEditor; +using UnityAtoms.Editor; + +namespace UnityAtoms.BaseAtoms.Editor +{ + /// + /// Value List property drawer of type `Quaternion`. Inherits from `AtomDrawer<QuaternionValueList>`. Only availble in `UNITY_2019_1_OR_NEWER`. + /// + [CustomPropertyDrawer(typeof(QuaternionValueList))] + public class QuaternionValueListDrawer : AtomDrawer { } +} +#endif diff --git a/Packages/BaseAtoms/Editor/Drawers/ValueLists/QuaternionValueListDrawer.cs.meta b/Packages/BaseAtoms/Editor/Drawers/ValueLists/QuaternionValueListDrawer.cs.meta new file mode 100644 index 00000000..251b5ee2 --- /dev/null +++ b/Packages/BaseAtoms/Editor/Drawers/ValueLists/QuaternionValueListDrawer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ccea6a0ac76aac545af01c385951166e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Editor/Drawers/Variables/DoubleVariableDrawer.cs b/Packages/BaseAtoms/Editor/Drawers/Variables/DoubleVariableDrawer.cs new file mode 100644 index 00000000..57eded8d --- /dev/null +++ b/Packages/BaseAtoms/Editor/Drawers/Variables/DoubleVariableDrawer.cs @@ -0,0 +1,13 @@ +#if UNITY_2019_1_OR_NEWER +using UnityEditor; +using UnityAtoms.Editor; + +namespace UnityAtoms.BaseAtoms.Editor +{ + /// + /// Variable property drawer of type `double`. Inherits from `AtomDrawer<DoubleVariable>`. Only availble in `UNITY_2019_1_OR_NEWER`. + /// + [CustomPropertyDrawer(typeof(DoubleVariable))] + public class DoubleVariableDrawer : VariableDrawer { } +} +#endif diff --git a/Packages/BaseAtoms/Editor/Drawers/Variables/DoubleVariableDrawer.cs.meta b/Packages/BaseAtoms/Editor/Drawers/Variables/DoubleVariableDrawer.cs.meta new file mode 100644 index 00000000..d563ff3c --- /dev/null +++ b/Packages/BaseAtoms/Editor/Drawers/Variables/DoubleVariableDrawer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0809bbaf09670754c93404cc2b43e44f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Editor/Drawers/Variables/QuaternionVariableDrawer.cs b/Packages/BaseAtoms/Editor/Drawers/Variables/QuaternionVariableDrawer.cs new file mode 100644 index 00000000..64182351 --- /dev/null +++ b/Packages/BaseAtoms/Editor/Drawers/Variables/QuaternionVariableDrawer.cs @@ -0,0 +1,13 @@ +#if UNITY_2019_1_OR_NEWER +using UnityEditor; +using UnityAtoms.Editor; + +namespace UnityAtoms.BaseAtoms.Editor +{ + /// + /// Variable property drawer of type `Quaternion`. Inherits from `AtomDrawer<QuaternionVariable>`. Only availble in `UNITY_2019_1_OR_NEWER`. + /// + [CustomPropertyDrawer(typeof(QuaternionVariable))] + public class QuaternionVariableDrawer : VariableDrawer { } +} +#endif diff --git a/Packages/BaseAtoms/Editor/Drawers/Variables/QuaternionVariableDrawer.cs.meta b/Packages/BaseAtoms/Editor/Drawers/Variables/QuaternionVariableDrawer.cs.meta new file mode 100644 index 00000000..ac0fd50b --- /dev/null +++ b/Packages/BaseAtoms/Editor/Drawers/Variables/QuaternionVariableDrawer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b7096d15073ecc749be2fdd9fd07eba4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Editor/Editors/Events/DoubleEventEditor.cs b/Packages/BaseAtoms/Editor/Editors/Events/DoubleEventEditor.cs new file mode 100644 index 00000000..2b861a2b --- /dev/null +++ b/Packages/BaseAtoms/Editor/Editors/Events/DoubleEventEditor.cs @@ -0,0 +1,14 @@ +#if UNITY_2019_1_OR_NEWER +using UnityEditor; +using UnityEngine.UIElements; +using UnityAtoms.Editor; + +namespace UnityAtoms.BaseAtoms.Editor +{ + /// + /// Event property drawer of type `double`. Inherits from `AtomEventEditor<double, DoubleEvent>`. Only availble in `UNITY_2019_1_OR_NEWER`. + /// + [CustomEditor(typeof(DoubleEvent))] + public sealed class DoubleEventEditor : AtomEventEditor { } +} +#endif diff --git a/Packages/BaseAtoms/Editor/Editors/Events/DoubleEventEditor.cs.meta b/Packages/BaseAtoms/Editor/Editors/Events/DoubleEventEditor.cs.meta new file mode 100644 index 00000000..742396bf --- /dev/null +++ b/Packages/BaseAtoms/Editor/Editors/Events/DoubleEventEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 94dace2acaa654d49aa60aee71a8c671 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Editor/Editors/Events/DoublePairEventEditor.cs b/Packages/BaseAtoms/Editor/Editors/Events/DoublePairEventEditor.cs new file mode 100644 index 00000000..467669bf --- /dev/null +++ b/Packages/BaseAtoms/Editor/Editors/Events/DoublePairEventEditor.cs @@ -0,0 +1,14 @@ +#if UNITY_2019_1_OR_NEWER +using UnityEditor; +using UnityEngine.UIElements; +using UnityAtoms.Editor; + +namespace UnityAtoms.BaseAtoms.Editor +{ + /// + /// Event property drawer of type `DoublePair`. Inherits from `AtomEventEditor<DoublePair, DoublePairEvent>`. Only availble in `UNITY_2019_1_OR_NEWER`. + /// + [CustomEditor(typeof(DoublePairEvent))] + public sealed class DoublePairEventEditor : AtomEventEditor { } +} +#endif diff --git a/Packages/BaseAtoms/Editor/Editors/Events/DoublePairEventEditor.cs.meta b/Packages/BaseAtoms/Editor/Editors/Events/DoublePairEventEditor.cs.meta new file mode 100644 index 00000000..84d089df --- /dev/null +++ b/Packages/BaseAtoms/Editor/Editors/Events/DoublePairEventEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 377834c85e82bb84d98a0108f9502b09 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Editor/Editors/Events/QuaternionEventEditor.cs b/Packages/BaseAtoms/Editor/Editors/Events/QuaternionEventEditor.cs new file mode 100644 index 00000000..dff35766 --- /dev/null +++ b/Packages/BaseAtoms/Editor/Editors/Events/QuaternionEventEditor.cs @@ -0,0 +1,15 @@ +#if UNITY_2019_1_OR_NEWER +using UnityEditor; +using UnityEngine.UIElements; +using UnityAtoms.Editor; +using UnityEngine; + +namespace UnityAtoms.BaseAtoms.Editor +{ + /// + /// Event property drawer of type `Quaternion`. Inherits from `AtomEventEditor<Quaternion, QuaternionEvent>`. Only availble in `UNITY_2019_1_OR_NEWER`. + /// + [CustomEditor(typeof(QuaternionEvent))] + public sealed class QuaternionEventEditor : AtomEventEditor { } +} +#endif diff --git a/Packages/BaseAtoms/Editor/Editors/Events/QuaternionEventEditor.cs.meta b/Packages/BaseAtoms/Editor/Editors/Events/QuaternionEventEditor.cs.meta new file mode 100644 index 00000000..c098e5ab --- /dev/null +++ b/Packages/BaseAtoms/Editor/Editors/Events/QuaternionEventEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 36c757ec18ec0cf41b4e0342adc9a3ce +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Editor/Editors/Events/QuaternionPairEventEditor.cs b/Packages/BaseAtoms/Editor/Editors/Events/QuaternionPairEventEditor.cs new file mode 100644 index 00000000..9c33827d --- /dev/null +++ b/Packages/BaseAtoms/Editor/Editors/Events/QuaternionPairEventEditor.cs @@ -0,0 +1,15 @@ +#if UNITY_2019_1_OR_NEWER +using UnityEditor; +using UnityEngine.UIElements; +using UnityAtoms.Editor; +using UnityEngine; + +namespace UnityAtoms.BaseAtoms.Editor +{ + /// + /// Event property drawer of type `QuaternionPair`. Inherits from `AtomEventEditor<QuaternionPair, QuaternionPairEvent>`. Only availble in `UNITY_2019_1_OR_NEWER`. + /// + [CustomEditor(typeof(QuaternionPairEvent))] + public sealed class QuaternionPairEventEditor : AtomEventEditor { } +} +#endif diff --git a/Packages/BaseAtoms/Editor/Editors/Events/QuaternionPairEventEditor.cs.meta b/Packages/BaseAtoms/Editor/Editors/Events/QuaternionPairEventEditor.cs.meta new file mode 100644 index 00000000..3d1d24b9 --- /dev/null +++ b/Packages/BaseAtoms/Editor/Editors/Events/QuaternionPairEventEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 670a3a502f35e3e4398490fb6a858a9d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Editor/Editors/Variables/DoubleVariableEditor.cs b/Packages/BaseAtoms/Editor/Editors/Variables/DoubleVariableEditor.cs new file mode 100644 index 00000000..592d2576 --- /dev/null +++ b/Packages/BaseAtoms/Editor/Editors/Variables/DoubleVariableEditor.cs @@ -0,0 +1,11 @@ +using UnityEditor; +using UnityAtoms.Editor; + +namespace UnityAtoms.BaseAtoms.Editor +{ + /// + /// Variable Inspector of type `double`. Inherits from `AtomVariableEditor` + /// + [CustomEditor(typeof(DoubleVariable))] + public sealed class DoubleVariableEditor : AtomVariableEditor { } +} diff --git a/Packages/BaseAtoms/Editor/Editors/Variables/DoubleVariableEditor.cs.meta b/Packages/BaseAtoms/Editor/Editors/Variables/DoubleVariableEditor.cs.meta new file mode 100644 index 00000000..683b4e3d --- /dev/null +++ b/Packages/BaseAtoms/Editor/Editors/Variables/DoubleVariableEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6f6f52f09f0b774489c81b33c1d51838 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Editor/Editors/Variables/QuaternionVariableEditor.cs b/Packages/BaseAtoms/Editor/Editors/Variables/QuaternionVariableEditor.cs new file mode 100644 index 00000000..2dcaf92b --- /dev/null +++ b/Packages/BaseAtoms/Editor/Editors/Variables/QuaternionVariableEditor.cs @@ -0,0 +1,12 @@ +using UnityEditor; +using UnityAtoms.Editor; +using UnityEngine; + +namespace UnityAtoms.BaseAtoms.Editor +{ + /// + /// Variable Inspector of type `Quaternion`. Inherits from `AtomVariableEditor` + /// + [CustomEditor(typeof(QuaternionVariable))] + public sealed class QuaternionVariableEditor : AtomVariableEditor { } +} diff --git a/Packages/BaseAtoms/Editor/Editors/Variables/QuaternionVariableEditor.cs.meta b/Packages/BaseAtoms/Editor/Editors/Variables/QuaternionVariableEditor.cs.meta new file mode 100644 index 00000000..285e2ed9 --- /dev/null +++ b/Packages/BaseAtoms/Editor/Editors/Variables/QuaternionVariableEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d278abda5cefc7f4b8e354f5c90f6d59 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Runtime/Actions/DoubleAction.cs b/Packages/BaseAtoms/Runtime/Actions/DoubleAction.cs new file mode 100644 index 00000000..b4a967ed --- /dev/null +++ b/Packages/BaseAtoms/Runtime/Actions/DoubleAction.cs @@ -0,0 +1,8 @@ +namespace UnityAtoms.BaseAtoms +{ + /// + /// Action of type `double`. Inherits from `AtomAction<double>`. + /// + [EditorIcon("atom-icon-purple")] + public abstract class DoubleAction : AtomAction { } +} diff --git a/Packages/BaseAtoms/Runtime/Actions/DoubleAction.cs.meta b/Packages/BaseAtoms/Runtime/Actions/DoubleAction.cs.meta new file mode 100644 index 00000000..4716fb18 --- /dev/null +++ b/Packages/BaseAtoms/Runtime/Actions/DoubleAction.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: fe564fbf1cf586a4c9d21b9bf2e944a5 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 691a47ae9831344ce823cde932633810, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Runtime/Actions/DoublePairAction.cs b/Packages/BaseAtoms/Runtime/Actions/DoublePairAction.cs new file mode 100644 index 00000000..54ed49b7 --- /dev/null +++ b/Packages/BaseAtoms/Runtime/Actions/DoublePairAction.cs @@ -0,0 +1,8 @@ +namespace UnityAtoms.BaseAtoms +{ + /// + /// Action of type `DoublePair`. Inherits from `AtomAction<DoublePair>`. + /// + [EditorIcon("atom-icon-purple")] + public abstract class DoublePairAction : AtomAction { } +} diff --git a/Packages/BaseAtoms/Runtime/Actions/DoublePairAction.cs.meta b/Packages/BaseAtoms/Runtime/Actions/DoublePairAction.cs.meta new file mode 100644 index 00000000..223c4a47 --- /dev/null +++ b/Packages/BaseAtoms/Runtime/Actions/DoublePairAction.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 7230c176b02642a43a2ceefbf8bd6a1c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 691a47ae9831344ce823cde932633810, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Runtime/Actions/QuaternionAction.cs b/Packages/BaseAtoms/Runtime/Actions/QuaternionAction.cs new file mode 100644 index 00000000..61a62329 --- /dev/null +++ b/Packages/BaseAtoms/Runtime/Actions/QuaternionAction.cs @@ -0,0 +1,9 @@ +using UnityEngine; +namespace UnityAtoms.BaseAtoms +{ + /// + /// Action of type `Quaternion`. Inherits from `AtomAction<Quaternion>`. + /// + [EditorIcon("atom-icon-purple")] + public abstract class QuaternionAction : AtomAction { } +} diff --git a/Packages/BaseAtoms/Runtime/Actions/QuaternionAction.cs.meta b/Packages/BaseAtoms/Runtime/Actions/QuaternionAction.cs.meta new file mode 100644 index 00000000..2486b665 --- /dev/null +++ b/Packages/BaseAtoms/Runtime/Actions/QuaternionAction.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6b2a67403c6a40949b57d726067dc013 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 691a47ae9831344ce823cde932633810, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Runtime/Actions/QuaternionPairAction.cs b/Packages/BaseAtoms/Runtime/Actions/QuaternionPairAction.cs new file mode 100644 index 00000000..f5b653bc --- /dev/null +++ b/Packages/BaseAtoms/Runtime/Actions/QuaternionPairAction.cs @@ -0,0 +1,9 @@ +using UnityEngine; +namespace UnityAtoms.BaseAtoms +{ + /// + /// Action of type `QuaternionPair`. Inherits from `AtomAction<QuaternionPair>`. + /// + [EditorIcon("atom-icon-purple")] + public abstract class QuaternionPairAction : AtomAction { } +} diff --git a/Packages/BaseAtoms/Runtime/Actions/QuaternionPairAction.cs.meta b/Packages/BaseAtoms/Runtime/Actions/QuaternionPairAction.cs.meta new file mode 100644 index 00000000..09ab9266 --- /dev/null +++ b/Packages/BaseAtoms/Runtime/Actions/QuaternionPairAction.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b0ad74643519863408e5782e540aabe5 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 691a47ae9831344ce823cde932633810, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Runtime/Actions/SetVariableValue/SetDoubleVariableValue.cs b/Packages/BaseAtoms/Runtime/Actions/SetVariableValue/SetDoubleVariableValue.cs new file mode 100644 index 00000000..d3ee1dd0 --- /dev/null +++ b/Packages/BaseAtoms/Runtime/Actions/SetVariableValue/SetDoubleVariableValue.cs @@ -0,0 +1,22 @@ +using UnityEngine; +using UnityAtoms.BaseAtoms; + +namespace UnityAtoms.BaseAtoms +{ + /// + /// Set variable value Action of type `double`. Inherits from `SetVariableValue<double, DoublePair, DoubleVariable, DoubleConstant, DoubleReference, DoubleEvent, DoublePairEvent, DoubleVariableInstancer>`. + /// + [EditorIcon("atom-icon-purple")] + [CreateAssetMenu(menuName = "Unity Atoms/Actions/Set Variable Value/Double", fileName = "SetDoubleVariableValue")] + public sealed class SetDoubleVariableValue : SetVariableValue< + double, + DoublePair, + DoubleVariable, + DoubleConstant, + DoubleReference, + DoubleEvent, + DoublePairEvent, + DoubleDoubleFunction, + DoubleVariableInstancer> + { } +} diff --git a/Packages/BaseAtoms/Runtime/Actions/SetVariableValue/SetDoubleVariableValue.cs.meta b/Packages/BaseAtoms/Runtime/Actions/SetVariableValue/SetDoubleVariableValue.cs.meta new file mode 100644 index 00000000..eed5ab1b --- /dev/null +++ b/Packages/BaseAtoms/Runtime/Actions/SetVariableValue/SetDoubleVariableValue.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e56419899da909041926c0ec9b33c28e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 691a47ae9831344ce823cde932633810, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Runtime/Actions/SetVariableValue/SetQuaternionVariableValue.cs b/Packages/BaseAtoms/Runtime/Actions/SetVariableValue/SetQuaternionVariableValue.cs new file mode 100644 index 00000000..1c89c9a6 --- /dev/null +++ b/Packages/BaseAtoms/Runtime/Actions/SetVariableValue/SetQuaternionVariableValue.cs @@ -0,0 +1,22 @@ +using UnityAtoms.BaseAtoms; +using UnityEngine; + +namespace UnityAtoms.BaseAtoms +{ + /// + /// Set variable value Action of type `Quaternion`. Inherits from `SetVariableValue<Quaternion, QuaternionPair, QuaternionVariable, QuaternionConstant, QuaternionReference, QuaternionEvent, QuaternionPairEvent, QuaternionVariableInstancer>`. + /// + [EditorIcon("atom-icon-purple")] + [CreateAssetMenu(menuName = "Unity Atoms/Actions/Set Variable Value/Quaternion", fileName = "SetQuaternionVariableValue")] + public sealed class SetQuaternionVariableValue : SetVariableValue< + Quaternion, + QuaternionPair, + QuaternionVariable, + QuaternionConstant, + QuaternionReference, + QuaternionEvent, + QuaternionPairEvent, + QuaternionQuaternionFunction, + QuaternionVariableInstancer> + { } +} diff --git a/Packages/BaseAtoms/Runtime/Actions/SetVariableValue/SetQuaternionVariableValue.cs.meta b/Packages/BaseAtoms/Runtime/Actions/SetVariableValue/SetQuaternionVariableValue.cs.meta new file mode 100644 index 00000000..d7bbe17d --- /dev/null +++ b/Packages/BaseAtoms/Runtime/Actions/SetVariableValue/SetQuaternionVariableValue.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a594215e12cf09741a295bc1b7c87b29 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 691a47ae9831344ce823cde932633810, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Runtime/Constants/DoubleConstant.cs b/Packages/BaseAtoms/Runtime/Constants/DoubleConstant.cs new file mode 100644 index 00000000..f4c0c551 --- /dev/null +++ b/Packages/BaseAtoms/Runtime/Constants/DoubleConstant.cs @@ -0,0 +1,11 @@ +using UnityEngine; + +namespace UnityAtoms.BaseAtoms +{ + /// + /// Constant of type `double`. Inherits from `AtomBaseVariable<double>`. + /// + [EditorIcon("atom-icon-teal")] + [CreateAssetMenu(menuName = "Unity Atoms/Constants/Double", fileName = "DoubleConstant")] + public sealed class DoubleConstant : AtomBaseVariable { } +} diff --git a/Packages/BaseAtoms/Runtime/Constants/DoubleConstant.cs.meta b/Packages/BaseAtoms/Runtime/Constants/DoubleConstant.cs.meta new file mode 100644 index 00000000..0913e93d --- /dev/null +++ b/Packages/BaseAtoms/Runtime/Constants/DoubleConstant.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b7198545b38a0bf44ba013601c8bf067 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 23addc7bff50048fc998a83818d12319, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Runtime/Constants/QuaternionConstant.cs b/Packages/BaseAtoms/Runtime/Constants/QuaternionConstant.cs new file mode 100644 index 00000000..dc2b3816 --- /dev/null +++ b/Packages/BaseAtoms/Runtime/Constants/QuaternionConstant.cs @@ -0,0 +1,11 @@ +using UnityEngine; + +namespace UnityAtoms.BaseAtoms +{ + /// + /// Constant of type `Quaternion`. Inherits from `AtomBaseVariable<Quaternion>`. + /// + [EditorIcon("atom-icon-teal")] + [CreateAssetMenu(menuName = "Unity Atoms/Constants/Quaternion", fileName = "QuaternionConstant")] + public sealed class QuaternionConstant : AtomBaseVariable { } +} diff --git a/Packages/BaseAtoms/Runtime/Constants/QuaternionConstant.cs.meta b/Packages/BaseAtoms/Runtime/Constants/QuaternionConstant.cs.meta new file mode 100644 index 00000000..e9631dcc --- /dev/null +++ b/Packages/BaseAtoms/Runtime/Constants/QuaternionConstant.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b11c5bfbc43d5324fb7456de729a4a06 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 23addc7bff50048fc998a83818d12319, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Runtime/EventInstancers/DoubleEventInstancer.cs b/Packages/BaseAtoms/Runtime/EventInstancers/DoubleEventInstancer.cs new file mode 100644 index 00000000..c5f604f6 --- /dev/null +++ b/Packages/BaseAtoms/Runtime/EventInstancers/DoubleEventInstancer.cs @@ -0,0 +1,11 @@ +using UnityEngine; + +namespace UnityAtoms.BaseAtoms +{ + /// + /// Event Instancer of type `double`. Inherits from `AtomEventInstancer<double, DoubleEvent>`. + /// + [EditorIcon("atom-icon-sign-blue")] + [AddComponentMenu("Unity Atoms/Event Instancers/Double Event Instancer")] + public class DoubleEventInstancer : AtomEventInstancer { } +} diff --git a/Packages/BaseAtoms/Runtime/EventInstancers/DoubleEventInstancer.cs.meta b/Packages/BaseAtoms/Runtime/EventInstancers/DoubleEventInstancer.cs.meta new file mode 100644 index 00000000..bd41b09f --- /dev/null +++ b/Packages/BaseAtoms/Runtime/EventInstancers/DoubleEventInstancer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 954b15a22ea080b468f8bbf20eeee5a8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 8c25ac30c7b7d4e3b90bed61d900d244, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Runtime/EventInstancers/DoublePairEventInstancer.cs b/Packages/BaseAtoms/Runtime/EventInstancers/DoublePairEventInstancer.cs new file mode 100644 index 00000000..b1eb87bf --- /dev/null +++ b/Packages/BaseAtoms/Runtime/EventInstancers/DoublePairEventInstancer.cs @@ -0,0 +1,11 @@ +using UnityEngine; + +namespace UnityAtoms.BaseAtoms +{ + /// + /// Event Instancer of type `DoublePair`. Inherits from `AtomEventInstancer<DoublePair, DoublePairEvent>`. + /// + [EditorIcon("atom-icon-sign-blue")] + [AddComponentMenu("Unity Atoms/Event Instancers/DoublePair Event Instancer")] + public class DoublePairEventInstancer : AtomEventInstancer { } +} diff --git a/Packages/BaseAtoms/Runtime/EventInstancers/DoublePairEventInstancer.cs.meta b/Packages/BaseAtoms/Runtime/EventInstancers/DoublePairEventInstancer.cs.meta new file mode 100644 index 00000000..3c3962ab --- /dev/null +++ b/Packages/BaseAtoms/Runtime/EventInstancers/DoublePairEventInstancer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c7b2eaadc6aeef04d9930d429df7c635 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 8c25ac30c7b7d4e3b90bed61d900d244, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Runtime/EventInstancers/QuaternionEventInstancer.cs b/Packages/BaseAtoms/Runtime/EventInstancers/QuaternionEventInstancer.cs new file mode 100644 index 00000000..c582d7a4 --- /dev/null +++ b/Packages/BaseAtoms/Runtime/EventInstancers/QuaternionEventInstancer.cs @@ -0,0 +1,11 @@ +using UnityEngine; + +namespace UnityAtoms.BaseAtoms +{ + /// + /// Event Instancer of type `Quaternion`. Inherits from `AtomEventInstancer<Quaternion, QuaternionEvent>`. + /// + [EditorIcon("atom-icon-sign-blue")] + [AddComponentMenu("Unity Atoms/Event Instancers/Quaternion Event Instancer")] + public class QuaternionEventInstancer : AtomEventInstancer { } +} diff --git a/Packages/BaseAtoms/Runtime/EventInstancers/QuaternionEventInstancer.cs.meta b/Packages/BaseAtoms/Runtime/EventInstancers/QuaternionEventInstancer.cs.meta new file mode 100644 index 00000000..9b5b792b --- /dev/null +++ b/Packages/BaseAtoms/Runtime/EventInstancers/QuaternionEventInstancer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f362b6e8cddc6e64bb84a76bef421faf +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 8c25ac30c7b7d4e3b90bed61d900d244, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Runtime/EventInstancers/QuaternionPairEventInstancer.cs b/Packages/BaseAtoms/Runtime/EventInstancers/QuaternionPairEventInstancer.cs new file mode 100644 index 00000000..4d8cddc1 --- /dev/null +++ b/Packages/BaseAtoms/Runtime/EventInstancers/QuaternionPairEventInstancer.cs @@ -0,0 +1,11 @@ +using UnityEngine; + +namespace UnityAtoms.BaseAtoms +{ + /// + /// Event Instancer of type `QuaternionPair`. Inherits from `AtomEventInstancer<QuaternionPair, QuaternionPairEvent>`. + /// + [EditorIcon("atom-icon-sign-blue")] + [AddComponentMenu("Unity Atoms/Event Instancers/QuaternionPair Event Instancer")] + public class QuaternionPairEventInstancer : AtomEventInstancer { } +} diff --git a/Packages/BaseAtoms/Runtime/EventInstancers/QuaternionPairEventInstancer.cs.meta b/Packages/BaseAtoms/Runtime/EventInstancers/QuaternionPairEventInstancer.cs.meta new file mode 100644 index 00000000..4d500a04 --- /dev/null +++ b/Packages/BaseAtoms/Runtime/EventInstancers/QuaternionPairEventInstancer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8631f5abce8f3b143a05bb74214b6b92 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 8c25ac30c7b7d4e3b90bed61d900d244, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Runtime/EventReferenceListeners/DoubleEventReferenceListener.cs b/Packages/BaseAtoms/Runtime/EventReferenceListeners/DoubleEventReferenceListener.cs new file mode 100644 index 00000000..a88a2ec9 --- /dev/null +++ b/Packages/BaseAtoms/Runtime/EventReferenceListeners/DoubleEventReferenceListener.cs @@ -0,0 +1,16 @@ +using UnityEngine; + +namespace UnityAtoms.BaseAtoms +{ + /// + /// Event Reference Listener of type `double`. Inherits from `AtomEventReferenceListener<double, DoubleEvent, DoubleEventReference, DoubleUnityEvent>`. + /// + [EditorIcon("atom-icon-orange")] + [AddComponentMenu("Unity Atoms/Listeners/Double Event Reference Listener")] + public sealed class DoubleEventReferenceListener : AtomEventReferenceListener< + double, + DoubleEvent, + DoubleEventReference, + DoubleUnityEvent> + { } +} diff --git a/Packages/BaseAtoms/Runtime/EventReferenceListeners/DoubleEventReferenceListener.cs.meta b/Packages/BaseAtoms/Runtime/EventReferenceListeners/DoubleEventReferenceListener.cs.meta new file mode 100644 index 00000000..fe7506af --- /dev/null +++ b/Packages/BaseAtoms/Runtime/EventReferenceListeners/DoubleEventReferenceListener.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 668db1f29ea523842963cd3f7c885428 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 4aa7b99ae77d84884a0c0c0ce307792f, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Runtime/EventReferenceListeners/DoublePairEventReferenceListener.cs b/Packages/BaseAtoms/Runtime/EventReferenceListeners/DoublePairEventReferenceListener.cs new file mode 100644 index 00000000..4d4a4d38 --- /dev/null +++ b/Packages/BaseAtoms/Runtime/EventReferenceListeners/DoublePairEventReferenceListener.cs @@ -0,0 +1,16 @@ +using UnityEngine; + +namespace UnityAtoms.BaseAtoms +{ + /// + /// Event Reference Listener of type `DoublePair`. Inherits from `AtomEventReferenceListener<DoublePair, DoublePairEvent, DoublePairEventReference, DoublePairUnityEvent>`. + /// + [EditorIcon("atom-icon-orange")] + [AddComponentMenu("Unity Atoms/Listeners/DoublePair Event Reference Listener")] + public sealed class DoublePairEventReferenceListener : AtomEventReferenceListener< + DoublePair, + DoublePairEvent, + DoublePairEventReference, + DoublePairUnityEvent> + { } +} diff --git a/Packages/BaseAtoms/Runtime/EventReferenceListeners/DoublePairEventReferenceListener.cs.meta b/Packages/BaseAtoms/Runtime/EventReferenceListeners/DoublePairEventReferenceListener.cs.meta new file mode 100644 index 00000000..7923d5eb --- /dev/null +++ b/Packages/BaseAtoms/Runtime/EventReferenceListeners/DoublePairEventReferenceListener.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8e96762644abf0b46b43d00c54e2cfd3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 4aa7b99ae77d84884a0c0c0ce307792f, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Runtime/EventReferenceListeners/QuaternionEventReferenceListener.cs b/Packages/BaseAtoms/Runtime/EventReferenceListeners/QuaternionEventReferenceListener.cs new file mode 100644 index 00000000..6d16340a --- /dev/null +++ b/Packages/BaseAtoms/Runtime/EventReferenceListeners/QuaternionEventReferenceListener.cs @@ -0,0 +1,16 @@ +using UnityEngine; + +namespace UnityAtoms.BaseAtoms +{ + /// + /// Event Reference Listener of type `Quaternion`. Inherits from `AtomEventReferenceListener<Quaternion, QuaternionEvent, QuaternionEventReference, QuaternionUnityEvent>`. + /// + [EditorIcon("atom-icon-orange")] + [AddComponentMenu("Unity Atoms/Listeners/Quaternion Event Reference Listener")] + public sealed class QuaternionEventReferenceListener : AtomEventReferenceListener< + Quaternion, + QuaternionEvent, + QuaternionEventReference, + QuaternionUnityEvent> + { } +} diff --git a/Packages/BaseAtoms/Runtime/EventReferenceListeners/QuaternionEventReferenceListener.cs.meta b/Packages/BaseAtoms/Runtime/EventReferenceListeners/QuaternionEventReferenceListener.cs.meta new file mode 100644 index 00000000..2a857d0c --- /dev/null +++ b/Packages/BaseAtoms/Runtime/EventReferenceListeners/QuaternionEventReferenceListener.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 324dbbc335331e94799d034210f01281 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 4aa7b99ae77d84884a0c0c0ce307792f, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Runtime/EventReferenceListeners/QuaternionPairEventReferenceListener.cs b/Packages/BaseAtoms/Runtime/EventReferenceListeners/QuaternionPairEventReferenceListener.cs new file mode 100644 index 00000000..cf283590 --- /dev/null +++ b/Packages/BaseAtoms/Runtime/EventReferenceListeners/QuaternionPairEventReferenceListener.cs @@ -0,0 +1,16 @@ +using UnityEngine; + +namespace UnityAtoms.BaseAtoms +{ + /// + /// Event Reference Listener of type `QuaternionPair`. Inherits from `AtomEventReferenceListener<QuaternionPair, QuaternionPairEvent, QuaternionPairEventReference, QuaternionPairUnityEvent>`. + /// + [EditorIcon("atom-icon-orange")] + [AddComponentMenu("Unity Atoms/Listeners/QuaternionPair Event Reference Listener")] + public sealed class QuaternionPairEventReferenceListener : AtomEventReferenceListener< + QuaternionPair, + QuaternionPairEvent, + QuaternionPairEventReference, + QuaternionPairUnityEvent> + { } +} diff --git a/Packages/BaseAtoms/Runtime/EventReferenceListeners/QuaternionPairEventReferenceListener.cs.meta b/Packages/BaseAtoms/Runtime/EventReferenceListeners/QuaternionPairEventReferenceListener.cs.meta new file mode 100644 index 00000000..aa28677b --- /dev/null +++ b/Packages/BaseAtoms/Runtime/EventReferenceListeners/QuaternionPairEventReferenceListener.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2551c1b6998eb4649bac1da8af4c5961 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 4aa7b99ae77d84884a0c0c0ce307792f, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Runtime/EventReferences/DoubleEventReference.cs b/Packages/BaseAtoms/Runtime/EventReferences/DoubleEventReference.cs new file mode 100644 index 00000000..986f8739 --- /dev/null +++ b/Packages/BaseAtoms/Runtime/EventReferences/DoubleEventReference.cs @@ -0,0 +1,16 @@ +using System; + +namespace UnityAtoms.BaseAtoms +{ + /// + /// Event Reference of type `double`. Inherits from `AtomEventReference<double, DoubleVariable, DoubleEvent, DoubleVariableInstancer, DoubleEventInstancer>`. + /// + [Serializable] + public sealed class DoubleEventReference : AtomEventReference< + double, + DoubleVariable, + DoubleEvent, + DoubleVariableInstancer, + DoubleEventInstancer>, IGetEvent + { } +} diff --git a/Packages/BaseAtoms/Runtime/EventReferences/DoubleEventReference.cs.meta b/Packages/BaseAtoms/Runtime/EventReferences/DoubleEventReference.cs.meta new file mode 100644 index 00000000..f0b5eb5a --- /dev/null +++ b/Packages/BaseAtoms/Runtime/EventReferences/DoubleEventReference.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: fe2d0ce74715ebc4597198d5ee1a19ef +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Runtime/EventReferences/DoublePairEventReference.cs b/Packages/BaseAtoms/Runtime/EventReferences/DoublePairEventReference.cs new file mode 100644 index 00000000..66efb8b3 --- /dev/null +++ b/Packages/BaseAtoms/Runtime/EventReferences/DoublePairEventReference.cs @@ -0,0 +1,16 @@ +using System; + +namespace UnityAtoms.BaseAtoms +{ + /// + /// Event Reference of type `DoublePair`. Inherits from `AtomEventReference<DoublePair, DoubleVariable, DoublePairEvent, DoubleVariableInstancer, DoublePairEventInstancer>`. + /// + [Serializable] + public sealed class DoublePairEventReference : AtomEventReference< + DoublePair, + DoubleVariable, + DoublePairEvent, + DoubleVariableInstancer, + DoublePairEventInstancer>, IGetEvent + { } +} diff --git a/Packages/BaseAtoms/Runtime/EventReferences/DoublePairEventReference.cs.meta b/Packages/BaseAtoms/Runtime/EventReferences/DoublePairEventReference.cs.meta new file mode 100644 index 00000000..11e871c0 --- /dev/null +++ b/Packages/BaseAtoms/Runtime/EventReferences/DoublePairEventReference.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9a9effd23cc6a2e4aa3ca64b8ea9aaed +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Runtime/EventReferences/QuaternionEventReference.cs b/Packages/BaseAtoms/Runtime/EventReferences/QuaternionEventReference.cs new file mode 100644 index 00000000..dcc9e1b4 --- /dev/null +++ b/Packages/BaseAtoms/Runtime/EventReferences/QuaternionEventReference.cs @@ -0,0 +1,17 @@ +using System; +using UnityEngine; + +namespace UnityAtoms.BaseAtoms +{ + /// + /// Event Reference of type `Quaternion`. Inherits from `AtomEventReference<Quaternion, QuaternionVariable, QuaternionEvent, QuaternionVariableInstancer, QuaternionEventInstancer>`. + /// + [Serializable] + public sealed class QuaternionEventReference : AtomEventReference< + Quaternion, + QuaternionVariable, + QuaternionEvent, + QuaternionVariableInstancer, + QuaternionEventInstancer>, IGetEvent + { } +} diff --git a/Packages/BaseAtoms/Runtime/EventReferences/QuaternionEventReference.cs.meta b/Packages/BaseAtoms/Runtime/EventReferences/QuaternionEventReference.cs.meta new file mode 100644 index 00000000..361e263b --- /dev/null +++ b/Packages/BaseAtoms/Runtime/EventReferences/QuaternionEventReference.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 456e1a127fe3b8d42b4a2683622ee7e5 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Runtime/EventReferences/QuaternionPairEventReference.cs b/Packages/BaseAtoms/Runtime/EventReferences/QuaternionPairEventReference.cs new file mode 100644 index 00000000..8e844e23 --- /dev/null +++ b/Packages/BaseAtoms/Runtime/EventReferences/QuaternionPairEventReference.cs @@ -0,0 +1,17 @@ +using System; +using UnityEngine; + +namespace UnityAtoms.BaseAtoms +{ + /// + /// Event Reference of type `QuaternionPair`. Inherits from `AtomEventReference<QuaternionPair, QuaternionVariable, QuaternionPairEvent, QuaternionVariableInstancer, QuaternionPairEventInstancer>`. + /// + [Serializable] + public sealed class QuaternionPairEventReference : AtomEventReference< + QuaternionPair, + QuaternionVariable, + QuaternionPairEvent, + QuaternionVariableInstancer, + QuaternionPairEventInstancer>, IGetEvent + { } +} diff --git a/Packages/BaseAtoms/Runtime/EventReferences/QuaternionPairEventReference.cs.meta b/Packages/BaseAtoms/Runtime/EventReferences/QuaternionPairEventReference.cs.meta new file mode 100644 index 00000000..e648bb9d --- /dev/null +++ b/Packages/BaseAtoms/Runtime/EventReferences/QuaternionPairEventReference.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 7b5fd9ce4e276ea46a83c2d2e2a09863 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Runtime/Events/DoubleEvent.cs b/Packages/BaseAtoms/Runtime/Events/DoubleEvent.cs new file mode 100644 index 00000000..6021dc87 --- /dev/null +++ b/Packages/BaseAtoms/Runtime/Events/DoubleEvent.cs @@ -0,0 +1,13 @@ +using UnityEngine; + +namespace UnityAtoms.BaseAtoms +{ + /// + /// Event of type `double`. Inherits from `AtomEvent<double>`. + /// + [EditorIcon("atom-icon-cherry")] + [CreateAssetMenu(menuName = "Unity Atoms/Events/Double", fileName = "DoubleEvent")] + public sealed class DoubleEvent : AtomEvent + { + } +} diff --git a/Packages/BaseAtoms/Runtime/Events/DoubleEvent.cs.meta b/Packages/BaseAtoms/Runtime/Events/DoubleEvent.cs.meta new file mode 100644 index 00000000..d23c4524 --- /dev/null +++ b/Packages/BaseAtoms/Runtime/Events/DoubleEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 791ec8d94ae57dd4c9c1e3b0d7858cbe +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 333451eee108e4d7db97109b760ff3ce, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Runtime/Events/DoublePairEvent.cs b/Packages/BaseAtoms/Runtime/Events/DoublePairEvent.cs new file mode 100644 index 00000000..e7a26411 --- /dev/null +++ b/Packages/BaseAtoms/Runtime/Events/DoublePairEvent.cs @@ -0,0 +1,13 @@ +using UnityEngine; + +namespace UnityAtoms.BaseAtoms +{ + /// + /// Event of type `DoublePair`. Inherits from `AtomEvent<DoublePair>`. + /// + [EditorIcon("atom-icon-cherry")] + [CreateAssetMenu(menuName = "Unity Atoms/Events/DoublePair", fileName = "DoublePairEvent")] + public sealed class DoublePairEvent : AtomEvent + { + } +} diff --git a/Packages/BaseAtoms/Runtime/Events/DoublePairEvent.cs.meta b/Packages/BaseAtoms/Runtime/Events/DoublePairEvent.cs.meta new file mode 100644 index 00000000..17882f5c --- /dev/null +++ b/Packages/BaseAtoms/Runtime/Events/DoublePairEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3516215de947ef546bb5c2d20074932a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 333451eee108e4d7db97109b760ff3ce, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Runtime/Events/QuaternionEvent.cs b/Packages/BaseAtoms/Runtime/Events/QuaternionEvent.cs new file mode 100644 index 00000000..c096e597 --- /dev/null +++ b/Packages/BaseAtoms/Runtime/Events/QuaternionEvent.cs @@ -0,0 +1,13 @@ +using UnityEngine; + +namespace UnityAtoms.BaseAtoms +{ + /// + /// Event of type `Quaternion`. Inherits from `AtomEvent<Quaternion>`. + /// + [EditorIcon("atom-icon-cherry")] + [CreateAssetMenu(menuName = "Unity Atoms/Events/Quaternion", fileName = "QuaternionEvent")] + public sealed class QuaternionEvent : AtomEvent + { + } +} diff --git a/Packages/BaseAtoms/Runtime/Events/QuaternionEvent.cs.meta b/Packages/BaseAtoms/Runtime/Events/QuaternionEvent.cs.meta new file mode 100644 index 00000000..d75aa0e1 --- /dev/null +++ b/Packages/BaseAtoms/Runtime/Events/QuaternionEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a40770203d8ec7047803212b512dcb7f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 333451eee108e4d7db97109b760ff3ce, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Runtime/Events/QuaternionPairEvent.cs b/Packages/BaseAtoms/Runtime/Events/QuaternionPairEvent.cs new file mode 100644 index 00000000..e8c99339 --- /dev/null +++ b/Packages/BaseAtoms/Runtime/Events/QuaternionPairEvent.cs @@ -0,0 +1,13 @@ +using UnityEngine; + +namespace UnityAtoms.BaseAtoms +{ + /// + /// Event of type `QuaternionPair`. Inherits from `AtomEvent<QuaternionPair>`. + /// + [EditorIcon("atom-icon-cherry")] + [CreateAssetMenu(menuName = "Unity Atoms/Events/QuaternionPair", fileName = "QuaternionPairEvent")] + public sealed class QuaternionPairEvent : AtomEvent + { + } +} diff --git a/Packages/BaseAtoms/Runtime/Events/QuaternionPairEvent.cs.meta b/Packages/BaseAtoms/Runtime/Events/QuaternionPairEvent.cs.meta new file mode 100644 index 00000000..2a197b1b --- /dev/null +++ b/Packages/BaseAtoms/Runtime/Events/QuaternionPairEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 733c5c4250c1b164689bb86721aac503 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 333451eee108e4d7db97109b760ff3ce, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Runtime/Functions/DoubleDoubleFunction.cs b/Packages/BaseAtoms/Runtime/Functions/DoubleDoubleFunction.cs new file mode 100644 index 00000000..f7aae460 --- /dev/null +++ b/Packages/BaseAtoms/Runtime/Functions/DoubleDoubleFunction.cs @@ -0,0 +1,8 @@ +namespace UnityAtoms.BaseAtoms +{ + /// + /// Function x 2 of type `double`. Inherits from `AtomFunction<double, double>`. + /// + [EditorIcon("atom-icon-sand")] + public abstract class DoubleDoubleFunction : AtomFunction { } +} diff --git a/Packages/BaseAtoms/Runtime/Functions/DoubleDoubleFunction.cs.meta b/Packages/BaseAtoms/Runtime/Functions/DoubleDoubleFunction.cs.meta new file mode 100644 index 00000000..f0694d7f --- /dev/null +++ b/Packages/BaseAtoms/Runtime/Functions/DoubleDoubleFunction.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2852ba3c93196ef4ebd1f113b6979aed +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: e2efb28248b7f4ac78cc0df9b2fb600f, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Runtime/Functions/QuaternionQuaternionFunction.cs b/Packages/BaseAtoms/Runtime/Functions/QuaternionQuaternionFunction.cs new file mode 100644 index 00000000..4272a00b --- /dev/null +++ b/Packages/BaseAtoms/Runtime/Functions/QuaternionQuaternionFunction.cs @@ -0,0 +1,9 @@ +using UnityEngine; +namespace UnityAtoms.BaseAtoms +{ + /// + /// Function x 2 of type `Quaternion`. Inherits from `AtomFunction<Quaternion, Quaternion>`. + /// + [EditorIcon("atom-icon-sand")] + public abstract class QuaternionQuaternionFunction : AtomFunction { } +} diff --git a/Packages/BaseAtoms/Runtime/Functions/QuaternionQuaternionFunction.cs.meta b/Packages/BaseAtoms/Runtime/Functions/QuaternionQuaternionFunction.cs.meta new file mode 100644 index 00000000..58edb8ba --- /dev/null +++ b/Packages/BaseAtoms/Runtime/Functions/QuaternionQuaternionFunction.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 857bf3ea521982d4abcbaa573b5d1988 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: e2efb28248b7f4ac78cc0df9b2fb600f, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Runtime/Pairs/DoublePair.cs b/Packages/BaseAtoms/Runtime/Pairs/DoublePair.cs new file mode 100644 index 00000000..cbe4294f --- /dev/null +++ b/Packages/BaseAtoms/Runtime/Pairs/DoublePair.cs @@ -0,0 +1,21 @@ +using System; +using UnityEngine; +namespace UnityAtoms.BaseAtoms +{ + /// + /// IPair of type `<double>`. Inherits from `IPair<double>`. + /// + [Serializable] + public struct DoublePair : IPair + { + public double Item1 { get => _item1; set => _item1 = value; } + public double Item2 { get => _item2; set => _item2 = value; } + + [SerializeField] + private double _item1; + [SerializeField] + private double _item2; + + public void Deconstruct(out double item1, out double item2) { item1 = Item1; item2 = Item2; } + } +} \ No newline at end of file diff --git a/Packages/BaseAtoms/Runtime/Pairs/DoublePair.cs.meta b/Packages/BaseAtoms/Runtime/Pairs/DoublePair.cs.meta new file mode 100644 index 00000000..d418af26 --- /dev/null +++ b/Packages/BaseAtoms/Runtime/Pairs/DoublePair.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b0c570c1db5a6c54499610fdba97daac +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Runtime/Pairs/QuaternionPair.cs b/Packages/BaseAtoms/Runtime/Pairs/QuaternionPair.cs new file mode 100644 index 00000000..0e1717d6 --- /dev/null +++ b/Packages/BaseAtoms/Runtime/Pairs/QuaternionPair.cs @@ -0,0 +1,21 @@ +using System; +using UnityEngine; +namespace UnityAtoms.BaseAtoms +{ + /// + /// IPair of type `<Quaternion>`. Inherits from `IPair<Quaternion>`. + /// + [Serializable] + public struct QuaternionPair : IPair + { + public Quaternion Item1 { get => _item1; set => _item1 = value; } + public Quaternion Item2 { get => _item2; set => _item2 = value; } + + [SerializeField] + private Quaternion _item1; + [SerializeField] + private Quaternion _item2; + + public void Deconstruct(out Quaternion item1, out Quaternion item2) { item1 = Item1; item2 = Item2; } + } +} \ No newline at end of file diff --git a/Packages/BaseAtoms/Runtime/Pairs/QuaternionPair.cs.meta b/Packages/BaseAtoms/Runtime/Pairs/QuaternionPair.cs.meta new file mode 100644 index 00000000..0aa85d39 --- /dev/null +++ b/Packages/BaseAtoms/Runtime/Pairs/QuaternionPair.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: decba2210953e1c42afcfa42e5c73e29 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Runtime/References/DoubleReference.cs b/Packages/BaseAtoms/Runtime/References/DoubleReference.cs new file mode 100644 index 00000000..7478fb83 --- /dev/null +++ b/Packages/BaseAtoms/Runtime/References/DoubleReference.cs @@ -0,0 +1,24 @@ +using System; +using UnityAtoms.BaseAtoms; + +namespace UnityAtoms.BaseAtoms +{ + /// + /// Reference of type `double`. Inherits from `EquatableAtomReference<double, DoublePair, DoubleConstant, DoubleVariable, DoubleEvent, DoublePairEvent, DoubleDoubleFunction, DoubleVariableInstancer, AtomCollection, AtomList>`. + /// + [Serializable] + public sealed class DoubleReference : EquatableAtomReference< + double, + DoublePair, + DoubleConstant, + DoubleVariable, + DoubleEvent, + DoublePairEvent, + DoubleDoubleFunction, + DoubleVariableInstancer>, IEquatable + { + public DoubleReference() : base() { } + public DoubleReference(double value) : base(value) { } + public bool Equals(DoubleReference other) { return base.Equals(other); } + } +} diff --git a/Packages/BaseAtoms/Runtime/References/DoubleReference.cs.meta b/Packages/BaseAtoms/Runtime/References/DoubleReference.cs.meta new file mode 100644 index 00000000..92510a07 --- /dev/null +++ b/Packages/BaseAtoms/Runtime/References/DoubleReference.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 54ce6aa59edbeca4aa9593fb5f66c4da +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Runtime/References/QuaternionReference.cs b/Packages/BaseAtoms/Runtime/References/QuaternionReference.cs new file mode 100644 index 00000000..ec515cdd --- /dev/null +++ b/Packages/BaseAtoms/Runtime/References/QuaternionReference.cs @@ -0,0 +1,25 @@ +using System; +using UnityAtoms.BaseAtoms; +using UnityEngine; + +namespace UnityAtoms.BaseAtoms +{ + /// + /// Reference of type `Quaternion`. Inherits from `EquatableAtomReference<Quaternion, QuaternionPair, QuaternionConstant, QuaternionVariable, QuaternionEvent, QuaternionPairEvent, QuaternionQuaternionFunction, QuaternionVariableInstancer, AtomCollection, AtomList>`. + /// + [Serializable] + public sealed class QuaternionReference : EquatableAtomReference< + Quaternion, + QuaternionPair, + QuaternionConstant, + QuaternionVariable, + QuaternionEvent, + QuaternionPairEvent, + QuaternionQuaternionFunction, + QuaternionVariableInstancer>, IEquatable + { + public QuaternionReference() : base() { } + public QuaternionReference(Quaternion value) : base(value) { } + public bool Equals(QuaternionReference other) { return base.Equals(other); } + } +} diff --git a/Packages/BaseAtoms/Runtime/References/QuaternionReference.cs.meta b/Packages/BaseAtoms/Runtime/References/QuaternionReference.cs.meta new file mode 100644 index 00000000..5f71da41 --- /dev/null +++ b/Packages/BaseAtoms/Runtime/References/QuaternionReference.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9e7b0dde86cbf864d9cd73cc3ed52069 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Runtime/SyncVariableInstancerToCollection/SyncDoubleVariableInstancerToCollection.cs b/Packages/BaseAtoms/Runtime/SyncVariableInstancerToCollection/SyncDoubleVariableInstancerToCollection.cs new file mode 100644 index 00000000..09e8c1d8 --- /dev/null +++ b/Packages/BaseAtoms/Runtime/SyncVariableInstancerToCollection/SyncDoubleVariableInstancerToCollection.cs @@ -0,0 +1,12 @@ +using UnityEngine; +using UnityAtoms.BaseAtoms; + +namespace UnityAtoms.BaseAtoms +{ + /// + /// Adds Variable Instancer's Variable of type double to a Collection or List on OnEnable and removes it on OnDestroy. + /// + [AddComponentMenu("Unity Atoms/Sync Variable Instancer to Collection/Sync Double Variable Instancer to Collection")] + [EditorIcon("atom-icon-delicate")] + public class SyncDoubleVariableInstancerToCollection : SyncVariableInstancerToCollection { } +} diff --git a/Packages/BaseAtoms/Runtime/SyncVariableInstancerToCollection/SyncDoubleVariableInstancerToCollection.cs.meta b/Packages/BaseAtoms/Runtime/SyncVariableInstancerToCollection/SyncDoubleVariableInstancerToCollection.cs.meta new file mode 100644 index 00000000..f1b7a32b --- /dev/null +++ b/Packages/BaseAtoms/Runtime/SyncVariableInstancerToCollection/SyncDoubleVariableInstancerToCollection.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 350682d10ad187440b27b810382436d0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: c3c99b8d76418472cb0261944ff3deb8, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Runtime/SyncVariableInstancerToCollection/SyncQuaternionVariableInstancerToCollection.cs b/Packages/BaseAtoms/Runtime/SyncVariableInstancerToCollection/SyncQuaternionVariableInstancerToCollection.cs new file mode 100644 index 00000000..41f82e19 --- /dev/null +++ b/Packages/BaseAtoms/Runtime/SyncVariableInstancerToCollection/SyncQuaternionVariableInstancerToCollection.cs @@ -0,0 +1,12 @@ +using UnityAtoms.BaseAtoms; +using UnityEngine; + +namespace UnityAtoms.BaseAtoms +{ + /// + /// Adds Variable Instancer's Variable of type Quaternion to a Collection or List on OnEnable and removes it on OnDestroy. + /// + [AddComponentMenu("Unity Atoms/Sync Variable Instancer to Collection/Sync Quaternion Variable Instancer to Collection")] + [EditorIcon("atom-icon-delicate")] + public class SyncQuaternionVariableInstancerToCollection : SyncVariableInstancerToCollection { } +} diff --git a/Packages/BaseAtoms/Runtime/SyncVariableInstancerToCollection/SyncQuaternionVariableInstancerToCollection.cs.meta b/Packages/BaseAtoms/Runtime/SyncVariableInstancerToCollection/SyncQuaternionVariableInstancerToCollection.cs.meta new file mode 100644 index 00000000..626d3a83 --- /dev/null +++ b/Packages/BaseAtoms/Runtime/SyncVariableInstancerToCollection/SyncQuaternionVariableInstancerToCollection.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c7d017545146d51418711b3cbf0c4070 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: c3c99b8d76418472cb0261944ff3deb8, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Runtime/UnityEvents/DoublePairUnityEvent.cs b/Packages/BaseAtoms/Runtime/UnityEvents/DoublePairUnityEvent.cs new file mode 100644 index 00000000..6d50985f --- /dev/null +++ b/Packages/BaseAtoms/Runtime/UnityEvents/DoublePairUnityEvent.cs @@ -0,0 +1,11 @@ +using System; +using UnityEngine.Events; + +namespace UnityAtoms.BaseAtoms +{ + /// + /// None generic Unity Event of type `DoublePair`. Inherits from `UnityEvent<DoublePair>`. + /// + [Serializable] + public sealed class DoublePairUnityEvent : UnityEvent { } +} diff --git a/Packages/BaseAtoms/Runtime/UnityEvents/DoublePairUnityEvent.cs.meta b/Packages/BaseAtoms/Runtime/UnityEvents/DoublePairUnityEvent.cs.meta new file mode 100644 index 00000000..524be076 --- /dev/null +++ b/Packages/BaseAtoms/Runtime/UnityEvents/DoublePairUnityEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 661a8ec8525635c48be06494951cf760 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Runtime/UnityEvents/DoubleUnityEvent.cs b/Packages/BaseAtoms/Runtime/UnityEvents/DoubleUnityEvent.cs new file mode 100644 index 00000000..dd6baef3 --- /dev/null +++ b/Packages/BaseAtoms/Runtime/UnityEvents/DoubleUnityEvent.cs @@ -0,0 +1,11 @@ +using System; +using UnityEngine.Events; + +namespace UnityAtoms.BaseAtoms +{ + /// + /// None generic Unity Event of type `double`. Inherits from `UnityEvent<double>`. + /// + [Serializable] + public sealed class DoubleUnityEvent : UnityEvent { } +} diff --git a/Packages/BaseAtoms/Runtime/UnityEvents/DoubleUnityEvent.cs.meta b/Packages/BaseAtoms/Runtime/UnityEvents/DoubleUnityEvent.cs.meta new file mode 100644 index 00000000..c0cb4a7d --- /dev/null +++ b/Packages/BaseAtoms/Runtime/UnityEvents/DoubleUnityEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2b3971eb5b89c85429f17d93c0384982 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Runtime/UnityEvents/QuaternionPairUnityEvent.cs b/Packages/BaseAtoms/Runtime/UnityEvents/QuaternionPairUnityEvent.cs new file mode 100644 index 00000000..c86f674e --- /dev/null +++ b/Packages/BaseAtoms/Runtime/UnityEvents/QuaternionPairUnityEvent.cs @@ -0,0 +1,12 @@ +using System; +using UnityEngine.Events; +using UnityEngine; + +namespace UnityAtoms.BaseAtoms +{ + /// + /// None generic Unity Event of type `QuaternionPair`. Inherits from `UnityEvent<QuaternionPair>`. + /// + [Serializable] + public sealed class QuaternionPairUnityEvent : UnityEvent { } +} diff --git a/Packages/BaseAtoms/Runtime/UnityEvents/QuaternionPairUnityEvent.cs.meta b/Packages/BaseAtoms/Runtime/UnityEvents/QuaternionPairUnityEvent.cs.meta new file mode 100644 index 00000000..7ca7e753 --- /dev/null +++ b/Packages/BaseAtoms/Runtime/UnityEvents/QuaternionPairUnityEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 63fcd646e8605db449f98e0881c273d2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Runtime/UnityEvents/QuaternionUnityEvent.cs b/Packages/BaseAtoms/Runtime/UnityEvents/QuaternionUnityEvent.cs new file mode 100644 index 00000000..b8345b74 --- /dev/null +++ b/Packages/BaseAtoms/Runtime/UnityEvents/QuaternionUnityEvent.cs @@ -0,0 +1,12 @@ +using System; +using UnityEngine.Events; +using UnityEngine; + +namespace UnityAtoms.BaseAtoms +{ + /// + /// None generic Unity Event of type `Quaternion`. Inherits from `UnityEvent<Quaternion>`. + /// + [Serializable] + public sealed class QuaternionUnityEvent : UnityEvent { } +} diff --git a/Packages/BaseAtoms/Runtime/UnityEvents/QuaternionUnityEvent.cs.meta b/Packages/BaseAtoms/Runtime/UnityEvents/QuaternionUnityEvent.cs.meta new file mode 100644 index 00000000..36adcf90 --- /dev/null +++ b/Packages/BaseAtoms/Runtime/UnityEvents/QuaternionUnityEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ae31bdf00b856ae4e990779db0fd12e1 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Runtime/ValueLists/DoubleValueList.cs b/Packages/BaseAtoms/Runtime/ValueLists/DoubleValueList.cs new file mode 100644 index 00000000..60f1bcaf --- /dev/null +++ b/Packages/BaseAtoms/Runtime/ValueLists/DoubleValueList.cs @@ -0,0 +1,11 @@ +using UnityEngine; + +namespace UnityAtoms.BaseAtoms +{ + /// + /// Value List of type `double`. Inherits from `AtomValueList<double, DoubleEvent>`. + /// + [EditorIcon("atom-icon-piglet")] + [CreateAssetMenu(menuName = "Unity Atoms/Value Lists/Double", fileName = "DoubleValueList")] + public sealed class DoubleValueList : AtomValueList { } +} diff --git a/Packages/BaseAtoms/Runtime/ValueLists/DoubleValueList.cs.meta b/Packages/BaseAtoms/Runtime/ValueLists/DoubleValueList.cs.meta new file mode 100644 index 00000000..a0c60e82 --- /dev/null +++ b/Packages/BaseAtoms/Runtime/ValueLists/DoubleValueList.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 7e78c76dc04246b43bf1ac171642e62a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: bc53625d5bb0948c6bdb92877cdd36a1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Runtime/ValueLists/QuaternionValueList.cs b/Packages/BaseAtoms/Runtime/ValueLists/QuaternionValueList.cs new file mode 100644 index 00000000..526f6af3 --- /dev/null +++ b/Packages/BaseAtoms/Runtime/ValueLists/QuaternionValueList.cs @@ -0,0 +1,11 @@ +using UnityEngine; + +namespace UnityAtoms.BaseAtoms +{ + /// + /// Value List of type `Quaternion`. Inherits from `AtomValueList<Quaternion, QuaternionEvent>`. + /// + [EditorIcon("atom-icon-piglet")] + [CreateAssetMenu(menuName = "Unity Atoms/Value Lists/Quaternion", fileName = "QuaternionValueList")] + public sealed class QuaternionValueList : AtomValueList { } +} diff --git a/Packages/BaseAtoms/Runtime/ValueLists/QuaternionValueList.cs.meta b/Packages/BaseAtoms/Runtime/ValueLists/QuaternionValueList.cs.meta new file mode 100644 index 00000000..f862dc19 --- /dev/null +++ b/Packages/BaseAtoms/Runtime/ValueLists/QuaternionValueList.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a5e2a57b1fdc1bb4d8c089ada9b3bc75 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: bc53625d5bb0948c6bdb92877cdd36a1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Runtime/VariableInstancers/DoubleVariableInstancer.cs b/Packages/BaseAtoms/Runtime/VariableInstancers/DoubleVariableInstancer.cs new file mode 100644 index 00000000..e5ac84d2 --- /dev/null +++ b/Packages/BaseAtoms/Runtime/VariableInstancers/DoubleVariableInstancer.cs @@ -0,0 +1,19 @@ +using UnityEngine; +using UnityAtoms.BaseAtoms; + +namespace UnityAtoms.BaseAtoms +{ + /// + /// Variable Instancer of type `double`. Inherits from `AtomVariableInstancer<DoubleVariable, DoublePair, double, DoubleEvent, DoublePairEvent, DoubleDoubleFunction>`. + /// + [EditorIcon("atom-icon-hotpink")] + [AddComponentMenu("Unity Atoms/Variable Instancers/Double Variable Instancer")] + public class DoubleVariableInstancer : AtomVariableInstancer< + DoubleVariable, + DoublePair, + double, + DoubleEvent, + DoublePairEvent, + DoubleDoubleFunction> + { } +} diff --git a/Packages/BaseAtoms/Runtime/VariableInstancers/DoubleVariableInstancer.cs.meta b/Packages/BaseAtoms/Runtime/VariableInstancers/DoubleVariableInstancer.cs.meta new file mode 100644 index 00000000..f6721462 --- /dev/null +++ b/Packages/BaseAtoms/Runtime/VariableInstancers/DoubleVariableInstancer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: fa5ecd0ef286b9144bcd2c9d4ef1a307 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: f4c59e5c7eed94aefa9f60ed1e800dfb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Runtime/VariableInstancers/QuaternionVariableInstancer.cs b/Packages/BaseAtoms/Runtime/VariableInstancers/QuaternionVariableInstancer.cs new file mode 100644 index 00000000..14a1ebcc --- /dev/null +++ b/Packages/BaseAtoms/Runtime/VariableInstancers/QuaternionVariableInstancer.cs @@ -0,0 +1,19 @@ +using UnityAtoms.BaseAtoms; +using UnityEngine; + +namespace UnityAtoms.BaseAtoms +{ + /// + /// Variable Instancer of type `Quaternion`. Inherits from `AtomVariableInstancer<QuaternionVariable, QuaternionPair, Quaternion, QuaternionEvent, QuaternionPairEvent, QuaternionQuaternionFunction>`. + /// + [EditorIcon("atom-icon-hotpink")] + [AddComponentMenu("Unity Atoms/Variable Instancers/Quaternion Variable Instancer")] + public class QuaternionVariableInstancer : AtomVariableInstancer< + QuaternionVariable, + QuaternionPair, + Quaternion, + QuaternionEvent, + QuaternionPairEvent, + QuaternionQuaternionFunction> + { } +} diff --git a/Packages/BaseAtoms/Runtime/VariableInstancers/QuaternionVariableInstancer.cs.meta b/Packages/BaseAtoms/Runtime/VariableInstancers/QuaternionVariableInstancer.cs.meta new file mode 100644 index 00000000..3bd3f059 --- /dev/null +++ b/Packages/BaseAtoms/Runtime/VariableInstancers/QuaternionVariableInstancer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 54576f56e2be7fb48872212853d4b597 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: f4c59e5c7eed94aefa9f60ed1e800dfb, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Runtime/Variables/DoubleVariable.cs b/Packages/BaseAtoms/Runtime/Variables/DoubleVariable.cs new file mode 100644 index 00000000..7bace7af --- /dev/null +++ b/Packages/BaseAtoms/Runtime/Variables/DoubleVariable.cs @@ -0,0 +1,13 @@ +using UnityEngine; + +namespace UnityAtoms.BaseAtoms +{ + /// + /// Variable of type `double`. Inherits from `EquatableAtomVariable<double, DoublePair, DoubleEvent, DoublePairEvent, DoubleDoubleFunction>`. + /// + [EditorIcon("atom-icon-lush")] + [CreateAssetMenu(menuName = "Unity Atoms/Variables/Double", fileName = "DoubleVariable")] + public sealed class DoubleVariable : EquatableAtomVariable + { + } +} diff --git a/Packages/BaseAtoms/Runtime/Variables/DoubleVariable.cs.meta b/Packages/BaseAtoms/Runtime/Variables/DoubleVariable.cs.meta new file mode 100644 index 00000000..757c589e --- /dev/null +++ b/Packages/BaseAtoms/Runtime/Variables/DoubleVariable.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: aec1786d89266bd4e8b859397d36f4b1 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 1798e4d578f5041ed87517e6b4e51bd0, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/BaseAtoms/Runtime/Variables/QuaternionVariable.cs b/Packages/BaseAtoms/Runtime/Variables/QuaternionVariable.cs new file mode 100644 index 00000000..87e466e3 --- /dev/null +++ b/Packages/BaseAtoms/Runtime/Variables/QuaternionVariable.cs @@ -0,0 +1,13 @@ +using UnityEngine; + +namespace UnityAtoms.BaseAtoms +{ + /// + /// Variable of type `Quaternion`. Inherits from `EquatableAtomVariable<Quaternion, QuaternionPair, QuaternionEvent, QuaternionPairEvent, QuaternionQuaternionFunction>`. + /// + [EditorIcon("atom-icon-lush")] + [CreateAssetMenu(menuName = "Unity Atoms/Variables/Quaternion", fileName = "QuaternionVariable")] + public sealed class QuaternionVariable : EquatableAtomVariable + { + } +} diff --git a/Packages/BaseAtoms/Runtime/Variables/QuaternionVariable.cs.meta b/Packages/BaseAtoms/Runtime/Variables/QuaternionVariable.cs.meta new file mode 100644 index 00000000..9991a8ba --- /dev/null +++ b/Packages/BaseAtoms/Runtime/Variables/QuaternionVariable.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f31c21f2d11a3ac49b1220c04365e81c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 1798e4d578f5041ed87517e6b4e51bd0, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/Core/Editor/Generator/Generator.cs b/Packages/Core/Editor/Generator/Generator.cs index 13dc8b31..ce394136 100644 --- a/Packages/Core/Editor/Generator/Generator.cs +++ b/Packages/Core/Editor/Generator/Generator.cs @@ -39,7 +39,7 @@ namespace UnityAtoms.Editor public static Dictionary CreateTemplateVariablesMap(string valueType, string valueTypeNamespace, string subUnityAtomsNamespace) { var templateVariables = new Dictionary() { - { "VALUE_TYPE_NAME", valueType.Capitalize() }, + { "VALUE_TYPE_NAME", valueType.Replace('.', '_').Capitalize() }, { "VALUE_TYPE", valueType }, { "VALUE_TYPE_NAME_NO_PAIR", valueType.Contains("Pair") ? valueType.Capitalize().Remove(valueType.IndexOf("Pair")) : valueType.Capitalize() } }; diff --git a/Packages/Core/Editor/Generator/GeneratorEditor.cs b/Packages/Core/Editor/Generator/GeneratorEditor.cs index 493bde85..59a8fd26 100644 --- a/Packages/Core/Editor/Generator/GeneratorEditor.cs +++ b/Packages/Core/Editor/Generator/GeneratorEditor.cs @@ -191,7 +191,7 @@ namespace UnityAtoms.Editor var templates = Generator.GetTemplatePaths(); var templateConditions = Generator.CreateTemplateConditions(_isValueTypeEquatable, _valueTypeNamespace, _subUnityAtomsNamespace, _valueType); var templateVariables = Generator.CreateTemplateVariablesMap(_valueType, _valueTypeNamespace, _subUnityAtomsNamespace); - var capitalizedValueType = _valueType.Capitalize(); + var capitalizedValueType = _valueType.Replace('.', '_').Capitalize(); _atomTypesToGenerate.ForEach((atomType) => { diff --git a/Packages/Core/Editor/Generator/RegenerateAllAtoms.cs b/Packages/Core/Editor/Generator/RegenerateAllAtoms.cs index 8cb96017..cfcbe085 100644 --- a/Packages/Core/Editor/Generator/RegenerateAllAtoms.cs +++ b/Packages/Core/Editor/Generator/RegenerateAllAtoms.cs @@ -82,6 +82,7 @@ namespace UnityAtoms.Editor var itemsToRegenerate = new List() { + // Base Atoms new RegenerateItem( valueType: "Void", baseWritePath: Path.Combine(path, "BaseAtoms"), @@ -108,10 +109,38 @@ namespace UnityAtoms.Editor typeNamespace: "", subUnityAtomsNamespace: "BaseAtoms" ), + + new RegenerateItem + ( + valueType: "double", + baseWritePath: Path.Combine(path, "BaseAtoms"), + isValueEquatable: true, + atomTypesToGenerate: AtomTypes.ALL_ATOM_TYPES, + typeNamespace: "", + subUnityAtomsNamespace: "BaseAtoms" + ), + + new RegenerateItem + ( + valueType: "Quaternion", + baseWritePath: Path.Combine(path, "BaseAtoms"), + isValueEquatable: true, + atomTypesToGenerate: AtomTypes.ALL_ATOM_TYPES, + typeNamespace: "UnityEngine", + subUnityAtomsNamespace: "BaseAtoms" + ), + + //MonoHooks new RegenerateItem(valueType: "ColliderGameObject", baseWritePath: Path.Combine(path, "MonoHooks"), isValueEquatable: true, atomTypesToGenerate: AtomTypes.ALL_ATOM_TYPES, typeNamespace: "UnityAtoms.MonoHooks", subUnityAtomsNamespace: "MonoHooks"), new RegenerateItem(valueType: "Collider2DGameObject", baseWritePath: Path.Combine(path, "MonoHooks"), isValueEquatable: true, atomTypesToGenerate: AtomTypes.ALL_ATOM_TYPES, typeNamespace: "UnityAtoms.MonoHooks", subUnityAtomsNamespace: "MonoHooks"), + + //Mobile new RegenerateItem(valueType: "TouchUserInput", baseWritePath: Path.Combine(path, "Mobile"), isValueEquatable: true, atomTypesToGenerate: AtomTypes.ALL_ATOM_TYPES, typeNamespace: "UnityAtoms.Mobile", subUnityAtomsNamespace: "Mobile"), + + //SceneMgmt new RegenerateItem(valueType: "SceneField", baseWritePath: Path.Combine(path, "SceneMgmt"), isValueEquatable: true, atomTypesToGenerate: AtomTypes.ALL_ATOM_TYPES, typeNamespace: "UnityAtoms.SceneMgmt", subUnityAtomsNamespace: "SceneMgmt"), + + //FSM new RegenerateItem( valueType: "FSMTransitionData", baseWritePath: Path.Combine(path, "FSM"), @@ -120,18 +149,39 @@ namespace UnityAtoms.Editor typeNamespace: "", subUnityAtomsNamespace: "FSM" ), - }; + //Input System + new RegenerateItem + ( + valueType: "PlayerInput", + baseWritePath: Path.Combine(path, "InputSystem"), + isValueEquatable: false, + atomTypesToGenerate: new List() + { AtomTypes.EVENT, AtomTypes.ACTION, AtomTypes.UNITY_EVENT, AtomTypes.EVENT_INSTANCER }, + typeNamespace: "UnityEngine.InputSystem", + subUnityAtomsNamespace: "InputSystem" + ), + + new RegenerateItem + ( + valueType: "InputAction.CallbackContext", + baseWritePath: Path.Combine(path, "InputSystem"), + isValueEquatable: false, + atomTypesToGenerate: new List() + { AtomTypes.EVENT, AtomTypes.ACTION, AtomTypes.UNITY_EVENT, AtomTypes.EVENT_INSTANCER }, + typeNamespace: "UnityEngine.InputSystem", + subUnityAtomsNamespace: "InputSystem" + ), + }; foreach (var item in itemsToRegenerate) { var templates = Generator.GetTemplatePaths(); var templateConditions = Generator.CreateTemplateConditions(item.IsValueEquatable, item.ValueTypeNamespace, item.SubUnityAtomsNamespace, item.ValueType); var templateVariables = Generator.CreateTemplateVariablesMap(item.ValueType, item.ValueTypeNamespace, item.SubUnityAtomsNamespace); - var capitalizedValueType = item.ValueType.Capitalize(); + var capitalizedValueType = item.ValueType.Replace('.', '_').Capitalize(); - var atomTypesToGenerate = item.AtomTypesToGenerate; - foreach (var atomType in atomTypesToGenerate) + foreach (var atomType in item.AtomTypesToGenerate) { templateVariables["VALUE_TYPE_NAME"] = atomType.IsValuePair ? $"{capitalizedValueType}Pair" : capitalizedValueType; var valueType = atomType.IsValuePair ? $"{capitalizedValueType}Pair" : item.ValueType; @@ -141,7 +191,6 @@ namespace UnityAtoms.Editor } AssetDatabase.Refresh(); } - } } #endif diff --git a/Packages/Core/Runtime/StackTrace/StackTraceEntry.cs b/Packages/Core/Runtime/StackTrace/StackTraceEntry.cs index cb419d65..a76d75de 100644 --- a/Packages/Core/Runtime/StackTrace/StackTraceEntry.cs +++ b/Packages/Core/Runtime/StackTrace/StackTraceEntry.cs @@ -47,9 +47,19 @@ namespace UnityAtoms public override int GetHashCode() => _id.GetHashCode(); - public override string ToString() => - _constructedWithValue ? - $"{_frameCount} [{(_value == null ? "null" : _value.ToString())}] {_stackTrace}" : - $"{_frameCount} {_stackTrace}"; + public override string ToString() + { + string stringifiedValue = ""; + if (_constructedWithValue) + { + try + { + stringifiedValue = $"[{(_value == null ? "null" : _value.ToString())}]"; + } + catch { /* Ignore error */ } + } + + return $"{_frameCount} {stringifiedValue}{_stackTrace}"; + } } } \ No newline at end of file diff --git a/Packages/InputSystem.meta b/Packages/InputSystem.meta new file mode 100644 index 00000000..39d38d92 --- /dev/null +++ b/Packages/InputSystem.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ae60771dbe6939448bb1aa851c2d6db7 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/InputSystem/Editor.meta b/Packages/InputSystem/Editor.meta new file mode 100644 index 00000000..bee940db --- /dev/null +++ b/Packages/InputSystem/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a4a2345f4846e5e438fcc031d7b7c2c4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/InputSystem/Editor/Drawers.meta b/Packages/InputSystem/Editor/Drawers.meta new file mode 100644 index 00000000..aff5b213 --- /dev/null +++ b/Packages/InputSystem/Editor/Drawers.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1ce1458a22842416ea5ddf50a1cd7f4b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/InputSystem/Editor/Drawers/Events.meta b/Packages/InputSystem/Editor/Drawers/Events.meta new file mode 100644 index 00000000..9c18477e --- /dev/null +++ b/Packages/InputSystem/Editor/Drawers/Events.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c4f19b164efe94fd4af564a677cdcaed +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/InputSystem/Editor/Drawers/Events/InputAction_CallbackContextEventDrawer.cs b/Packages/InputSystem/Editor/Drawers/Events/InputAction_CallbackContextEventDrawer.cs new file mode 100644 index 00000000..41bd03cb --- /dev/null +++ b/Packages/InputSystem/Editor/Drawers/Events/InputAction_CallbackContextEventDrawer.cs @@ -0,0 +1,13 @@ +#if UNITY_2019_1_OR_NEWER +using UnityEditor; +using UnityAtoms.Editor; + +namespace UnityAtoms.InputSystem.Editor +{ + /// + /// Event property drawer of type `InputAction.CallbackContext`. Inherits from `AtomDrawer<InputAction_CallbackContextEvent>`. Only availble in `UNITY_2019_1_OR_NEWER`. + /// + [CustomPropertyDrawer(typeof(InputAction_CallbackContextEvent))] + public class InputAction_CallbackContextEventDrawer : AtomDrawer { } +} +#endif diff --git a/Packages/InputSystem/Editor/Drawers/Events/InputAction_CallbackContextEventDrawer.cs.meta b/Packages/InputSystem/Editor/Drawers/Events/InputAction_CallbackContextEventDrawer.cs.meta new file mode 100644 index 00000000..121ebe70 --- /dev/null +++ b/Packages/InputSystem/Editor/Drawers/Events/InputAction_CallbackContextEventDrawer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: fc768f687fc7f4a6895cada37c2bbf0c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/InputSystem/Editor/Drawers/Events/PlayerInputEventDrawer.cs b/Packages/InputSystem/Editor/Drawers/Events/PlayerInputEventDrawer.cs new file mode 100644 index 00000000..53935df1 --- /dev/null +++ b/Packages/InputSystem/Editor/Drawers/Events/PlayerInputEventDrawer.cs @@ -0,0 +1,13 @@ +#if UNITY_2019_1_OR_NEWER +using UnityEditor; +using UnityAtoms.Editor; + +namespace UnityAtoms.InputSystem.Editor +{ + /// + /// Event property drawer of type `PlayerInput`. Inherits from `AtomDrawer<PlayerInputEvent>`. Only availble in `UNITY_2019_1_OR_NEWER`. + /// + [CustomPropertyDrawer(typeof(PlayerInputEvent))] + public class PlayerInputEventDrawer : AtomDrawer { } +} +#endif diff --git a/Packages/InputSystem/Editor/Drawers/Events/PlayerInputEventDrawer.cs.meta b/Packages/InputSystem/Editor/Drawers/Events/PlayerInputEventDrawer.cs.meta new file mode 100644 index 00000000..ea656f88 --- /dev/null +++ b/Packages/InputSystem/Editor/Drawers/Events/PlayerInputEventDrawer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b767f78ae90ff44b0b3f5757768e10a2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/InputSystem/Editor/Editors.meta b/Packages/InputSystem/Editor/Editors.meta new file mode 100644 index 00000000..b84b7000 --- /dev/null +++ b/Packages/InputSystem/Editor/Editors.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 220c7cc9f8d2b452a9cc5c7aaffd7611 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/InputSystem/Editor/Editors/Events.meta b/Packages/InputSystem/Editor/Editors/Events.meta new file mode 100644 index 00000000..e6740e11 --- /dev/null +++ b/Packages/InputSystem/Editor/Editors/Events.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 03061986b27c740d4853d16f3a96c492 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/InputSystem/Editor/Editors/Events/InputAction_CallbackContextEventEditor.cs b/Packages/InputSystem/Editor/Editors/Events/InputAction_CallbackContextEventEditor.cs new file mode 100644 index 00000000..0e3383a1 --- /dev/null +++ b/Packages/InputSystem/Editor/Editors/Events/InputAction_CallbackContextEventEditor.cs @@ -0,0 +1,15 @@ +#if UNITY_2019_1_OR_NEWER +using UnityEditor; +using UnityEngine.UIElements; +using UnityAtoms.Editor; +using UnityEngine.InputSystem; + +namespace UnityAtoms.InputSystem.Editor +{ + /// + /// Event property drawer of type `InputAction.CallbackContext`. Inherits from `AtomEventEditor<InputAction.CallbackContext, InputAction_CallbackContextEvent>`. Only availble in `UNITY_2019_1_OR_NEWER`. + /// + [CustomEditor(typeof(InputAction_CallbackContextEvent))] + public sealed class InputAction_CallbackContextEventEditor : AtomEventEditor { } +} +#endif diff --git a/Packages/InputSystem/Editor/Editors/Events/InputAction_CallbackContextEventEditor.cs.meta b/Packages/InputSystem/Editor/Editors/Events/InputAction_CallbackContextEventEditor.cs.meta new file mode 100644 index 00000000..dae64f36 --- /dev/null +++ b/Packages/InputSystem/Editor/Editors/Events/InputAction_CallbackContextEventEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ce9fb5095bbf240b19aaa809f5bea404 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/InputSystem/Editor/Editors/Events/PlayerInputEventEditor.cs b/Packages/InputSystem/Editor/Editors/Events/PlayerInputEventEditor.cs new file mode 100644 index 00000000..c4163ad6 --- /dev/null +++ b/Packages/InputSystem/Editor/Editors/Events/PlayerInputEventEditor.cs @@ -0,0 +1,15 @@ +#if UNITY_2019_1_OR_NEWER +using UnityEditor; +using UnityEngine.UIElements; +using UnityAtoms.Editor; +using UnityEngine.InputSystem; + +namespace UnityAtoms.InputSystem.Editor +{ + /// + /// Event property drawer of type `PlayerInput`. Inherits from `AtomEventEditor<PlayerInput, PlayerInputEvent>`. Only availble in `UNITY_2019_1_OR_NEWER`. + /// + [CustomEditor(typeof(PlayerInputEvent))] + public sealed class PlayerInputEventEditor : AtomEventEditor { } +} +#endif diff --git a/Packages/InputSystem/Editor/Editors/Events/PlayerInputEventEditor.cs.meta b/Packages/InputSystem/Editor/Editors/Events/PlayerInputEventEditor.cs.meta new file mode 100644 index 00000000..a7ea6af9 --- /dev/null +++ b/Packages/InputSystem/Editor/Editors/Events/PlayerInputEventEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6b4e93f5e70ff402b8e778ddb7ec6fc9 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/InputSystem/Editor/Icons.meta b/Packages/InputSystem/Editor/Icons.meta new file mode 100644 index 00000000..7a639b25 --- /dev/null +++ b/Packages/InputSystem/Editor/Icons.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e0945fb3929dd6043829144c52e2e427 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/InputSystem/Editor/Icons/atom-icon-copper.png b/Packages/InputSystem/Editor/Icons/atom-icon-copper.png new file mode 100644 index 0000000000000000000000000000000000000000..a52ac6c5af7db620e0b1bddb0bec340a8d52f28b GIT binary patch literal 3543 zcmV;|4Jh)7P)8olLu*vS#*_|>N-Fg*Q?~)I z-0D&eyc-$m-^#NH$&&R;097URGwQORDIm3yYUG5SLmz*4lU${|tkn*0Ax$TRT)zZR zQCd5(J~Oe1uYr{QV~_hi^U7HmjJ5DYIJoOb4r9T0L&xc#jnRi zjt@L9RDN9Y>6ZWuKh{PWzf3&KrJ^LV4~%*06XleocXc{lCyBfeGW`=k+10VejJXCO z48WF$dgXy35fLGcVwM5(?w0`cdi{WbKph~H1DV;<ST_-_Y)Sa=`+bS&00Y^5|0lXSQ#Bsj(>IGke8+<5ORr@WS%Xg{UwDrL+Y2 zQ!S=&Q*PQ3zIg^E=f#bS3l?n5vDc%|0DO}ci=2HtxusMT-O9_2fvw+VymI&Fqi=Hs z60qWkx6tnvqEr%BF{YMJPa~u!u;~L~+&TKurnZ`rKj3t>J`YUUKQ=se+yH16;_{LwL<4acz_~J0 zNKMA6xOY@&0~X z9u7Xg4*-?DQ{V6%006rn_x;9Kvs$Z9zsOc5To!+9{od(Zb>a-5qO@jeede4~Lbzn{ z?(NCtc^k8fs_y`EHx5aEZIn#5B&@{r)oK7}_?h*nJW(Lm^t7 zx`tFwVgMJ4FZf)_S=1y%%eUsy9|1t!i*{^FX)63YgUuFPW`x85a5EP^gAfF8NvB>w z0cxAo10D{K1=D6P1fEJ^9ipSX4V*f(7hJ5eP1<;QfYs>#S@mpT=k3e!Y!FE8K?LB3 zf4u*6tuW@~rt_$vYc>%FCP7i;3jg?zMoNjjO;9NB3Ff9RdI|K{d*N zl>GR}*q~yZa##Qr6%E7d)1SV^meCXGdWB3TBO1h94M254wd(xd`S;muf_BV0Q=zCy>^4Wn$u3IH|L3SD++ z*l3;lCW(=`dH`w`GtsgM0=vX4~4_1b+JQJJ8k9(d)U;vmkl_hEn6h#>}J( zOp2ji&=>(w6eT~tLdUod3inB8uG#gtqsE8nxxNRC9X|!6t@#xA4)bR$zVSu_*z(~k z;9SXR67?LO1*Y)_NQ?kbYdu_EGH_OKH2@VA4TI{_pJt4_V;eIW0kDxA z9JT1r@o8^u#2J?KxvK$y^+qk)F^vVi0MOU??Ty*|nBGIk5DixZ03$JOW-aeM2mt`p zDF<{Bu_3lsamM!mw$?xBp=lXY-`>2Ov~@coS6NmYZ^}q4yw%zPPF-#Ut?j=KM_k7M zZ%+>}b(Aj%fBopBh?pSWv7}t0Z#o0}O@6A;uj^x0nhfd8^~9C|#cZ zW+@bap@Rl=7d3j}zJZ}LL)#qH6PF$}7Wgg8eNd+xWn0wj0pR4vEC1Pc<;)+M3J_x6 zk5atq$2v{jmkB+VafJo|%MVQcIygKo(1~A1zIx}v-MXL*9O(+Br>*0u>in&k#3#x zZFH!2Df_O_2B2Vl%D(p6vU&6Zy+%z>pZ3<@SMpT^l@7O>C?)_Y#ssz=MU!$cOdG4Y z*kcyNDxAD8KpPj@AO-;3CXd(vV4cMD?lZXupKCm^ZWrBl@EpSA*Veyj15j9K9N4@g z>7JB>FG&QN6adtz`JzoxtwC!jyLNX$=gu0#YPKf*S1JIw)kCWuQUDOs3ocx^puF_S zBF1U2)$_Umoc?Uh+7`ptf1v{qt978(n(TFu3c!#j)-H^j^K`D1-E0p4Y<+RSiX$T; zBmJ)ntr)KFm)Zlw^n!xFzLe8`wde&{20SjS^p7s|4uA58@K{ZyZ46*Dh!_J@W#v_0 z(-(7ZlR%Zq1E4Naoe87YySodL5&$m3qA$82Sf>5Vgrso@B_lZi((VUVP)ZLFvl~Le zas#llju>4o&Qsg~oD~4yaBCcKcNf&tLaZL(27qfyJ)ak6fBM>;lI@%A{~Z*$;Qgs9 z-ucKq2K=@mgEJ}LF#zY)*tj4mr=d7y`)V4>cNSEbwfW6v{mxA&xF}C>55f)(!lVs~ z%?sQBoEZRHG#9QfMLl=5H(^mdU}S1u;Fy?TlOqPFr**ZpAVB~WZQ1lrQ~92c>Bb63 z$(t4#8~nYH08ndB^m3$Jir_l~VzZrnUA(mk>!!T?;Rj51>>dNE^fjaEvgUN}QPO{W z6+=ODwfz8`7htEMBs(`kdVwqMh@IZD;e(d){cA{DzE#c^6~RW49?2yX2y6HuDnBW@ zpups#lf&ai6be-@uKCyioLrZZ*H%}SM9)B-e0WAgTmU@IFZd7Vx>5iTql@KYC>sFO zVKcFmL`7r3N{9_Wig;HX3>yH{tstY`*rN&y3v0(^#^<@KM#hoaf+#kW&m|P33UtrH zTrf72wEjH+{8UyOS(}kqF4c6@z8tBdqk~fqjT{@JzDjB!vE_OIKn0WrF8RtoeBwi_ zC+3Av)K$(0aIr;a*^Lg8uv%F618UC(%iF_hDPY5wS_2|>LApjodfkYX%wH2|2C z@{HH|umV8cl%f&n&<4|G9TR__2%dj^HBfmCVsJni@KmXQTy7h$d&pQUX3)_FqrrP$ z0N8e~73|u)8WewPyPa6js|tQ9xi+~rdlusz37X^sSmZC z#OU&aC%u#!zj$e8f4{J)Qg0e#%9_pkEdi2MWGnz^JiY$XVEg0sC;+(DZ%qr8>(3rw z-!K`c>x2^(A^=o;xy9y#5%U?Gyu-) zO@7r`vu$5rf0|2*( zrwobT?)SU*a%2i~V^=4*FPEFUC<{f&6>>QRJO(H%7M0n<;&b;@Mgr=4H(U&+3Ld|E z#;PsPaY@5f)+qp>?px+sA)(}PJ6S@N;}igx-kOD~AlH2S(+&njMQQ4|rsFH`6aaAD z58uj>rh|v*0>>@hAjQ4Xbe)_60Nio&Y`#4i^_@miW0K0j+u(hsy|Iqu!=t2m@{w~2 z0QQQ*8{E5;lot2FP_C7Q8|2=TQ*%7LR9A$G?Bl8flf2Ubpet!GT=$l>cMY|e6+tbP zd&jpo7~=06^$X~7%AlD2D!)fcyv8pq^pH`vx)jQrUS4;b#5&m{gz;e>{{wv + /// Action of type `InputAction.CallbackContext`. Inherits from `AtomAction<InputAction.CallbackContext>`. + /// + [EditorIcon("atom-icon-purple")] + public abstract class InputAction_CallbackContextAction : AtomAction { } +} diff --git a/Packages/InputSystem/Runtime/Actions/InputAction_CallbackContextAction.cs.meta b/Packages/InputSystem/Runtime/Actions/InputAction_CallbackContextAction.cs.meta new file mode 100644 index 00000000..e64805bd --- /dev/null +++ b/Packages/InputSystem/Runtime/Actions/InputAction_CallbackContextAction.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c2ebbb548af1cb849bb0960f29fb58b8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 691a47ae9831344ce823cde932633810, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/InputSystem/Runtime/Actions/PlayerInputAction.cs b/Packages/InputSystem/Runtime/Actions/PlayerInputAction.cs new file mode 100644 index 00000000..c1b19ecb --- /dev/null +++ b/Packages/InputSystem/Runtime/Actions/PlayerInputAction.cs @@ -0,0 +1,9 @@ +using UnityEngine.InputSystem; +namespace UnityAtoms.InputSystem +{ + /// + /// Action of type `PlayerInput`. Inherits from `AtomAction<PlayerInput>`. + /// + [EditorIcon("atom-icon-purple")] + public abstract class PlayerInputAction : AtomAction { } +} diff --git a/Packages/InputSystem/Runtime/Actions/PlayerInputAction.cs.meta b/Packages/InputSystem/Runtime/Actions/PlayerInputAction.cs.meta new file mode 100644 index 00000000..35adc656 --- /dev/null +++ b/Packages/InputSystem/Runtime/Actions/PlayerInputAction.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e13a802bd696d504aa1f7f090e0d2ad4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 691a47ae9831344ce823cde932633810, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/InputSystem/Runtime/EventInstancers.meta b/Packages/InputSystem/Runtime/EventInstancers.meta new file mode 100644 index 00000000..ab4438f1 --- /dev/null +++ b/Packages/InputSystem/Runtime/EventInstancers.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: be6726299b6e54d4cbb47619d6ed5288 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/InputSystem/Runtime/EventInstancers/InputAction_CallbackContextEventInstancer.cs b/Packages/InputSystem/Runtime/EventInstancers/InputAction_CallbackContextEventInstancer.cs new file mode 100644 index 00000000..622b5a55 --- /dev/null +++ b/Packages/InputSystem/Runtime/EventInstancers/InputAction_CallbackContextEventInstancer.cs @@ -0,0 +1,12 @@ +using UnityEngine; +using UnityEngine.InputSystem; + +namespace UnityAtoms.InputSystem +{ + /// + /// Event Instancer of type `InputAction.CallbackContext`. Inherits from `AtomEventInstancer<InputAction.CallbackContext, InputAction_CallbackContextEvent>`. + /// + [EditorIcon("atom-icon-sign-blue")] + [AddComponentMenu("Unity Atoms/Event Instancers/InputAction_CallbackContext Event Instancer")] + public class InputAction_CallbackContextEventInstancer : AtomEventInstancer { } +} diff --git a/Packages/InputSystem/Runtime/EventInstancers/InputAction_CallbackContextEventInstancer.cs.meta b/Packages/InputSystem/Runtime/EventInstancers/InputAction_CallbackContextEventInstancer.cs.meta new file mode 100644 index 00000000..24ce76c6 --- /dev/null +++ b/Packages/InputSystem/Runtime/EventInstancers/InputAction_CallbackContextEventInstancer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 25a8889e3406eb2419b5f722bedddcb2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 8c25ac30c7b7d4e3b90bed61d900d244, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/InputSystem/Runtime/EventInstancers/PlayerInputEventInstancer.cs b/Packages/InputSystem/Runtime/EventInstancers/PlayerInputEventInstancer.cs new file mode 100644 index 00000000..f064e294 --- /dev/null +++ b/Packages/InputSystem/Runtime/EventInstancers/PlayerInputEventInstancer.cs @@ -0,0 +1,12 @@ +using UnityEngine; +using UnityEngine.InputSystem; + +namespace UnityAtoms.InputSystem +{ + /// + /// Event Instancer of type `PlayerInput`. Inherits from `AtomEventInstancer<PlayerInput, PlayerInputEvent>`. + /// + [EditorIcon("atom-icon-sign-blue")] + [AddComponentMenu("Unity Atoms/Event Instancers/PlayerInput Event Instancer")] + public class PlayerInputEventInstancer : AtomEventInstancer { } +} diff --git a/Packages/InputSystem/Runtime/EventInstancers/PlayerInputEventInstancer.cs.meta b/Packages/InputSystem/Runtime/EventInstancers/PlayerInputEventInstancer.cs.meta new file mode 100644 index 00000000..e8079827 --- /dev/null +++ b/Packages/InputSystem/Runtime/EventInstancers/PlayerInputEventInstancer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 86ae9a40ba5565548bdba29f30e8448a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 8c25ac30c7b7d4e3b90bed61d900d244, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/InputSystem/Runtime/Events.meta b/Packages/InputSystem/Runtime/Events.meta new file mode 100644 index 00000000..13832621 --- /dev/null +++ b/Packages/InputSystem/Runtime/Events.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: dbd4fa6b97aaca946acd0fcf40ddd776 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/InputSystem/Runtime/Events/InputAction_CallbackContextEvent.cs b/Packages/InputSystem/Runtime/Events/InputAction_CallbackContextEvent.cs new file mode 100644 index 00000000..19baeac9 --- /dev/null +++ b/Packages/InputSystem/Runtime/Events/InputAction_CallbackContextEvent.cs @@ -0,0 +1,14 @@ +using UnityEngine; +using UnityEngine.InputSystem; + +namespace UnityAtoms.InputSystem +{ + /// + /// Event of type `InputAction.CallbackContext`. Inherits from `AtomEvent<InputAction.CallbackContext>`. + /// + [EditorIcon("atom-icon-cherry")] + [CreateAssetMenu(menuName = "Unity Atoms/Events/InputAction_CallbackContext", fileName = "InputAction_CallbackContextEvent")] + public sealed class InputAction_CallbackContextEvent : AtomEvent + { + } +} diff --git a/Packages/InputSystem/Runtime/Events/InputAction_CallbackContextEvent.cs.meta b/Packages/InputSystem/Runtime/Events/InputAction_CallbackContextEvent.cs.meta new file mode 100644 index 00000000..070b32c7 --- /dev/null +++ b/Packages/InputSystem/Runtime/Events/InputAction_CallbackContextEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: bb2a2317cea918d4ea615ab2b1e1f3d4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 333451eee108e4d7db97109b760ff3ce, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/InputSystem/Runtime/Events/PlayerInputEvent.cs b/Packages/InputSystem/Runtime/Events/PlayerInputEvent.cs new file mode 100644 index 00000000..d9c556a9 --- /dev/null +++ b/Packages/InputSystem/Runtime/Events/PlayerInputEvent.cs @@ -0,0 +1,14 @@ +using UnityEngine; +using UnityEngine.InputSystem; + +namespace UnityAtoms.InputSystem +{ + /// + /// Event of type `PlayerInput`. Inherits from `AtomEvent<PlayerInput>`. + /// + [EditorIcon("atom-icon-cherry")] + [CreateAssetMenu(menuName = "Unity Atoms/Events/PlayerInput", fileName = "PlayerInputEvent")] + public sealed class PlayerInputEvent : AtomEvent + { + } +} diff --git a/Packages/InputSystem/Runtime/Events/PlayerInputEvent.cs.meta b/Packages/InputSystem/Runtime/Events/PlayerInputEvent.cs.meta new file mode 100644 index 00000000..beebb0df --- /dev/null +++ b/Packages/InputSystem/Runtime/Events/PlayerInputEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3b3e026742828284ca46527c071541df +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 333451eee108e4d7db97109b760ff3ce, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/InputSystem/Runtime/Interpreters.meta b/Packages/InputSystem/Runtime/Interpreters.meta new file mode 100644 index 00000000..54de412a --- /dev/null +++ b/Packages/InputSystem/Runtime/Interpreters.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9d76fb6acb20a8b4eafbd672a32187aa +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/InputSystem/Runtime/Interpreters/CallbackContextInterpreter.cs b/Packages/InputSystem/Runtime/Interpreters/CallbackContextInterpreter.cs new file mode 100644 index 00000000..afaa1727 --- /dev/null +++ b/Packages/InputSystem/Runtime/Interpreters/CallbackContextInterpreter.cs @@ -0,0 +1,82 @@ +using UnityAtoms.BaseAtoms; +using UnityEngine; +using UnityEngine.InputSystem; + +namespace UnityAtoms.InputSystem +{ + public class CallbackContextInterpreter : BaseAtom + where T : struct + where P : struct, IPair + where C : AtomBaseVariable + where V : AtomVariable + where E1 : AtomEvent + where E2 : AtomEvent

+ where F : AtomFunction + where VI : AtomVariableInstancer + { + [SerializeField] private E1 _started; + [SerializeField] private E1 _performed; + [SerializeField] private E1 _canceled; + [SerializeField] private E1 _waiting; + [SerializeField] private E1 _disabled; + + [SerializeField] private V _value; + [SerializeField] private BoolVariable _valueAsButton; + + public void Raise(InputAction.CallbackContext context) + { + var value = context.ReadValue(); + switch (context.phase) + { + case InputActionPhase.Disabled: + if (_disabled) + { + _disabled.Raise(value); + } + break; + case InputActionPhase.Waiting: + if (_waiting) + { + _waiting.Raise(value); + } + break; + case InputActionPhase.Started: + if (_started) + { + _started.Raise(value); + } + break; + case InputActionPhase.Performed: + if (_performed) + { + _performed.Raise(value); + } + break; + case InputActionPhase.Canceled: + if (_canceled) + { + _canceled.Raise(value); + } + break; + } + } + + public void UpdateValues(InputAction.CallbackContext context) + { + if (_value) + { + _value.Value = context.ReadValue(); + } + if (_valueAsButton) + { + _valueAsButton.Value = context.ReadValueAsButton(); + } + } + + public void Interpret(InputAction.CallbackContext context) + { + Raise(context); + UpdateValues(context); + } + } +} diff --git a/Packages/InputSystem/Runtime/Interpreters/CallbackContextInterpreter.cs.meta b/Packages/InputSystem/Runtime/Interpreters/CallbackContextInterpreter.cs.meta new file mode 100644 index 00000000..c8356423 --- /dev/null +++ b/Packages/InputSystem/Runtime/Interpreters/CallbackContextInterpreter.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d6b355f872b79e146a32f7206ac2771c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: de689f4e155e6bb419e48524e1110b2d, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/InputSystem/Runtime/Interpreters/DoubleCallbackContextInterpreter.cs b/Packages/InputSystem/Runtime/Interpreters/DoubleCallbackContextInterpreter.cs new file mode 100644 index 00000000..a18baba1 --- /dev/null +++ b/Packages/InputSystem/Runtime/Interpreters/DoubleCallbackContextInterpreter.cs @@ -0,0 +1,10 @@ +using UnityAtoms.BaseAtoms; +using UnityEngine; + +namespace UnityAtoms.InputSystem +{ + [CreateAssetMenu(menuName = "Unity Atoms/Input System/Interpreters/Double")] + public sealed class DoubleCallbackContextInterpreter : CallbackContextInterpreter + { + } +} diff --git a/Packages/InputSystem/Runtime/Interpreters/DoubleCallbackContextInterpreter.cs.meta b/Packages/InputSystem/Runtime/Interpreters/DoubleCallbackContextInterpreter.cs.meta new file mode 100644 index 00000000..9d87e6c2 --- /dev/null +++ b/Packages/InputSystem/Runtime/Interpreters/DoubleCallbackContextInterpreter.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a79d2b9c990191243a826412d31cc47d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: de689f4e155e6bb419e48524e1110b2d, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/InputSystem/Runtime/Interpreters/FloatCallbackContextInterpreter.cs b/Packages/InputSystem/Runtime/Interpreters/FloatCallbackContextInterpreter.cs new file mode 100644 index 00000000..8b7f4d84 --- /dev/null +++ b/Packages/InputSystem/Runtime/Interpreters/FloatCallbackContextInterpreter.cs @@ -0,0 +1,10 @@ +using UnityAtoms.BaseAtoms; +using UnityEngine; + +namespace UnityAtoms.InputSystem +{ + [CreateAssetMenu(menuName = "Unity Atoms/Input System/Interpreters/Float")] + public sealed class FloatCallbackContextInterpreter : CallbackContextInterpreter + { + } +} diff --git a/Packages/InputSystem/Runtime/Interpreters/FloatCallbackContextInterpreter.cs.meta b/Packages/InputSystem/Runtime/Interpreters/FloatCallbackContextInterpreter.cs.meta new file mode 100644 index 00000000..fa28c70f --- /dev/null +++ b/Packages/InputSystem/Runtime/Interpreters/FloatCallbackContextInterpreter.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b8db79be4274a0145b4f5c655df19225 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: de689f4e155e6bb419e48524e1110b2d, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/InputSystem/Runtime/Interpreters/IntCallbackContextInterpreter.cs b/Packages/InputSystem/Runtime/Interpreters/IntCallbackContextInterpreter.cs new file mode 100644 index 00000000..1da9cf78 --- /dev/null +++ b/Packages/InputSystem/Runtime/Interpreters/IntCallbackContextInterpreter.cs @@ -0,0 +1,10 @@ +using UnityAtoms.BaseAtoms; +using UnityEngine; + +namespace UnityAtoms.InputSystem +{ + [CreateAssetMenu(menuName = "Unity Atoms/Input System/Interpreters/Int")] + public sealed class IntCallbackContextInterpreter : CallbackContextInterpreter + { + } +} diff --git a/Packages/InputSystem/Runtime/Interpreters/IntCallbackContextInterpreter.cs.meta b/Packages/InputSystem/Runtime/Interpreters/IntCallbackContextInterpreter.cs.meta new file mode 100644 index 00000000..b35c983e --- /dev/null +++ b/Packages/InputSystem/Runtime/Interpreters/IntCallbackContextInterpreter.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6de396b7161db3045aca8cf1f2f926aa +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: de689f4e155e6bb419e48524e1110b2d, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/InputSystem/Runtime/Interpreters/QuaternionCallbackContextInterpreter.cs b/Packages/InputSystem/Runtime/Interpreters/QuaternionCallbackContextInterpreter.cs new file mode 100644 index 00000000..154b4c21 --- /dev/null +++ b/Packages/InputSystem/Runtime/Interpreters/QuaternionCallbackContextInterpreter.cs @@ -0,0 +1,10 @@ +using UnityAtoms.BaseAtoms; +using UnityEngine; + +namespace UnityAtoms.InputSystem +{ + [CreateAssetMenu(menuName = "Unity Atoms/Input System/Interpreters/Quaternion")] + public sealed class QuaternionCallbackContextInterpreter : CallbackContextInterpreter + { + } +} diff --git a/Packages/InputSystem/Runtime/Interpreters/QuaternionCallbackContextInterpreter.cs.meta b/Packages/InputSystem/Runtime/Interpreters/QuaternionCallbackContextInterpreter.cs.meta new file mode 100644 index 00000000..a61f78be --- /dev/null +++ b/Packages/InputSystem/Runtime/Interpreters/QuaternionCallbackContextInterpreter.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2ccab365912b3614d95ea85458199c18 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: de689f4e155e6bb419e48524e1110b2d, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/InputSystem/Runtime/Interpreters/Vector2CallbackContextInterpreter.cs b/Packages/InputSystem/Runtime/Interpreters/Vector2CallbackContextInterpreter.cs new file mode 100644 index 00000000..4bae5254 --- /dev/null +++ b/Packages/InputSystem/Runtime/Interpreters/Vector2CallbackContextInterpreter.cs @@ -0,0 +1,10 @@ +using UnityAtoms.BaseAtoms; +using UnityEngine; + +namespace UnityAtoms.InputSystem +{ + [CreateAssetMenu(menuName = "Unity Atoms/Input System/Interpreters/Vector2")] + public sealed class Vector2CallbackContextInterpreter : CallbackContextInterpreter + { + } +} diff --git a/Packages/InputSystem/Runtime/Interpreters/Vector2CallbackContextInterpreter.cs.meta b/Packages/InputSystem/Runtime/Interpreters/Vector2CallbackContextInterpreter.cs.meta new file mode 100644 index 00000000..29a833da --- /dev/null +++ b/Packages/InputSystem/Runtime/Interpreters/Vector2CallbackContextInterpreter.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 80b673161316f484e9270ad0bb251029 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: de689f4e155e6bb419e48524e1110b2d, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/InputSystem/Runtime/Interpreters/Vector3CallbackContextInterpreter.cs b/Packages/InputSystem/Runtime/Interpreters/Vector3CallbackContextInterpreter.cs new file mode 100644 index 00000000..5244a7da --- /dev/null +++ b/Packages/InputSystem/Runtime/Interpreters/Vector3CallbackContextInterpreter.cs @@ -0,0 +1,10 @@ +using UnityAtoms.BaseAtoms; +using UnityEngine; + +namespace UnityAtoms.InputSystem +{ + [CreateAssetMenu(menuName = "Unity Atoms/Input System/Interpreters/Vector3")] + public sealed class Vector3CallbackContextInterpreter : CallbackContextInterpreter + { + } +} diff --git a/Packages/InputSystem/Runtime/Interpreters/Vector3CallbackContextInterpreter.cs.meta b/Packages/InputSystem/Runtime/Interpreters/Vector3CallbackContextInterpreter.cs.meta new file mode 100644 index 00000000..44959932 --- /dev/null +++ b/Packages/InputSystem/Runtime/Interpreters/Vector3CallbackContextInterpreter.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d0ac9e7fc40f3524b946bb84a299faae +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: de689f4e155e6bb419e48524e1110b2d, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/InputSystem/Runtime/MamboJamboStudios.UnityAtomsInputSystem.Runtime.asmdef b/Packages/InputSystem/Runtime/MamboJamboStudios.UnityAtomsInputSystem.Runtime.asmdef new file mode 100644 index 00000000..0e18e144 --- /dev/null +++ b/Packages/InputSystem/Runtime/MamboJamboStudios.UnityAtomsInputSystem.Runtime.asmdef @@ -0,0 +1,17 @@ +{ + "name": "MamboJamboStudios.UnityAtomsInputSystem.Runtime", + "references": [ + "MamboJamboStudios.UnityAtomsCore.Runtime", + "MamboJamboStudios.UnityAtomsBaseAtoms.Runtime", + "Unity.InputSystem" + ], + "includePlatforms": [], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [], + "noEngineReferences": false +} \ No newline at end of file diff --git a/Packages/InputSystem/Runtime/MamboJamboStudios.UnityAtomsInputSystem.Runtime.asmdef.meta b/Packages/InputSystem/Runtime/MamboJamboStudios.UnityAtomsInputSystem.Runtime.asmdef.meta new file mode 100644 index 00000000..acc5cfa8 --- /dev/null +++ b/Packages/InputSystem/Runtime/MamboJamboStudios.UnityAtomsInputSystem.Runtime.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: c787b21d1c388634c97d82c717de67a3 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/InputSystem/Runtime/UnityEvents.meta b/Packages/InputSystem/Runtime/UnityEvents.meta new file mode 100644 index 00000000..c00d94bb --- /dev/null +++ b/Packages/InputSystem/Runtime/UnityEvents.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 51d744705d432ce459071ae2553ec26a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/InputSystem/Runtime/UnityEvents/InputAction_CallbackContextUnityEvent.cs b/Packages/InputSystem/Runtime/UnityEvents/InputAction_CallbackContextUnityEvent.cs new file mode 100644 index 00000000..f791d135 --- /dev/null +++ b/Packages/InputSystem/Runtime/UnityEvents/InputAction_CallbackContextUnityEvent.cs @@ -0,0 +1,12 @@ +using System; +using UnityEngine.Events; +using UnityEngine.InputSystem; + +namespace UnityAtoms.InputSystem +{ + ///

+ /// None generic Unity Event of type `InputAction.CallbackContext`. Inherits from `UnityEvent<InputAction.CallbackContext>`. + /// + [Serializable] + public sealed class InputAction_CallbackContextUnityEvent : UnityEvent { } +} diff --git a/Packages/InputSystem/Runtime/UnityEvents/InputAction_CallbackContextUnityEvent.cs.meta b/Packages/InputSystem/Runtime/UnityEvents/InputAction_CallbackContextUnityEvent.cs.meta new file mode 100644 index 00000000..86cad9e2 --- /dev/null +++ b/Packages/InputSystem/Runtime/UnityEvents/InputAction_CallbackContextUnityEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ae24d5361b58acc4fbd51f97b845ef43 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/InputSystem/Runtime/UnityEvents/PlayerInputUnityEvent.cs b/Packages/InputSystem/Runtime/UnityEvents/PlayerInputUnityEvent.cs new file mode 100644 index 00000000..97c50da0 --- /dev/null +++ b/Packages/InputSystem/Runtime/UnityEvents/PlayerInputUnityEvent.cs @@ -0,0 +1,12 @@ +using System; +using UnityEngine.Events; +using UnityEngine.InputSystem; + +namespace UnityAtoms.InputSystem +{ + /// + /// None generic Unity Event of type `PlayerInput`. Inherits from `UnityEvent<PlayerInput>`. + /// + [Serializable] + public sealed class PlayerInputUnityEvent : UnityEvent { } +} diff --git a/Packages/InputSystem/Runtime/UnityEvents/PlayerInputUnityEvent.cs.meta b/Packages/InputSystem/Runtime/UnityEvents/PlayerInputUnityEvent.cs.meta new file mode 100644 index 00000000..e389a40b --- /dev/null +++ b/Packages/InputSystem/Runtime/UnityEvents/PlayerInputUnityEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e1f8307df6f1b5e47ac8ab0680f23aa6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/InputSystem/package.json b/Packages/InputSystem/package.json new file mode 100644 index 00000000..fb4b26c0 --- /dev/null +++ b/Packages/InputSystem/package.json @@ -0,0 +1,25 @@ +{ + "name": "com.mambojambostudios.unity-atoms-input-system", + "displayName": "Unity Atoms Input System", + "version": "4.3.0", + "unity": "2018.3", + "description": "Unity Atoms with Unity's Input System.", + "keywords": [ + "scriptable objects", + "unity" + ], + "category": "Unity", + "files": [ + "/package.json", + "/package.json.meta", + "/Runtime", + "/Runtime.meta", + "/Editor", + "/Editor.meta" + ], + "dependencies": { + "com.mambojambostudios.unity-atoms-core": "4.3.0", + "com.mambojambostudios.unity-atoms-base-atoms": "4.3.0", + "com.unity.inputsystem": "1.0.1" + } +} diff --git a/Packages/InputSystem/package.json.meta b/Packages/InputSystem/package.json.meta new file mode 100644 index 00000000..1e2c2ab6 --- /dev/null +++ b/Packages/InputSystem/package.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 12dfdd4960e34de4e8da4831b6c5fcf6 +PackageManifestImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/README.md b/README.md index bb569978..20e3b5a4 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,8 @@ Add the following to your `manifest.json` (which is located under your project l "com.mambojambostudios.unity-atoms-mono-hooks", "com.mambojambostudios.unity-atoms-tags", "com.mambojambostudios.unity-atoms-scene-mgmt", - "com.mambojambostudios.unity-atoms-ui" + "com.mambojambostudios.unity-atoms-ui", + "com.mambojambostudios.unity-atoms-input-system" ] } ], @@ -63,12 +64,14 @@ Add the following to your `manifest.json` (which is located under your project l "com.mambojambostudios.unity-atoms-tags": "4.3.0", "com.mambojambostudios.unity-atoms-scene-mgmt": "4.3.0", "com.mambojambostudios.unity-atoms-ui": "4.3.0", + "com.mambojambostudios.unity-atoms-input-system": "4.3.0", ... } } ``` Note that the core and base atoms packages are mandatory while the others are optional. If you don't want a subpackage, simply remove it from your `dependencies`. +Note that subpackages may have additional dependencies. ### OpenUPM @@ -86,6 +89,7 @@ openupm add com.mambojambostudios.unity-atoms-mono-hooks openupm add com.mambojambostudios.unity-atoms-tags openupm add com.mambojambostudios.unity-atoms-scene-mgmt openupm add com.mambojambostudios.unity-atoms-ui +openupm add com.mambojambostudios.unity-atoms-input-system ``` ## Documentation diff --git a/docs/README.md b/docs/README.md index 3bfbaf51..cdf63892 100644 --- a/docs/README.md +++ b/docs/README.md @@ -22,6 +22,8 @@ - [UnityAtoms.BaseAtoms.Editor](./api/unityatoms.baseatoms.editor.md) - [UnityAtoms.FSM](./api/unityatoms.fsm.md) - [UnityAtoms.FSM.Editor](./api/unityatoms.fsm.editor.md) + - [UnityAtoms.InputSystem](./api/unityatoms.inputsystem.md) + - [UnityAtoms.InputSystem.Editor](./api/unityatoms.inputsystem.editor.md) - [UnityAtoms.Mobile](./api/unityatoms.mobile.md) - [UnityAtoms.Mobile.Editor](./api/unityatoms.mobile.editor.md) - [UnityAtoms.MonoHooks](./api/unityatoms.monohooks.md) @@ -31,6 +33,7 @@ - Subpackages - [BaseAtoms](./subpackages/base-atoms.md) - [FSM](./subpackages/fsm.md) + - [InputSystem](./subpackages/input-system.md) - [Mobile](./subpackages/mobile.md) - [MonoHooks](./subpackages/mono-hooks.md) - [SceneMgmt](./subpackages/scene-mgmt.md) diff --git a/docs/api/unityatoms.baseatoms.editor.md b/docs/api/unityatoms.baseatoms.editor.md index 8b0e456a..687e57cd 100644 --- a/docs/api/unityatoms.baseatoms.editor.md +++ b/docs/api/unityatoms.baseatoms.editor.md @@ -121,12 +121,24 @@ 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` @@ -139,6 +151,12 @@ Variable Inspector of type `Color`. Inherits from `AtomVariableEditor` --- +## `QuaternionEventEditor` + +Event property drawer of type `Quaternion`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`. + +--- + ## `BoolEventEditor` Event property drawer of type `bool`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`. @@ -151,6 +169,12 @@ Event property drawer of type `ColorPair`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`. + +--- + ## `ColliderEventEditor` Event property drawer of type `Collider`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`. @@ -187,6 +211,12 @@ Event property drawer of type `BoolPair`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`. + +--- + ## `Collider2DEventEditor` Event property drawer of type `Collider2D`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`. @@ -205,6 +235,12 @@ Event property drawer of type `Vector2Pair`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`. + +--- + ## `Collider2DPairEventEditor` Event property drawer of type `Collider2DPair`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`. @@ -295,12 +331,24 @@ Constant property drawer of type `Vector2`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`. + +--- + ## `FloatConstantDrawer` Constant property drawer of type `float`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`. --- +## `DoubleConstantDrawer` + +Constant property drawer of type `double`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`. + +--- + ## `Vector3ConstantDrawer` Constant property drawer of type `Vector3`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`. @@ -355,12 +403,24 @@ Variable property drawer of type `Vector3`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`. + +--- + ## `FloatVariableDrawer` Variable property drawer of type `float`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`. --- +## `QuaternionVariableDrawer` + +Variable property drawer of type `Quaternion`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`. + +--- + ## `Vector2VariableDrawer` Variable property drawer of type `Vector2`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`. @@ -463,6 +523,12 @@ Event property drawer of type `Vector2Pair`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`. + +--- + ## `Collider2DPairEventDrawer` Event property drawer of type `Collider2DPair`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`. @@ -475,6 +541,12 @@ Event property drawer of type `Void`. Inherits from `AtomDrawer`. Onl --- +## `DoubleEventDrawer` + +Event property drawer of type `double`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`. + +--- + ## `Collider2DEventDrawer` Event property drawer of type `Collider2D`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`. @@ -499,6 +571,12 @@ Event property drawer of type `BoolPair`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`. + +--- + ## `ColliderEventDrawer` Event property drawer of type `Collider`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`. @@ -529,6 +607,12 @@ Event property drawer of type `bool`. Inherits from `AtomDrawer`. Onl --- +## `QuaternionEventDrawer` + +Event property drawer of type `Quaternion`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`. + +--- + ## `ColorPairEventDrawer` Event property drawer of type `ColorPair`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`. @@ -577,6 +661,12 @@ Value List property drawer of type `bool`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`. + +--- + ## `IntValueListDrawer` Value List property drawer of type `int`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`. @@ -619,6 +709,12 @@ Value List property drawer of type `Vector2`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`. + +--- + ## `Collider2DValueListDrawer` Value List property drawer of type `Collider2D`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`. diff --git a/docs/api/unityatoms.baseatoms.md b/docs/api/unityatoms.baseatoms.md index a7186122..5d0c6a0e 100644 --- a/docs/api/unityatoms.baseatoms.md +++ b/docs/api/unityatoms.baseatoms.md @@ -37,6 +37,12 @@ Event Reference Listener of type `IntPair`. Inherits from `AtomEventReferenceLis --- +## `QuaternionPairEventReferenceListener` + +Event Reference Listener of type `QuaternionPair`. Inherits from `AtomEventReferenceListener`. + +--- + ## `Vector3PairEventReferenceListener` Event Reference Listener of type `Vector3Pair`. Inherits from `AtomEventReferenceListener`. @@ -55,6 +61,18 @@ Event Reference Listener of type `Collider2D`. Inherits from `AtomEventReference --- +## `DoubleEventReferenceListener` + +Event Reference Listener of type `double`. Inherits from `AtomEventReferenceListener`. + +--- + +## `DoublePairEventReferenceListener` + +Event Reference Listener of type `DoublePair`. Inherits from `AtomEventReferenceListener`. + +--- + ## `Vector2PairEventReferenceListener` Event Reference Listener of type `Vector2Pair`. Inherits from `AtomEventReferenceListener`. @@ -85,6 +103,12 @@ Event Reference Listener of type `float`. Inherits from `AtomEventReferenceListe --- +## `QuaternionEventReferenceListener` + +Event Reference Listener of type `Quaternion`. Inherits from `AtomEventReferenceListener`. + +--- + ## `Vector3EventReferenceListener` Event Reference Listener of type `Vector3`. Inherits from `AtomEventReferenceListener`. @@ -183,6 +207,12 @@ Reference of type `int`. Inherits from `EquatableAtomReference`. + +--- + ## `Collider2DReference` Reference of type `Collider2D`. Inherits from `AtomReference`. @@ -207,6 +237,12 @@ Reference of type `string`. Inherits from `EquatableAtomReference`. + +--- + ## `GameObjectPair` IPair of type ``. Inherits from `IPair`. @@ -231,6 +267,12 @@ IPair of type ``. Inherits from `IPair`. --- +## `DoublePair` + +IPair of type ``. Inherits from `IPair`. + +--- + ## `ColliderPair` IPair of type ``. Inherits from `IPair`. @@ -255,6 +297,12 @@ IPair of type ``. Inherits from `IPair`. --- +## `QuaternionPair` + +IPair of type ``. Inherits from `IPair`. + +--- + ## `BoolPair` IPair of type ``. Inherits from `IPair`. @@ -285,6 +333,12 @@ None generic Unity Event of type `GameObjectPair`. Inherits from `UnityEvent`. + +--- + ## `GameObjectUnityEvent` None generic Unity Event of type `GameObject`. Inherits from `UnityEvent`. @@ -375,6 +429,12 @@ None generic Unity Event of type `string`. Inherits from `UnityEvent`. --- +## `DoublePairUnityEvent` + +None generic Unity Event of type `DoublePair`. Inherits from `UnityEvent`. + +--- + ## `FloatPairUnityEvent` None generic Unity Event of type `FloatPair`. Inherits from `UnityEvent`. @@ -387,12 +447,24 @@ None generic Unity Event of type `Vector3Pair`. Inherits from `UnityEvent`. + +--- + ## `Collider2DPairUnityEvent` None generic Unity Event of type `Collider2DPair`. Inherits from `UnityEvent`. --- +## `QuaternionUnityEvent` + +None generic Unity Event of type `Quaternion`. Inherits from `UnityEvent`. + +--- + ## `Vector2PairUnityEvent` None generic Unity Event of type `Vector2Pair`. Inherits from `UnityEvent`. @@ -411,6 +483,12 @@ Constant of type `Collider2D`. Inherits from `AtomBaseVariable`. --- +## `QuaternionConstant` + +Constant of type `Quaternion`. Inherits from `AtomBaseVariable`. + +--- + ## `BoolConstant` Constant of type `bool`. Inherits from `AtomBaseVariable`. @@ -447,6 +525,12 @@ Constant of type `string`. Inherits from `AtomBaseVariable`. --- +## `DoubleConstant` + +Constant of type `double`. Inherits from `AtomBaseVariable`. + +--- + ## `ColorConstant` Constant of type `Color`. Inherits from `AtomBaseVariable`. @@ -477,6 +561,12 @@ Event Reference of type `Collider2DPair`. Inherits from `AtomEventReference`. + +--- + ## `IntEventReference` Event Reference of type `int`. Inherits from `AtomEventReference`. @@ -531,6 +621,18 @@ Event Reference of type `Collider2D`. Inherits from `AtomEventReference`. + +--- + +## `QuaternionEventReference` + +Event Reference of type `Quaternion`. Inherits from `AtomEventReference`. + +--- + ## `IntPairEventReference` Event Reference of type `IntPair`. Inherits from `AtomEventReference`. @@ -555,6 +657,12 @@ Event Reference of type `Vector3`. Inherits from `AtomEventReference`. + +--- + ## `FloatEventReference` Event Reference of type `float`. Inherits from `AtomEventReference`. @@ -633,12 +741,24 @@ Variable Instancer of type `int`. Inherits from `AtomVariableInstancer`. + +--- + ## `StringVariableInstancer` Variable Instancer of type `string`. Inherits from `AtomVariableInstancer`. --- +## `DoubleVariableInstancer` + +Variable Instancer of type `double`. Inherits from `AtomVariableInstancer`. + +--- + ## `AtomBaseVariableEventReferenceUsage` Different types of Event Reference usages. @@ -723,6 +843,12 @@ Event Instancer of type `Vector3`. Inherits from `AtomEventInstancer`. + +--- + ## `FloatEventInstancer` Event Instancer of type `float`. Inherits from `AtomEventInstancer`. @@ -783,6 +909,18 @@ Event Instancer of type `Collider2D`. Inherits from `AtomEventInstancer`. + +--- + +## `QuaternionEventInstancer` + +Event Instancer of type `Quaternion`. Inherits from `AtomEventInstancer`. + +--- + ## `IntPairEventInstancer` Event Instancer of type `IntPair`. Inherits from `AtomEventInstancer`. @@ -843,6 +981,12 @@ Event Instancer of type `Collider2DPair`. Inherits from `AtomEventInstancer`. + +--- + ## `IntEventInstancer` Event Instancer of type `int`. Inherits from `AtomEventInstancer`. @@ -1097,6 +1241,12 @@ Variable of type `Collider2D`. Inherits from `AtomVariable`. + +--- + ## `ColorVariable` Variable of type `Color`. Inherits from `EquatableAtomVariable`. @@ -1169,6 +1319,12 @@ Divide Variable by Variable value. --- +## `DoubleVariable` + +Variable of type `double`. Inherits from `EquatableAtomVariable`. + +--- + ## `AtomBaseVariableAction` Action of type `AtomBaseVariable`. Inherits from `AtomAction`. @@ -1265,6 +1421,30 @@ Action of type `GameObjectPair`. Inherits from `AtomAction`. --- +## `DoubleAction` + +Action of type `double`. Inherits from `AtomAction`. + +--- + +## `DoublePairAction` + +Action of type `DoublePair`. Inherits from `AtomAction`. + +--- + +## `QuaternionAction` + +Action of type `Quaternion`. Inherits from `AtomAction`. + +--- + +## `QuaternionPairAction` + +Action of type `QuaternionPair`. Inherits from `AtomAction`. + +--- + ## `IntAction` Action of type `int`. Inherits from `AtomAction`. @@ -1337,6 +1517,18 @@ Function x 2 of type `GameObject`. Inherits from `AtomFunction`. + +--- + +## `QuaternionQuaternionFunction` + +Function x 2 of type `Quaternion`. Inherits from `AtomFunction`. + +--- + ## `StringStringFunction` Function x 2 of type `string`. Inherits from `AtomFunction`. @@ -1367,6 +1559,12 @@ Adds Variable Instancer's Variable of type GameObject to a Collection or List on --- +## `SyncDoubleVariableInstancerToCollection` + +Adds Variable Instancer's Variable of type double to a Collection or List on OnEnable and removes it on OnDestroy. + +--- + ## `SyncColliderVariableInstancerToCollection` Adds Variable Instancer's Variable of type Collider to a Collection or List on OnEnable and removes it on OnDestroy. @@ -1385,6 +1583,12 @@ Adds Variable Instancer's Variable of type bool to a Collection or List on OnEna --- +## `SyncQuaternionVariableInstancerToCollection` + +Adds Variable Instancer's Variable of type Quaternion to a Collection or List on OnEnable and removes it on OnDestroy. + +--- + ## `SyncVector3VariableInstancerToCollection` Adds Variable Instancer's Variable of type Vector3 to a Collection or List on OnEnable and removes it on OnDestroy. @@ -1421,6 +1625,12 @@ Event of type `FloatPair`. Inherits from `AtomEvent`. --- +## `DoubleEvent` + +Event of type `double`. Inherits from `AtomEvent`. + +--- + ## `Vector2PairEvent` Event of type `Vector2Pair`. Inherits from `AtomEvent`. @@ -1463,6 +1673,12 @@ Event of type `IntPair`. Inherits from `AtomEvent`. --- +## `QuaternionPairEvent` + +Event of type `QuaternionPair`. Inherits from `AtomEvent`. + +--- + ## `GameObjectPairEvent` Event of type `GameObjectPair`. Inherits from `AtomEvent`. @@ -1523,6 +1739,18 @@ Event of type `Vector2`. Inherits from `AtomEvent`. --- +## `QuaternionEvent` + +Event of type `Quaternion`. Inherits from `AtomEvent`. + +--- + +## `DoublePairEvent` + +Event of type `DoublePair`. Inherits from `AtomEvent`. + +--- + ## `StringPairEvent` Event of type `StringPair`. Inherits from `AtomEvent`. @@ -2094,6 +2322,12 @@ Value List of type `Color`. Inherits from `AtomValueList`. --- +## `QuaternionValueList` + +Value List of type `Quaternion`. Inherits from `AtomValueList`. + +--- + ## `ColliderValueList` Value List of type `Collider`. Inherits from `AtomValueList`. @@ -2124,6 +2358,12 @@ Value List of type `Vector3`. Inherits from `AtomValueList`. + +--- + ## `StringValueList` Value List of type `string`. Inherits from `AtomValueList`. @@ -2142,6 +2382,12 @@ Set variable value Action of type `Color`. Inherits from `SetVariableValue`. + +--- + ## `SetCollider2DVariableValue` Set variable value Action of type `Collider2D`. Inherits from `SetVariableValue`. @@ -2154,6 +2400,12 @@ Set variable value Action of type `bool`. Inherits from `SetVariableValue`. + +--- + ## `SetFloatVariableValue` Set variable value Action of type `float`. Inherits from `SetVariableValue`. diff --git a/docs/api/unityatoms.inputsystem.editor.md b/docs/api/unityatoms.inputsystem.editor.md new file mode 100644 index 00000000..1e39b683 --- /dev/null +++ b/docs/api/unityatoms.inputsystem.editor.md @@ -0,0 +1,32 @@ +--- +id: unityatoms.inputsystem.editor +title: UnityAtoms.InputSystem.Editor +hide_title: true +sidebar_label: UnityAtoms.InputSystem.Editor +--- + +# Namespace - `UnityAtoms.InputSystem.Editor` + +## `PlayerInputEventEditor` + +Event property drawer of type `PlayerInput`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`. + +--- + +## `InputAction_CallbackContextEventEditor` + +Event property drawer of type `InputAction.CallbackContext`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`. + +--- + +## `InputAction_CallbackContextEventDrawer` + +Event property drawer of type `InputAction.CallbackContext`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`. + +--- + +## `PlayerInputEventDrawer` + +Event property drawer of type `PlayerInput`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`. + +--- diff --git a/docs/api/unityatoms.inputsystem.md b/docs/api/unityatoms.inputsystem.md new file mode 100644 index 00000000..1bee55c4 --- /dev/null +++ b/docs/api/unityatoms.inputsystem.md @@ -0,0 +1,56 @@ +--- +id: unityatoms.inputsystem +title: UnityAtoms.InputSystem +hide_title: true +sidebar_label: UnityAtoms.InputSystem +--- + +# Namespace - `UnityAtoms.InputSystem` + +## `InputAction_CallbackContextUnityEvent` + +None generic Unity Event of type `InputAction.CallbackContext`. Inherits from `UnityEvent`. + +--- + +## `PlayerInputUnityEvent` + +None generic Unity Event of type `PlayerInput`. Inherits from `UnityEvent`. + +--- + +## `InputAction_CallbackContextEventInstancer` + +Event Instancer of type `InputAction.CallbackContext`. Inherits from `AtomEventInstancer`. + +--- + +## `PlayerInputEventInstancer` + +Event Instancer of type `PlayerInput`. Inherits from `AtomEventInstancer`. + +--- + +## `InputAction_CallbackContextAction` + +Action of type `InputAction.CallbackContext`. Inherits from `AtomAction`. + +--- + +## `PlayerInputAction` + +Action of type `PlayerInput`. Inherits from `AtomAction`. + +--- + +## `InputAction_CallbackContextEvent` + +Event of type `InputAction.CallbackContext`. Inherits from `AtomEvent`. + +--- + +## `PlayerInputEvent` + +Event of type `PlayerInput`. Inherits from `AtomEvent`. + +--- diff --git a/docs/subpackages/input-system.md b/docs/subpackages/input-system.md new file mode 100644 index 00000000..24dc6293 --- /dev/null +++ b/docs/subpackages/input-system.md @@ -0,0 +1,12 @@ +--- +id: input-system +title: Input System +hide_title: true +sidebar_label: Input System +--- + +# Unity Atoms / Input System + +Unity Atoms for Unity's Input System. Check out [this](https://www.youtube.com/watch?v=q7W8FyTIriQ&feature=youtu.be) video for an introduction to this sub package. + +See the [API](../api/unityatoms.inputsystem) for more info. diff --git a/package.json b/package.json index c395ef5e..7f818e8e 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ ], "category": "Unity", "scripts": { - "publish:all": "npm run publish:core && npm run publish:mobile && npm run publish:scene && npm run publish:tags && npm run publish:ui && npm run publish:mono && npm run publish:base && npm run publish:fsm", + "publish:all": "npm run publish:core && npm run publish:mobile && npm run publish:scene && npm run publish:tags && npm run publish:ui && npm run publish:mono && npm run publish:base && npm run publish:fsm && publish:input", "publish:core": "npm publish ./Packages/Core", "publish:fsm": "npm publish ./Packages/FSM", "publish:base": "npm publish ./Packages/BaseAtoms", @@ -26,6 +26,7 @@ "publish:tags": "npm publish ./Packages/Tags", "publish:ui": "npm publish ./Packages/UI", "publish:mono": "npm publish ./Packages/MonoHooks", + "publish:input": "npm publish ./Packages/InputSystem", "generate:docs": "node scripts/generateDocs.js", "generate:docs:verbose": "node scripts/generateDocs.js --verbose" }, diff --git a/scripts/generateDocs.js b/scripts/generateDocs.js index befbbf75..ad287184 100644 --- a/scripts/generateDocs.js +++ b/scripts/generateDocs.js @@ -126,6 +126,8 @@ const run = async () => { "UnityAtoms.SceneMgmt.Editor.", "UnityAtoms.MonoHooks.", "UnityAtoms.MonoHooks.Editor.", + "UnityAtoms.InputSystem.", + "UnityAtoms.InputSystem.Editor.", ]; const getNamespace = (name) => { diff --git a/website/i18n/en.json b/website/i18n/en.json index e24dcd16..9aa24d1b 100644 --- a/website/i18n/en.json +++ b/website/i18n/en.json @@ -25,6 +25,14 @@ "title": "UnityAtoms.FSM", "sidebar_label": "UnityAtoms.FSM" }, + "api/unityatoms.inputsystem.editor": { + "title": "UnityAtoms.InputSystem.Editor", + "sidebar_label": "UnityAtoms.InputSystem.Editor" + }, + "api/unityatoms.inputsystem": { + "title": "UnityAtoms.InputSystem", + "sidebar_label": "UnityAtoms.InputSystem" + }, "api/unityatoms": { "title": "UnityAtoms", "sidebar_label": "UnityAtoms" @@ -84,6 +92,10 @@ "title": "FSM", "sidebar_label": "FSM" }, + "subpackages/input-system": { + "title": "Input System", + "sidebar_label": "Input System" + }, "subpackages/mobile": { "title": "Mobile", "sidebar_label": "Mobile" diff --git a/website/sidebars.json b/website/sidebars.json index fa718be2..85719db2 100755 --- a/website/sidebars.json +++ b/website/sidebars.json @@ -42,6 +42,8 @@ "api/unityatoms.baseatoms.editor", "api/unityatoms.fsm", "api/unityatoms.fsm.editor", + "api/unityatoms.inputsystem", + "api/unityatoms.inputsystem.editor", "api/unityatoms.mobile", "api/unityatoms.mobile.editor", "api/unityatoms.monohooks", @@ -53,6 +55,7 @@ "Subpackages": [ "subpackages/base-atoms", "subpackages/fsm", + "subpackages/input-system", "subpackages/mobile", "subpackages/mono-hooks", "subpackages/scene-mgmt",