From 749c390161dc847978fe1f9283b13e9067821c28 Mon Sep 17 00:00:00 2001 From: Stedd Date: Sat, 28 Oct 2023 16:21:37 +0200 Subject: [PATCH] Added scriptable objects architecture pack https://assetstore.unity.com/packages/tools/utilities/scriptableobject-architecture-131520 --- Architecture.meta | 8 + Architecture/ScriptableObjects.meta | 8 + .../ScriptableObjects/AssemblyInfo.cs | 4 + .../ScriptableObjects/AssemblyInfo.cs.meta | 11 + .../ScriptableObjects/Attributes.meta | 8 + .../ScriptableObjects/Attributes/MultiLine.cs | 6 + .../Attributes/MultiLine.cs.meta | 11 + .../ScriptableObjects/Collections.meta | 8 + .../Collections/AnimationCurveCollection.cs | 12 + .../AnimationCurveCollection.cs.meta | 11 + .../Collections/AudioClipCollection.cs | 12 + .../Collections/AudioClipCollection.cs.meta | 11 + .../Collections/BaseCollection.cs | 34 + .../Collections/BaseCollection.cs.meta | 11 + .../Collections/BoolCollection.cs | 12 + .../Collections/BoolCollection.cs.meta | 11 + .../Collections/ByteCollection.cs | 12 + .../Collections/ByteCollection.cs.meta | 11 + .../Collections/CharCollection.cs | 12 + .../Collections/CharCollection.cs.meta | 11 + .../Collections/Collection.cs | 86 + .../Collections/Collection.cs.meta | 11 + .../Collections/Color32Collection.cs | 12 + .../Collections/Color32Collection.cs.meta | 11 + .../Collections/ColorCollection.cs | 12 + .../Collections/ColorCollection.cs.meta | 11 + .../Collections/DoubleCollection.cs | 12 + .../Collections/DoubleCollection.cs.meta | 11 + .../Collections/FloatCollection.cs | 12 + .../Collections/FloatCollection.cs.meta | 11 + .../Collections/GameObjectCollection.cs | 12 + .../Collections/GameObjectCollection.cs.meta | 11 + .../Collections/IntCollection.cs | 12 + .../Collections/IntCollection.cs.meta | 11 + .../Collections/LongCollection.cs | 12 + .../Collections/LongCollection.cs.meta | 11 + .../Collections/ObjectCollection.cs | 12 + .../Collections/ObjectCollection.cs.meta | 11 + .../Collections/QuaternionCollection.cs | 12 + .../Collections/QuaternionCollection.cs.meta | 11 + .../Collections/SbyteCollection.cs | 12 + .../Collections/SbyteCollection.cs.meta | 11 + .../Collections/SceneCollection.cs | 13 + .../Collections/SceneCollection.cs.meta | 11 + .../Collections/ShortCollection.cs | 12 + .../Collections/ShortCollection.cs.meta | 11 + .../Collections/StringCollection.cs | 12 + .../Collections/StringCollection.cs.meta | 11 + .../Collections/UintCollection.cs | 12 + .../Collections/UintCollection.cs.meta | 11 + .../Collections/UlongCollection.cs | 12 + .../Collections/UlongCollection.cs.meta | 11 + .../Collections/UshortCollection.cs | 12 + .../Collections/UshortCollection.cs.meta | 11 + .../Collections/Vector2Collection.cs | 12 + .../Collections/Vector2Collection.cs.meta | 11 + .../Collections/Vector3Collection.cs | 12 + .../Collections/Vector3Collection.cs.meta | 11 + .../Collections/Vector4Collection.cs | 12 + .../Collections/Vector4Collection.cs.meta | 11 + .../ScriptableObjects/Documentation.meta | 8 + .../Documentation/Collection.txt | 23 + .../Documentation/Collection.txt.meta | 7 + .../Documentation/Event-Listeners.txt | 10 + .../Documentation/Event-Listeners.txt.meta | 7 + .../Documentation/Events.txt | 16 + .../Documentation/Events.txt.meta | 7 + .../Documentation/References.txt | 16 + .../Documentation/References.txt.meta | 7 + .../Documentation/Variables.txt | 16 + .../Documentation/Variables.txt.meta | 7 + Architecture/ScriptableObjects/Editor.meta | 8 + .../Editor/BaseReferenceHelper.cs | 37 + .../Editor/BaseReferenceHelper.cs.meta | 11 + .../Editor/Code Generation.meta | 8 + .../SO_CodeGenerationWindow.cs | 162 + .../SO_CodeGenerationWindow.cs.meta | 11 + .../Code Generation/SO_CodeGenerator.cs | 159 + .../Code Generation/SO_CodeGenerator.cs.meta | 11 + .../Editor/Code Generation/Templates.meta | 8 + .../Templates/CollectionTemplate | 12 + .../Templates/CollectionTemplate.meta | 7 + .../Templates/GameEventListenerTemplate | 9 + .../Templates/GameEventListenerTemplate.meta | 7 + .../Templates/GameEventTemplate | 13 + .../Templates/GameEventTemplate.meta | 7 + .../Templates/ReferenceTemplate | 11 + .../Templates/ReferenceTemplate.meta | 7 + .../Templates/UnityEventTemplate | 10 + .../Templates/UnityEventTemplate.meta | 7 + .../Templates/VariableTemplate | 16 + .../Templates/VariableTemplate.meta | 7 + .../ScriptableObjects/Editor/Drawers.meta | 8 + .../Editor/Drawers/BaseReferenceDrawer.cs | 187 + .../Drawers/BaseReferenceDrawer.cs.meta | 11 + .../Editor/Drawers/GenericPropertyDrawer.cs | 104 + .../Drawers/GenericPropertyDrawer.cs.meta | 11 + .../Editor/Drawers/QuaternionDrawer.cs | 26 + .../Editor/Drawers/QuaternionDrawer.cs.meta | 11 + .../Editor/Drawers/SceneInfoPropertyDrawer.cs | 76 + .../Drawers/SceneInfoPropertyDrawer.cs.meta | 3 + .../Editor/Drawers/Vector4Drawer.cs | 22 + .../Editor/Drawers/Vector4Drawer.cs.meta | 11 + .../Editor/Generic Property Drawer.meta | 8 + .../BasePropertyDrawIterator.cs | 66 + .../BasePropertyDrawIterator.cs.meta | 11 + .../IPropertyDrawIterator.cs | 11 + .../IPropertyDrawIterator.cs.meta | 11 + .../IPropertyIterator.cs | 13 + .../IPropertyIterator.cs.meta | 11 + .../PropertyDrawIterator.cs | 39 + .../PropertyDrawIterator.cs.meta | 11 + .../PropertyDrawIteratorLayout.cs | 23 + .../PropertyDrawIteratorLayout.cs.meta | 11 + .../PropertyIterator.cs | 88 + .../PropertyIterator.cs.meta | 11 + .../ScriptableObjects/Editor/Icons.meta | 8 + .../Editor/Icons/Collections.meta | 8 + .../AnimationCurveCollectionIcon.png | Bin 0 -> 17709 bytes .../AnimationCurveCollectionIcon.png.meta | 101 + .../Collections/AudioClipCollectionIcon.png | Bin 0 -> 20845 bytes .../AudioClipCollectionIcon.png.meta | 101 + .../Icons/Collections/BoolCollectionIcon.png | Bin 0 -> 20498 bytes .../Collections/BoolCollectionIcon.png.meta | 99 + .../Icons/Collections/ByteCollectionIcon.png | Bin 0 -> 20750 bytes .../Collections/ByteCollectionIcon.png.meta | 99 + .../Icons/Collections/CharCollectionIcon.png | Bin 0 -> 20500 bytes .../Collections/CharCollectionIcon.png.meta | 99 + .../Icons/Collections/ColorCollectionIcon.png | Bin 0 -> 20506 bytes .../Collections/ColorCollectionIcon.png.meta | 101 + .../Collections/DoubleCollectionIcon.png | Bin 0 -> 20520 bytes .../Collections/DoubleCollectionIcon.png.meta | 99 + .../Icons/Collections/FloatCollectionIcon.png | Bin 0 -> 20437 bytes .../Collections/FloatCollectionIcon.png.meta | 99 + .../Collections/GameObjectCollectionIcon.png | Bin 0 -> 20545 bytes .../GameObjectCollectionIcon.png.meta | 99 + .../Icons/Collections/IntCollectionIcon.png | Bin 0 -> 20470 bytes .../Collections/IntCollectionIcon.png.meta | 99 + .../Icons/Collections/LongCollectionIcon.png | Bin 0 -> 20427 bytes .../Collections/LongCollectionIcon.png.meta | 99 + .../Collections/ObjectCollectionIcon.png | Bin 0 -> 20550 bytes .../Collections/ObjectCollectionIcon.png.meta | 99 + .../Collections/QuaternionCollectionIcon.png | Bin 0 -> 20839 bytes .../QuaternionCollectionIcon.png.meta | 99 + .../Icons/Collections/SceneCollectionIcon.png | Bin 0 -> 21005 bytes .../Collections/SceneCollectionIcon.png.meta | 121 + .../Icons/Collections/ShortCollectionIcon.png | Bin 0 -> 20514 bytes .../Collections/ShortCollectionIcon.png.meta | 99 + .../Collections/SignedByteCollectionIcon.png | Bin 0 -> 20558 bytes .../SignedByteCollectionIcon.png.meta | 99 + .../Collections/StringCollectionIcon.png | Bin 0 -> 20516 bytes .../Collections/StringCollectionIcon.png.meta | 99 + .../Collections/UnsignedIntCollectionIcon.png | Bin 0 -> 20538 bytes .../UnsignedIntCollectionIcon.png.meta | 99 + .../UnsignedLongCollectionIcon.png | Bin 0 -> 20497 bytes .../UnsignedLongCollectionIcon.png.meta | 99 + .../UnsignedShortCollectionIcon.png | Bin 0 -> 20568 bytes .../UnsignedShortCollectionIcon.png.meta | 99 + .../Collections/Vector2CollectionIcon.png | Bin 0 -> 20795 bytes .../Vector2CollectionIcon.png.meta | 99 + .../Collections/Vector3CollectionIcon.png | Bin 0 -> 20811 bytes .../Vector3CollectionIcon.png.meta | 99 + .../Collections/Vector4CollectionIcon.png | Bin 0 -> 20783 bytes .../Vector4CollectionIcon.png.meta | 99 + .../Editor/Icons/Game Event Listeners.meta | 8 + .../AudioClipGameEventListenerIcon.png | Bin 0 -> 20811 bytes .../AudioClipGameEventListenerIcon.png.meta | 103 + .../BoolGameEventListenerIcon.png | Bin 0 -> 20537 bytes .../BoolGameEventListenerIcon.png.meta | 95 + .../ByteGameEventListenerIcon.png | Bin 0 -> 20645 bytes .../ByteGameEventListenerIcon.png.meta | 95 + .../CharGameEventListenerIcon.png | Bin 0 -> 20515 bytes .../CharGameEventListenerIcon.png.meta | 95 + .../DoubleGameEventListenerIcon.png | Bin 0 -> 20546 bytes .../DoubleGameEventListenerIcon.png.meta | 95 + .../FloatGameEventListenerIcon.png | Bin 0 -> 20499 bytes .../FloatGameEventListenerIcon.png.meta | 95 + .../GameObjectGameEventListenerIcon.png | Bin 0 -> 20527 bytes .../GameObjectGameEventListenerIcon.png.meta | 99 + .../IntegerGameEventListenerIcon.png | Bin 0 -> 20463 bytes .../IntegerGameEventListenerIcon.png.meta | 95 + .../LongGameEventListenerIcon.png | Bin 0 -> 20448 bytes .../LongGameEventListenerIcon.png.meta | 95 + .../ObjectGameEventListenerIcon.png | Bin 0 -> 20588 bytes .../ObjectGameEventListenerIcon.png.meta | 95 + .../QuaternionGameEventListenerIcon.png | Bin 0 -> 20842 bytes .../QuaternionGameEventListenerIcon.png.meta | 99 + .../ShortGameEventListenerIcon.png | Bin 0 -> 20541 bytes .../ShortGameEventListenerIcon.png.meta | 95 + .../SignedByteGameEventListenerIcon.png | Bin 0 -> 20595 bytes .../SignedByteGameEventListenerIcon.png.meta | 95 + .../StringGameEventListenerIcon.png | Bin 0 -> 20557 bytes .../StringGameEventListenerIcon.png.meta | 95 + .../UnsignedIntGameEventListenerIcon.png | Bin 0 -> 20553 bytes .../UnsignedIntGameEventListenerIcon.png.meta | 95 + .../UnsignedLongGameEventListenerIcon.png | Bin 0 -> 20524 bytes ...UnsignedLongGameEventListenerIcon.png.meta | 95 + .../UnsignedShortGameEventListenerIcon.png | Bin 0 -> 20580 bytes ...nsignedShortGameEventListenerIcon.png.meta | 95 + .../Vector2GameEventListenerIcon.png | Bin 0 -> 20858 bytes .../Vector2GameEventListenerIcon.png.meta | 99 + .../Vector3GameEventListenerIcon.png | Bin 0 -> 20854 bytes .../Vector3GameEventListenerIcon.png.meta | 99 + .../Vector4GameEventListenerIcon.png | Bin 0 -> 20861 bytes .../Vector4GameEventListenerIcon.png.meta | 99 + .../VoidGameEventListenerIcon.png | Bin 0 -> 20548 bytes .../VoidGameEventListenerIcon.png.meta | 99 + .../Editor/Icons/Game Events.meta | 8 + .../Game Events/AudioClipGameEventIcon.png | Bin 0 -> 20793 bytes .../AudioClipGameEventIcon.png.meta | 103 + .../Icons/Game Events/BoolGameEventIcon.png | Bin 0 -> 20707 bytes .../Game Events/BoolGameEventIcon.png.meta | 95 + .../Icons/Game Events/ByteGameEventIcon.png | Bin 0 -> 20581 bytes .../Game Events/ByteGameEventIcon.png.meta | 95 + .../Icons/Game Events/CharGameEventIcon.png | Bin 0 -> 20508 bytes .../Game Events/CharGameEventIcon.png.meta | 95 + .../Icons/Game Events/DoubleGameEventIcon.png | Bin 0 -> 20527 bytes .../Game Events/DoubleGameEventIcon.png.meta | 95 + .../Icons/Game Events/FloatGameEventIcon.png | Bin 0 -> 20473 bytes .../Game Events/FloatGameEventIcon.png.meta | 95 + .../Game Events/GameObjectGameEventIcon.png | Bin 0 -> 20556 bytes .../GameObjectGameEventIcon.png.meta | 99 + .../Game Events/IntegerGameEventIcon.png | Bin 0 -> 20453 bytes .../Game Events/IntegerGameEventIcon.png.meta | 95 + .../Icons/Game Events/LongGameEventIcon.png | Bin 0 -> 20443 bytes .../Game Events/LongGameEventIcon.png.meta | 95 + .../Icons/Game Events/ObjectGameEventIcon.png | Bin 0 -> 20549 bytes .../Game Events/ObjectGameEventIcon.png.meta | 95 + .../Game Events/QuaternionGameEventIcon.png | Bin 0 -> 20844 bytes .../QuaternionGameEventIcon.png.meta | 99 + .../Icons/Game Events/ShortGameEventIcon.png | Bin 0 -> 20511 bytes .../Game Events/ShortGameEventIcon.png.meta | 95 + .../Game Events/SignedByteGameEventIcon.png | Bin 0 -> 20587 bytes .../SignedByteGameEventIcon.png.meta | 95 + .../Icons/Game Events/StringGameEventIcon.png | Bin 0 -> 20536 bytes .../Game Events/StringGameEventIcon.png.meta | 95 + .../UnsignedIntegerGameEventIcon.png | Bin 0 -> 20563 bytes .../UnsignedIntegerGameEventIcon.png.meta | 95 + .../Game Events/UnsignedLongGameEventIcon.png | Bin 0 -> 20528 bytes .../UnsignedLongGameEventIcon.png.meta | 95 + .../UnsignedShortGameEventIcon.png | Bin 0 -> 20588 bytes .../UnsignedShortGameEventIcon.png.meta | 95 + .../Game Events/Vector2GameEventIcon.png | Bin 0 -> 20850 bytes .../Game Events/Vector2GameEventIcon.png.meta | 99 + .../Game Events/Vector3GameEventIcon.png | Bin 0 -> 20841 bytes .../Game Events/Vector3GameEventIcon.png.meta | 99 + .../Game Events/Vector4GameEventIcon.png | Bin 0 -> 20845 bytes .../Game Events/Vector4GameEventIcon.png.meta | 99 + .../Icons/Game Events/VoidGameEventIcon.png | Bin 0 -> 20568 bytes .../Game Events/VoidGameEventIcon.png.meta | 99 + .../Editor/Icons/Template.psd | Bin 0 -> 90177 bytes .../Editor/Icons/Template.psd.meta | 84 + .../Editor/Icons/Variables.meta | 8 + .../Variables/AnimationCurveVariableIcon.png | Bin 0 -> 17715 bytes .../AnimationCurveVariableIcon.png.meta | 101 + .../Icons/Variables/AudioClipVariableIcon.png | Bin 0 -> 20854 bytes .../Variables/AudioClipVariableIcon.png.meta | 101 + .../Icons/Variables/BoolVariableIcon.png | Bin 0 -> 20701 bytes .../Icons/Variables/BoolVariableIcon.png.meta | 95 + .../Icons/Variables/ByteVariableIcon.png | Bin 0 -> 20767 bytes .../Icons/Variables/ByteVariableIcon.png.meta | 95 + .../Icons/Variables/CharVariableIcon.png | Bin 0 -> 20699 bytes .../Icons/Variables/CharVariableIcon.png.meta | 95 + .../Icons/Variables/ColorVariableIcon.png | Bin 0 -> 20501 bytes .../Variables/ColorVariableIcon.png.meta | 101 + .../Icons/Variables/DoubleVariableIcon.png | Bin 0 -> 20722 bytes .../Variables/DoubleVariableIcon.png.meta | 95 + .../Icons/Variables/FloatVariableIcon.png | Bin 0 -> 20438 bytes .../Variables/FloatVariableIcon.png.meta | 95 + .../Variables/GameObjectVariableIcon.png | Bin 0 -> 20523 bytes .../Variables/GameObjectVariableIcon.png.meta | 99 + .../Icons/Variables/IntVariableIcon.png | Bin 0 -> 20658 bytes .../Icons/Variables/IntVariableIcon.png.meta | 95 + .../Icons/Variables/LayerMaskVariableIcon.png | Bin 0 -> 3236 bytes .../Variables/LayerMaskVariableIcon.png.meta | 101 + .../Icons/Variables/LongVariableIcon.png | Bin 0 -> 20630 bytes .../Icons/Variables/LongVariableIcon.png.meta | 95 + .../Icons/Variables/ObjectVariableIcon.png | Bin 0 -> 20749 bytes .../Variables/ObjectVariableIcon.png.meta | 95 + .../Variables/QuaternionVariableIcon.png | Bin 0 -> 20622 bytes .../Variables/QuaternionVariableIcon.png.meta | 99 + .../Icons/Variables/SceneVariableIcon.png | Bin 0 -> 21003 bytes .../Variables/SceneVariableIcon.png.meta | 121 + .../Icons/Variables/ShortVariableIcon.png | Bin 0 -> 20714 bytes .../Variables/ShortVariableIcon.png.meta | 95 + .../Variables/SignedByteVariableIcon.png | Bin 0 -> 20757 bytes .../Variables/SignedByteVariableIcon.png.meta | 95 + .../Icons/Variables/StringVariableIcon.png | Bin 0 -> 20721 bytes .../Variables/StringVariableIcon.png.meta | 95 + .../Variables/UnsignedIntVariableIcon.png | Bin 0 -> 20737 bytes .../UnsignedIntVariableIcon.png.meta | 95 + .../Variables/UnsignedLongVariableIcon.png | Bin 0 -> 20698 bytes .../UnsignedLongVariableIcon.png.meta | 95 + .../Variables/UnsignedShortVariableIcon.png | Bin 0 -> 20755 bytes .../UnsignedShortVariableIcon.png.meta | 95 + .../Icons/Variables/Vector2VariableIcon.png | Bin 0 -> 20585 bytes .../Variables/Vector2VariableIcon.png.meta | 99 + .../Icons/Variables/Vector3VariableIcon.png | Bin 0 -> 20597 bytes .../Variables/Vector3VariableIcon.png.meta | 99 + .../Icons/Variables/Vector4VariableIcon.png | Bin 0 -> 20578 bytes .../Variables/Vector4VariableIcon.png.meta | 99 + .../ScriptableObjects/Editor/Inspectors.meta | 8 + .../Editor/Inspectors/BaseGameEventEditor.cs | 28 + .../Inspectors/BaseGameEventEditor.cs.meta | 11 + .../Inspectors/BaseGameEventListenerEditor.cs | 73 + .../BaseGameEventListenerEditor.cs.meta | 11 + .../Editor/Inspectors/BaseVariableEditor.cs | 109 + .../Inspectors/BaseVariableEditor.cs.meta | 11 + .../Editor/Inspectors/CollectionEditor.cs | 85 + .../Inspectors/CollectionEditor.cs.meta | 11 + .../Editor/Inspectors/GameEventEditor.cs | 19 + .../Editor/Inspectors/GameEventEditor.cs.meta | 11 + .../Inspectors/GameEventListenerEditor.cs | 26 + .../GameEventListenerEditor.cs.meta | 11 + .../Editor/Inspectors/SceneVariableEditor.cs | 58 + .../Inspectors/SceneVariableEditor.cs.meta | 3 + .../Editor/Inspectors/StackTrace.cs | 261 + .../Editor/Inspectors/StackTrace.cs.meta | 11 + .../Editor/Inspectors/TypedGameEventEditor.cs | 58 + .../Inspectors/TypedGameEventEditor.cs.meta | 11 + .../TypesGameEventListenerEditor.cs | 42 + .../TypesGameEventListenerEditor.cs.meta | 11 + .../Editor/SOArchitecture_EditorUtility.cs | 199 + .../SOArchitecture_EditorUtility.cs.meta | 11 + ...criptableObject-Architecture.Editor.asmdef | 16 + ...ableObject-Architecture.Editor.asmdef.meta | 7 + Architecture/ScriptableObjects/Events.meta | 8 + .../ScriptableObjects/Events/Game Events.meta | 8 + .../Events/Game Events/AudioClipGameEvent.cs | 14 + .../Game Events/AudioClipGameEvent.cs.meta | 11 + .../Events/Game Events/BoolGameEvent.cs | 13 + .../Events/Game Events/BoolGameEvent.cs.meta | 11 + .../Events/Game Events/ByteGameEvent.cs | 13 + .../Events/Game Events/ByteGameEvent.cs.meta | 11 + .../Events/Game Events/CharGameEvent.cs | 13 + .../Events/Game Events/CharGameEvent.cs.meta | 11 + .../Events/Game Events/DoubleGameEvent.cs | 13 + .../Game Events/DoubleGameEvent.cs.meta | 11 + .../Events/Game Events/FloatGameEvent.cs | 13 + .../Events/Game Events/FloatGameEvent.cs.meta | 11 + .../Events/Game Events/GameEvent.cs | 12 + .../Events/Game Events/GameEvent.cs.meta | 11 + .../Events/Game Events/GameEventBase.cs | 114 + .../Events/Game Events/GameEventBase.cs.meta | 11 + .../Events/Game Events/GameEventStackTrace.cs | 82 + .../Game Events/GameEventStackTrace.cs.meta | 11 + .../Events/Game Events/GameObjectGameEvent.cs | 13 + .../Game Events/GameObjectGameEvent.cs.meta | 11 + .../Events/Game Events/IGameEvent.cs | 17 + .../Events/Game Events/IGameEvent.cs.meta | 11 + .../Events/Game Events/IntGameEvent.cs | 13 + .../Events/Game Events/IntGameEvent.cs.meta | 11 + .../Events/Game Events/LongGameEvent.cs | 13 + .../Events/Game Events/LongGameEvent.cs.meta | 11 + .../Events/Game Events/ObjectGameEvent.cs | 13 + .../Game Events/ObjectGameEvent.cs.meta | 11 + .../Events/Game Events/QuaternionGameEvent.cs | 13 + .../Game Events/QuaternionGameEvent.cs.meta | 11 + .../Events/Game Events/SByteGameEvent.cs | 13 + .../Events/Game Events/SByteGameEvent.cs.meta | 11 + .../Events/Game Events/ShortGameEvent.cs | 13 + .../Events/Game Events/ShortGameEvent.cs.meta | 11 + .../Events/Game Events/StringGameEvent.cs | 13 + .../Game Events/StringGameEvent.cs.meta | 11 + .../Events/Game Events/UIntGameEvent.cs | 13 + .../Events/Game Events/UIntGameEvent.cs.meta | 11 + .../Events/Game Events/ULongGameEvent.cs | 13 + .../Events/Game Events/ULongGameEvent.cs.meta | 11 + .../Events/Game Events/UShortGameEvent.cs | 13 + .../Game Events/UShortGameEvent.cs.meta | 11 + .../Events/Game Events/Vector2GameEvent.cs | 13 + .../Game Events/Vector2GameEvent.cs.meta | 11 + .../Events/Game Events/Vector3GameEvent.cs | 13 + .../Game Events/Vector3GameEvent.cs.meta | 11 + .../Events/Game Events/Vector4GameEvent.cs | 13 + .../Game Events/Vector4GameEvent.cs.meta | 11 + .../ScriptableObjects/Events/Listeners.meta | 8 + .../Listeners/AudioClipGameEventListener.cs | 10 + .../AudioClipGameEventListener.cs.meta | 11 + .../Events/Listeners/BaseGameEventListener.cs | 299 + .../Listeners/BaseGameEventListener.cs.meta | 11 + .../Events/Listeners/BoolGameEventListener.cs | 9 + .../Listeners/BoolGameEventListener.cs.meta | 11 + .../Events/Listeners/ByteGameEventListener.cs | 9 + .../Listeners/ByteGameEventListener.cs.meta | 11 + .../Events/Listeners/CharGameEventListener.cs | 9 + .../Listeners/CharGameEventListener.cs.meta | 11 + .../Listeners/DoubleGameEventListener.cs | 9 + .../Listeners/DoubleGameEventListener.cs.meta | 11 + .../Listeners/FloatGameEventListener.cs | 9 + .../Listeners/FloatGameEventListener.cs.meta | 11 + .../Events/Listeners/GameEventListener.cs | 11 + .../Listeners/GameEventListener.cs.meta | 11 + .../Listeners/GameObjectGameEventListener.cs | 9 + .../GameObjectGameEventListener.cs.meta | 11 + .../Events/Listeners/IGameEventListener.cs | 11 + .../Listeners/IGameEventListener.cs.meta | 11 + .../Events/Listeners/IntGameEventListener.cs | 9 + .../Listeners/IntGameEventListener.cs.meta | 11 + .../Events/Listeners/LongGameEventListener.cs | 9 + .../Listeners/LongGameEventListener.cs.meta | 11 + .../Listeners/ObjectGameEventListener.cs | 9 + .../Listeners/ObjectGameEventListener.cs.meta | 11 + .../Listeners/QuaternionGameEventListener.cs | 9 + .../QuaternionGameEventListener.cs.meta | 11 + .../Listeners/SByteGameEventListener.cs | 9 + .../Listeners/SByteGameEventListener.cs.meta | 11 + .../Listeners/ShortGameEventListener.cs | 9 + .../Listeners/ShortGameEventListener.cs.meta | 11 + .../Listeners/StringGameEventListener.cs | 9 + .../Listeners/StringGameEventListener.cs.meta | 11 + .../Events/Listeners/UIntGameEventListener.cs | 9 + .../Listeners/UIntGameEventListener.cs.meta | 11 + .../Listeners/ULongGameEventListener.cs | 9 + .../Listeners/ULongGameEventListener.cs.meta | 11 + .../Listeners/UShortGameEventListener.cs | 9 + .../Listeners/UShortGameEventListener.cs.meta | 11 + .../Listeners/Vector2GameEventListener.cs | 9 + .../Vector2GameEventListener.cs.meta | 11 + .../Listeners/Vector3GameEventListener.cs | 9 + .../Vector3GameEventListener.cs.meta | 11 + .../Listeners/Vector4GameEventListener.cs | 9 + .../Vector4GameEventListener.cs.meta | 11 + .../ScriptableObjects/Events/Responses.meta | 8 + .../Events/Responses/AudioClipUnityEvent.cs | 11 + .../Responses/AudioClipUnityEvent.cs.meta | 3 + .../Events/Responses/BoolUnityEvent.cs | 9 + .../Events/Responses/BoolUnityEvent.cs.meta | 11 + .../Events/Responses/ByteUnityEvent.cs | 9 + .../Events/Responses/ByteUnityEvent.cs.meta | 11 + .../Events/Responses/CharUnityEvent.cs | 9 + .../Events/Responses/CharUnityEvent.cs.meta | 11 + .../Events/Responses/DoubleUnityEvent.cs | 9 + .../Events/Responses/DoubleUnityEvent.cs.meta | 11 + .../Events/Responses/FloatUnityEvent.cs | 9 + .../Events/Responses/FloatUnityEvent.cs.meta | 11 + .../Events/Responses/GameObjectUnityEvent.cs | 10 + .../Responses/GameObjectUnityEvent.cs.meta | 11 + .../Events/Responses/IntUnityEvent.cs | 9 + .../Events/Responses/IntUnityEvent.cs.meta | 11 + .../Events/Responses/LongUnityEvent.cs | 9 + .../Events/Responses/LongUnityEvent.cs.meta | 11 + .../Events/Responses/ObjectUnityEvent.cs | 10 + .../Events/Responses/ObjectUnityEvent.cs.meta | 11 + .../Events/Responses/QuaternionUnityEvent.cs | 10 + .../Responses/QuaternionUnityEvent.cs.meta | 11 + .../Events/Responses/SByteUnityEvent.cs | 9 + .../Events/Responses/SByteUnityEvent.cs.meta | 11 + .../Events/Responses/ShortUnityEvent.cs | 9 + .../Events/Responses/ShortUnityEvent.cs.meta | 11 + .../Events/Responses/StringUnityEvent.cs | 9 + .../Events/Responses/StringUnityEvent.cs.meta | 11 + .../Events/Responses/UIntUnityEvent.cs | 9 + .../Events/Responses/UIntUnityEvent.cs.meta | 11 + .../Events/Responses/ULongUnityEvent.cs | 9 + .../Events/Responses/ULongUnityEvent.cs.meta | 11 + .../Events/Responses/UShortUnityEvent.cs | 9 + .../Events/Responses/UShortUnityEvent.cs.meta | 11 + .../Events/Responses/Vector2UnityEvent.cs | 10 + .../Responses/Vector2UnityEvent.cs.meta | 11 + .../Events/Responses/Vector3UnityEvent.cs | 10 + .../Responses/Vector3UnityEvent.cs.meta | 11 + .../Events/Responses/Vector4UnityEvent.cs | 10 + .../Responses/Vector4UnityEvent.cs.meta | 11 + Architecture/ScriptableObjects/Examples.meta | 8 + .../ScriptableObjects/Examples/Objects.meta | 8 + .../Objects/OnDisableRandomThing.asset | 15 + .../Objects/OnDisableRandomThing.asset.meta | 8 + .../Examples/Objects/OnPlayerDamaged.asset | 15 + .../Objects/OnPlayerDamaged.asset.meta | 8 + .../Examples/Objects/Player Health.asset | 21 + .../Examples/Objects/Player Health.asset.meta | 8 + .../Examples/Objects/Player Move Speed.asset | 15 + .../Objects/Player Move Speed.asset.meta | 8 + .../Objects/Player Starting Health.asset | 15 + .../Objects/Player Starting Health.asset.meta | 8 + .../Objects/Sphere Of Pain Damage.asset | 15 + .../Objects/Sphere Of Pain Damage.asset.meta | 8 + .../Examples/Objects/Thing Collection.asset | 18 + .../Objects/Thing Collection.asset.meta | 8 + .../ScriptableObjects/Examples/Prefabs.meta | 8 + .../Prefabs/Event Example Player.prefab | 4861 +++++++++++++++++ .../Prefabs/Event Example Player.prefab.meta | 8 + .../Examples/Prefabs/Healtbar.prefab | 173 + .../Examples/Prefabs/Healtbar.prefab.meta | 8 + .../Prefabs/Reference Example Player.prefab | 151 + .../Reference Example Player.prefab.meta | 8 + .../Prefabs/Sphere Of Pain With Event.prefab | 115 + .../Sphere Of Pain With Event.prefab.meta | 8 + .../Examples/Prefabs/Sphere Of Pain.prefab | 114 + .../Prefabs/Sphere Of Pain.prefab.meta | 8 + .../ScriptableObjects/Examples/Scenes.meta | 8 + .../Scenes/Example #01 - References.unity | 781 +++ .../Example #01 - References.unity.meta | 7 + .../Scenes/Example #02 - Events.unity | 760 +++ .../Scenes/Example #02 - Events.unity.meta | 7 + .../Scenes/Example #03 - Collections.unity | 1369 +++++ .../Example #03 - Collections.unity.meta | 7 + .../ScriptableObjects/Examples/Scripts.meta | 8 + .../Scripts/CollectionCountDisplayer.cs | 20 + .../Scripts/CollectionCountDisplayer.cs.meta | 11 + .../Examples/Scripts/DamageDealer.cs | 22 + .../Examples/Scripts/DamageDealer.cs.meta | 11 + .../Examples/Scripts/DamageDealerWithEvent.cs | 17 + .../Scripts/DamageDealerWithEvent.cs.meta | 11 + .../Examples/Scripts/Disabler.cs | 21 + .../Examples/Scripts/Disabler.cs.meta | 11 + .../Examples/Scripts/ImageFillSetter.cs | 21 + .../Examples/Scripts/ImageFillSetter.cs.meta | 11 + .../Examples/Scripts/KeyboardMover.cs | 25 + .../Examples/Scripts/KeyboardMover.cs.meta | 11 + .../Examples/Scripts/ObjectAdder.cs | 19 + .../Examples/Scripts/ObjectAdder.cs.meta | 11 + .../Examples/Scripts/UnitHealth.cs | 20 + .../Examples/Scripts/UnitHealth.cs.meta | 11 + .../ScriptableObjects/Examples/Textures.meta | 8 + .../Examples/Textures/White.png | Bin 0 -> 17241 bytes .../Examples/Textures/White.png.meta | 103 + .../ScriptableObjects/Extensions.meta | 3 + .../Extensions/QuaternionExtensions.cs | 21 + .../Extensions/QuaternionExtensions.cs.meta | 3 + .../Extensions/Vector4Extensions.cs | 21 + .../Extensions/Vector4Extensions.cs.meta | 11 + .../ScriptableObjects/References.meta | 8 + .../References/AnimationCurveReference.cs | 11 + .../AnimationCurveReference.cs.meta | 11 + .../References/AudioClipReference.cs | 11 + .../References/AudioClipReference.cs.meta | 11 + .../References/BaseReference.cs | 86 + .../References/BaseReference.cs.meta | 11 + .../References/BoolReference.cs | 9 + .../References/BoolReference.cs.meta | 11 + .../References/ByteReference.cs | 9 + .../References/ByteReference.cs.meta | 11 + .../References/CharReference.cs | 9 + .../References/CharReference.cs.meta | 11 + .../References/Color32Reference.cs | 11 + .../References/Color32Reference.cs.meta | 11 + .../References/ColorReference.cs | 11 + .../References/ColorReference.cs.meta | 11 + .../References/DoubleReference.cs | 9 + .../References/DoubleReference.cs.meta | 11 + .../References/FloatReference.cs | 9 + .../References/FloatReference.cs.meta | 11 + .../References/GameObjectReference.cs | 11 + .../References/GameObjectReference.cs.meta | 11 + .../References/IntReference.cs | 9 + .../References/IntReference.cs.meta | 11 + .../References/LayerMaskReference.cs | 11 + .../References/LayerMaskReference.cs.meta | 11 + .../References/LongReference.cs | 9 + .../References/LongReference.cs.meta | 11 + .../References/ObjectReference.cs | 11 + .../References/ObjectReference.cs.meta | 11 + .../References/QuaternionReference.cs | 11 + .../References/QuaternionReference.cs.meta | 11 + .../References/SByteReference.cs | 9 + .../References/SByteReference.cs.meta | 11 + .../References/SceneReference.cs | 13 + .../References/SceneReference.cs.meta | 11 + .../References/ShortReference.cs | 9 + .../References/ShortReference.cs.meta | 11 + .../References/StringReference.cs | 9 + .../References/StringReference.cs.meta | 11 + .../References/UIntReference.cs | 9 + .../References/UIntReference.cs.meta | 11 + .../References/ULongReference.cs | 9 + .../References/ULongReference.cs.meta | 11 + .../References/UShortReference.cs | 9 + .../References/UShortReference.cs.meta | 11 + .../References/Vector2Reference.cs | 11 + .../References/Vector2Reference.cs.meta | 11 + .../References/Vector3Reference.cs | 11 + .../References/Vector3Reference.cs.meta | 11 + .../References/Vector4Reference.cs | 11 + .../References/Vector4Reference.cs.meta | 11 + .../ScriptableObjects/RuntimeSets.meta | 8 + .../SOArchitecturePreferences.cs | 187 + .../SOArchitecturePreferences.cs.meta | 3 + .../ScriptableObject-Architecture.asmdef | 3 + .../ScriptableObject-Architecture.asmdef.meta | 7 + Architecture/ScriptableObjects/Utility.meta | 8 + .../Utility/IStackTraceObject.cs | 12 + .../Utility/IStackTraceObject.cs.meta | 11 + .../SOArchitectureBaseMonobehaviour.cs | 11 + .../SOArchitectureBaseMonobehaviour.cs.meta | 11 + .../Utility/SOArchitectureBaseObject.cs | 11 + .../Utility/SOArchitectureBaseObject.cs.meta | 11 + .../Utility/SOArchitecture_Settings.cs | 111 + .../Utility/SOArchitecture_Settings.cs.meta | 11 + .../Utility/SOArchitecture_Utility.cs | 21 + .../Utility/SOArchitecture_Utility.cs.meta | 11 + Architecture/ScriptableObjects/Variables.meta | 8 + .../Variables/AnimationCurveVariable.cs | 16 + .../Variables/AnimationCurveVariable.cs.meta | 11 + .../Variables/AudioClipVariable.cs | 16 + .../Variables/AudioClipVariable.cs.meta | 11 + .../Variables/BaseVariable.cs | 154 + .../Variables/BaseVariable.cs.meta | 11 + .../Variables/BoolVariable.cs | 16 + .../Variables/BoolVariable.cs.meta | 11 + .../Variables/ByteVariable.cs | 32 + .../Variables/ByteVariable.cs.meta | 11 + .../Variables/CharVariable.cs | 16 + .../Variables/CharVariable.cs.meta | 11 + .../Variables/Color32Variable.cs | 16 + .../Variables/Color32Variable.cs.meta | 11 + .../Variables/ColorVariable.cs | 16 + .../Variables/ColorVariable.cs.meta | 11 + .../Variables/DoubleVariable.cs | 32 + .../Variables/DoubleVariable.cs.meta | 11 + .../Variables/FloatVariable.cs | 32 + .../Variables/FloatVariable.cs.meta | 11 + .../Variables/GameObjectVariable.cs | 16 + .../Variables/GameObjectVariable.cs.meta | 11 + .../Variables/IntVariable.cs | 32 + .../Variables/IntVariable.cs.meta | 11 + .../Variables/LayerMaskVariable.cs | 16 + .../Variables/LayerMaskVariable.cs.meta | 11 + .../Variables/LongVariable.cs | 32 + .../Variables/LongVariable.cs.meta | 11 + .../Variables/ObjectVariable.cs | 16 + .../Variables/ObjectVariable.cs.meta | 11 + .../Variables/QuaternionVariable.cs | 16 + .../Variables/QuaternionVariable.cs.meta | 11 + .../Variables/SByteVariable.cs | 32 + .../Variables/SByteVariable.cs.meta | 11 + .../Variables/SceneVariable.cs | 131 + .../Variables/SceneVariable.cs.meta | 11 + .../Variables/ShortVariable.cs | 32 + .../Variables/ShortVariable.cs.meta | 11 + .../Variables/StringVariable.cs | 16 + .../Variables/StringVariable.cs.meta | 11 + .../Variables/UIntVariable.cs | 32 + .../Variables/UIntVariable.cs.meta | 11 + .../Variables/ULongVariable.cs | 32 + .../Variables/ULongVariable.cs.meta | 11 + .../Variables/UShortVariable.cs | 32 + .../Variables/UShortVariable.cs.meta | 11 + .../Variables/Vector2Variable.cs | 16 + .../Variables/Vector2Variable.cs.meta | 11 + .../Variables/Vector3Variable.cs | 16 + .../Variables/Vector3Variable.cs.meta | 11 + .../Variables/Vector4Variable.cs | 16 + .../Variables/Vector4Variable.cs.meta | 11 + Architecture/ScriptableObjects/package.json | 1 + .../ScriptableObjects/package.json.meta | 7 + 647 files changed, 25284 insertions(+) create mode 100644 Architecture.meta create mode 100644 Architecture/ScriptableObjects.meta create mode 100644 Architecture/ScriptableObjects/AssemblyInfo.cs create mode 100644 Architecture/ScriptableObjects/AssemblyInfo.cs.meta create mode 100644 Architecture/ScriptableObjects/Attributes.meta create mode 100644 Architecture/ScriptableObjects/Attributes/MultiLine.cs create mode 100644 Architecture/ScriptableObjects/Attributes/MultiLine.cs.meta create mode 100644 Architecture/ScriptableObjects/Collections.meta create mode 100644 Architecture/ScriptableObjects/Collections/AnimationCurveCollection.cs create mode 100644 Architecture/ScriptableObjects/Collections/AnimationCurveCollection.cs.meta create mode 100644 Architecture/ScriptableObjects/Collections/AudioClipCollection.cs create mode 100644 Architecture/ScriptableObjects/Collections/AudioClipCollection.cs.meta create mode 100644 Architecture/ScriptableObjects/Collections/BaseCollection.cs create mode 100644 Architecture/ScriptableObjects/Collections/BaseCollection.cs.meta create mode 100644 Architecture/ScriptableObjects/Collections/BoolCollection.cs create mode 100644 Architecture/ScriptableObjects/Collections/BoolCollection.cs.meta create mode 100644 Architecture/ScriptableObjects/Collections/ByteCollection.cs create mode 100644 Architecture/ScriptableObjects/Collections/ByteCollection.cs.meta create mode 100644 Architecture/ScriptableObjects/Collections/CharCollection.cs create mode 100644 Architecture/ScriptableObjects/Collections/CharCollection.cs.meta create mode 100644 Architecture/ScriptableObjects/Collections/Collection.cs create mode 100644 Architecture/ScriptableObjects/Collections/Collection.cs.meta create mode 100644 Architecture/ScriptableObjects/Collections/Color32Collection.cs create mode 100644 Architecture/ScriptableObjects/Collections/Color32Collection.cs.meta create mode 100644 Architecture/ScriptableObjects/Collections/ColorCollection.cs create mode 100644 Architecture/ScriptableObjects/Collections/ColorCollection.cs.meta create mode 100644 Architecture/ScriptableObjects/Collections/DoubleCollection.cs create mode 100644 Architecture/ScriptableObjects/Collections/DoubleCollection.cs.meta create mode 100644 Architecture/ScriptableObjects/Collections/FloatCollection.cs create mode 100644 Architecture/ScriptableObjects/Collections/FloatCollection.cs.meta create mode 100644 Architecture/ScriptableObjects/Collections/GameObjectCollection.cs create mode 100644 Architecture/ScriptableObjects/Collections/GameObjectCollection.cs.meta create mode 100644 Architecture/ScriptableObjects/Collections/IntCollection.cs create mode 100644 Architecture/ScriptableObjects/Collections/IntCollection.cs.meta create mode 100644 Architecture/ScriptableObjects/Collections/LongCollection.cs create mode 100644 Architecture/ScriptableObjects/Collections/LongCollection.cs.meta create mode 100644 Architecture/ScriptableObjects/Collections/ObjectCollection.cs create mode 100644 Architecture/ScriptableObjects/Collections/ObjectCollection.cs.meta create mode 100644 Architecture/ScriptableObjects/Collections/QuaternionCollection.cs create mode 100644 Architecture/ScriptableObjects/Collections/QuaternionCollection.cs.meta create mode 100644 Architecture/ScriptableObjects/Collections/SbyteCollection.cs create mode 100644 Architecture/ScriptableObjects/Collections/SbyteCollection.cs.meta create mode 100644 Architecture/ScriptableObjects/Collections/SceneCollection.cs create mode 100644 Architecture/ScriptableObjects/Collections/SceneCollection.cs.meta create mode 100644 Architecture/ScriptableObjects/Collections/ShortCollection.cs create mode 100644 Architecture/ScriptableObjects/Collections/ShortCollection.cs.meta create mode 100644 Architecture/ScriptableObjects/Collections/StringCollection.cs create mode 100644 Architecture/ScriptableObjects/Collections/StringCollection.cs.meta create mode 100644 Architecture/ScriptableObjects/Collections/UintCollection.cs create mode 100644 Architecture/ScriptableObjects/Collections/UintCollection.cs.meta create mode 100644 Architecture/ScriptableObjects/Collections/UlongCollection.cs create mode 100644 Architecture/ScriptableObjects/Collections/UlongCollection.cs.meta create mode 100644 Architecture/ScriptableObjects/Collections/UshortCollection.cs create mode 100644 Architecture/ScriptableObjects/Collections/UshortCollection.cs.meta create mode 100644 Architecture/ScriptableObjects/Collections/Vector2Collection.cs create mode 100644 Architecture/ScriptableObjects/Collections/Vector2Collection.cs.meta create mode 100644 Architecture/ScriptableObjects/Collections/Vector3Collection.cs create mode 100644 Architecture/ScriptableObjects/Collections/Vector3Collection.cs.meta create mode 100644 Architecture/ScriptableObjects/Collections/Vector4Collection.cs create mode 100644 Architecture/ScriptableObjects/Collections/Vector4Collection.cs.meta create mode 100644 Architecture/ScriptableObjects/Documentation.meta create mode 100644 Architecture/ScriptableObjects/Documentation/Collection.txt create mode 100644 Architecture/ScriptableObjects/Documentation/Collection.txt.meta create mode 100644 Architecture/ScriptableObjects/Documentation/Event-Listeners.txt create mode 100644 Architecture/ScriptableObjects/Documentation/Event-Listeners.txt.meta create mode 100644 Architecture/ScriptableObjects/Documentation/Events.txt create mode 100644 Architecture/ScriptableObjects/Documentation/Events.txt.meta create mode 100644 Architecture/ScriptableObjects/Documentation/References.txt create mode 100644 Architecture/ScriptableObjects/Documentation/References.txt.meta create mode 100644 Architecture/ScriptableObjects/Documentation/Variables.txt create mode 100644 Architecture/ScriptableObjects/Documentation/Variables.txt.meta create mode 100644 Architecture/ScriptableObjects/Editor.meta create mode 100644 Architecture/ScriptableObjects/Editor/BaseReferenceHelper.cs create mode 100644 Architecture/ScriptableObjects/Editor/BaseReferenceHelper.cs.meta create mode 100644 Architecture/ScriptableObjects/Editor/Code Generation.meta create mode 100644 Architecture/ScriptableObjects/Editor/Code Generation/SO_CodeGenerationWindow.cs create mode 100644 Architecture/ScriptableObjects/Editor/Code Generation/SO_CodeGenerationWindow.cs.meta create mode 100644 Architecture/ScriptableObjects/Editor/Code Generation/SO_CodeGenerator.cs create mode 100644 Architecture/ScriptableObjects/Editor/Code Generation/SO_CodeGenerator.cs.meta create mode 100644 Architecture/ScriptableObjects/Editor/Code Generation/Templates.meta create mode 100644 Architecture/ScriptableObjects/Editor/Code Generation/Templates/CollectionTemplate create mode 100644 Architecture/ScriptableObjects/Editor/Code Generation/Templates/CollectionTemplate.meta create mode 100644 Architecture/ScriptableObjects/Editor/Code Generation/Templates/GameEventListenerTemplate create mode 100644 Architecture/ScriptableObjects/Editor/Code Generation/Templates/GameEventListenerTemplate.meta create mode 100644 Architecture/ScriptableObjects/Editor/Code Generation/Templates/GameEventTemplate create mode 100644 Architecture/ScriptableObjects/Editor/Code Generation/Templates/GameEventTemplate.meta create mode 100644 Architecture/ScriptableObjects/Editor/Code Generation/Templates/ReferenceTemplate create mode 100644 Architecture/ScriptableObjects/Editor/Code Generation/Templates/ReferenceTemplate.meta create mode 100644 Architecture/ScriptableObjects/Editor/Code Generation/Templates/UnityEventTemplate create mode 100644 Architecture/ScriptableObjects/Editor/Code Generation/Templates/UnityEventTemplate.meta create mode 100644 Architecture/ScriptableObjects/Editor/Code Generation/Templates/VariableTemplate create mode 100644 Architecture/ScriptableObjects/Editor/Code Generation/Templates/VariableTemplate.meta create mode 100644 Architecture/ScriptableObjects/Editor/Drawers.meta create mode 100644 Architecture/ScriptableObjects/Editor/Drawers/BaseReferenceDrawer.cs create mode 100644 Architecture/ScriptableObjects/Editor/Drawers/BaseReferenceDrawer.cs.meta create mode 100644 Architecture/ScriptableObjects/Editor/Drawers/GenericPropertyDrawer.cs create mode 100644 Architecture/ScriptableObjects/Editor/Drawers/GenericPropertyDrawer.cs.meta create mode 100644 Architecture/ScriptableObjects/Editor/Drawers/QuaternionDrawer.cs create mode 100644 Architecture/ScriptableObjects/Editor/Drawers/QuaternionDrawer.cs.meta create mode 100644 Architecture/ScriptableObjects/Editor/Drawers/SceneInfoPropertyDrawer.cs create mode 100644 Architecture/ScriptableObjects/Editor/Drawers/SceneInfoPropertyDrawer.cs.meta create mode 100644 Architecture/ScriptableObjects/Editor/Drawers/Vector4Drawer.cs create mode 100644 Architecture/ScriptableObjects/Editor/Drawers/Vector4Drawer.cs.meta create mode 100644 Architecture/ScriptableObjects/Editor/Generic Property Drawer.meta create mode 100644 Architecture/ScriptableObjects/Editor/Generic Property Drawer/BasePropertyDrawIterator.cs create mode 100644 Architecture/ScriptableObjects/Editor/Generic Property Drawer/BasePropertyDrawIterator.cs.meta create mode 100644 Architecture/ScriptableObjects/Editor/Generic Property Drawer/IPropertyDrawIterator.cs create mode 100644 Architecture/ScriptableObjects/Editor/Generic Property Drawer/IPropertyDrawIterator.cs.meta create mode 100644 Architecture/ScriptableObjects/Editor/Generic Property Drawer/IPropertyIterator.cs create mode 100644 Architecture/ScriptableObjects/Editor/Generic Property Drawer/IPropertyIterator.cs.meta create mode 100644 Architecture/ScriptableObjects/Editor/Generic Property Drawer/PropertyDrawIterator.cs create mode 100644 Architecture/ScriptableObjects/Editor/Generic Property Drawer/PropertyDrawIterator.cs.meta create mode 100644 Architecture/ScriptableObjects/Editor/Generic Property Drawer/PropertyDrawIteratorLayout.cs create mode 100644 Architecture/ScriptableObjects/Editor/Generic Property Drawer/PropertyDrawIteratorLayout.cs.meta create mode 100644 Architecture/ScriptableObjects/Editor/Generic Property Drawer/PropertyIterator.cs create mode 100644 Architecture/ScriptableObjects/Editor/Generic Property Drawer/PropertyIterator.cs.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Collections.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Collections/AnimationCurveCollectionIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Collections/AnimationCurveCollectionIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Collections/AudioClipCollectionIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Collections/AudioClipCollectionIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Collections/BoolCollectionIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Collections/BoolCollectionIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Collections/ByteCollectionIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Collections/ByteCollectionIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Collections/CharCollectionIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Collections/CharCollectionIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Collections/ColorCollectionIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Collections/ColorCollectionIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Collections/DoubleCollectionIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Collections/DoubleCollectionIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Collections/FloatCollectionIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Collections/FloatCollectionIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Collections/GameObjectCollectionIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Collections/GameObjectCollectionIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Collections/IntCollectionIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Collections/IntCollectionIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Collections/LongCollectionIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Collections/LongCollectionIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Collections/ObjectCollectionIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Collections/ObjectCollectionIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Collections/QuaternionCollectionIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Collections/QuaternionCollectionIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Collections/SceneCollectionIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Collections/SceneCollectionIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Collections/ShortCollectionIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Collections/ShortCollectionIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Collections/SignedByteCollectionIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Collections/SignedByteCollectionIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Collections/StringCollectionIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Collections/StringCollectionIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Collections/UnsignedIntCollectionIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Collections/UnsignedIntCollectionIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Collections/UnsignedLongCollectionIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Collections/UnsignedLongCollectionIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Collections/UnsignedShortCollectionIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Collections/UnsignedShortCollectionIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Collections/Vector2CollectionIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Collections/Vector2CollectionIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Collections/Vector3CollectionIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Collections/Vector3CollectionIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Collections/Vector4CollectionIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Collections/Vector4CollectionIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/AudioClipGameEventListenerIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/AudioClipGameEventListenerIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/BoolGameEventListenerIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/BoolGameEventListenerIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/ByteGameEventListenerIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/ByteGameEventListenerIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/CharGameEventListenerIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/CharGameEventListenerIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/DoubleGameEventListenerIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/DoubleGameEventListenerIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/FloatGameEventListenerIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/FloatGameEventListenerIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/GameObjectGameEventListenerIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/GameObjectGameEventListenerIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/IntegerGameEventListenerIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/IntegerGameEventListenerIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/LongGameEventListenerIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/LongGameEventListenerIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/ObjectGameEventListenerIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/ObjectGameEventListenerIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/QuaternionGameEventListenerIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/QuaternionGameEventListenerIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/ShortGameEventListenerIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/ShortGameEventListenerIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/SignedByteGameEventListenerIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/SignedByteGameEventListenerIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/StringGameEventListenerIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/StringGameEventListenerIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/UnsignedIntGameEventListenerIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/UnsignedIntGameEventListenerIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/UnsignedLongGameEventListenerIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/UnsignedLongGameEventListenerIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/UnsignedShortGameEventListenerIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/UnsignedShortGameEventListenerIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/Vector2GameEventListenerIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/Vector2GameEventListenerIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/Vector3GameEventListenerIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/Vector3GameEventListenerIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/Vector4GameEventListenerIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/Vector4GameEventListenerIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/VoidGameEventListenerIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/VoidGameEventListenerIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Events.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Events/AudioClipGameEventIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Events/AudioClipGameEventIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Events/BoolGameEventIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Events/BoolGameEventIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Events/ByteGameEventIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Events/ByteGameEventIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Events/CharGameEventIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Events/CharGameEventIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Events/DoubleGameEventIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Events/DoubleGameEventIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Events/FloatGameEventIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Events/FloatGameEventIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Events/GameObjectGameEventIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Events/GameObjectGameEventIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Events/IntegerGameEventIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Events/IntegerGameEventIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Events/LongGameEventIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Events/LongGameEventIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Events/ObjectGameEventIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Events/ObjectGameEventIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Events/QuaternionGameEventIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Events/QuaternionGameEventIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Events/ShortGameEventIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Events/ShortGameEventIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Events/SignedByteGameEventIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Events/SignedByteGameEventIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Events/StringGameEventIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Events/StringGameEventIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Events/UnsignedIntegerGameEventIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Events/UnsignedIntegerGameEventIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Events/UnsignedLongGameEventIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Events/UnsignedLongGameEventIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Events/UnsignedShortGameEventIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Events/UnsignedShortGameEventIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Events/Vector2GameEventIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Events/Vector2GameEventIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Events/Vector3GameEventIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Events/Vector3GameEventIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Events/Vector4GameEventIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Events/Vector4GameEventIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Events/VoidGameEventIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Game Events/VoidGameEventIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Template.psd create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Template.psd.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Variables.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Variables/AnimationCurveVariableIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Variables/AnimationCurveVariableIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Variables/AudioClipVariableIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Variables/AudioClipVariableIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Variables/BoolVariableIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Variables/BoolVariableIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Variables/ByteVariableIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Variables/ByteVariableIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Variables/CharVariableIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Variables/CharVariableIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Variables/ColorVariableIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Variables/ColorVariableIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Variables/DoubleVariableIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Variables/DoubleVariableIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Variables/FloatVariableIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Variables/FloatVariableIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Variables/GameObjectVariableIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Variables/GameObjectVariableIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Variables/IntVariableIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Variables/IntVariableIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Variables/LayerMaskVariableIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Variables/LayerMaskVariableIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Variables/LongVariableIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Variables/LongVariableIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Variables/ObjectVariableIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Variables/ObjectVariableIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Variables/QuaternionVariableIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Variables/QuaternionVariableIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Variables/SceneVariableIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Variables/SceneVariableIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Variables/ShortVariableIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Variables/ShortVariableIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Variables/SignedByteVariableIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Variables/SignedByteVariableIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Variables/StringVariableIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Variables/StringVariableIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Variables/UnsignedIntVariableIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Variables/UnsignedIntVariableIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Variables/UnsignedLongVariableIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Variables/UnsignedLongVariableIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Variables/UnsignedShortVariableIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Variables/UnsignedShortVariableIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Variables/Vector2VariableIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Variables/Vector2VariableIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Variables/Vector3VariableIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Variables/Vector3VariableIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Variables/Vector4VariableIcon.png create mode 100644 Architecture/ScriptableObjects/Editor/Icons/Variables/Vector4VariableIcon.png.meta create mode 100644 Architecture/ScriptableObjects/Editor/Inspectors.meta create mode 100644 Architecture/ScriptableObjects/Editor/Inspectors/BaseGameEventEditor.cs create mode 100644 Architecture/ScriptableObjects/Editor/Inspectors/BaseGameEventEditor.cs.meta create mode 100644 Architecture/ScriptableObjects/Editor/Inspectors/BaseGameEventListenerEditor.cs create mode 100644 Architecture/ScriptableObjects/Editor/Inspectors/BaseGameEventListenerEditor.cs.meta create mode 100644 Architecture/ScriptableObjects/Editor/Inspectors/BaseVariableEditor.cs create mode 100644 Architecture/ScriptableObjects/Editor/Inspectors/BaseVariableEditor.cs.meta create mode 100644 Architecture/ScriptableObjects/Editor/Inspectors/CollectionEditor.cs create mode 100644 Architecture/ScriptableObjects/Editor/Inspectors/CollectionEditor.cs.meta create mode 100644 Architecture/ScriptableObjects/Editor/Inspectors/GameEventEditor.cs create mode 100644 Architecture/ScriptableObjects/Editor/Inspectors/GameEventEditor.cs.meta create mode 100644 Architecture/ScriptableObjects/Editor/Inspectors/GameEventListenerEditor.cs create mode 100644 Architecture/ScriptableObjects/Editor/Inspectors/GameEventListenerEditor.cs.meta create mode 100644 Architecture/ScriptableObjects/Editor/Inspectors/SceneVariableEditor.cs create mode 100644 Architecture/ScriptableObjects/Editor/Inspectors/SceneVariableEditor.cs.meta create mode 100644 Architecture/ScriptableObjects/Editor/Inspectors/StackTrace.cs create mode 100644 Architecture/ScriptableObjects/Editor/Inspectors/StackTrace.cs.meta create mode 100644 Architecture/ScriptableObjects/Editor/Inspectors/TypedGameEventEditor.cs create mode 100644 Architecture/ScriptableObjects/Editor/Inspectors/TypedGameEventEditor.cs.meta create mode 100644 Architecture/ScriptableObjects/Editor/Inspectors/TypesGameEventListenerEditor.cs create mode 100644 Architecture/ScriptableObjects/Editor/Inspectors/TypesGameEventListenerEditor.cs.meta create mode 100644 Architecture/ScriptableObjects/Editor/SOArchitecture_EditorUtility.cs create mode 100644 Architecture/ScriptableObjects/Editor/SOArchitecture_EditorUtility.cs.meta create mode 100644 Architecture/ScriptableObjects/Editor/ScriptableObject-Architecture.Editor.asmdef create mode 100644 Architecture/ScriptableObjects/Editor/ScriptableObject-Architecture.Editor.asmdef.meta create mode 100644 Architecture/ScriptableObjects/Events.meta create mode 100644 Architecture/ScriptableObjects/Events/Game Events.meta create mode 100644 Architecture/ScriptableObjects/Events/Game Events/AudioClipGameEvent.cs create mode 100644 Architecture/ScriptableObjects/Events/Game Events/AudioClipGameEvent.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Game Events/BoolGameEvent.cs create mode 100644 Architecture/ScriptableObjects/Events/Game Events/BoolGameEvent.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Game Events/ByteGameEvent.cs create mode 100644 Architecture/ScriptableObjects/Events/Game Events/ByteGameEvent.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Game Events/CharGameEvent.cs create mode 100644 Architecture/ScriptableObjects/Events/Game Events/CharGameEvent.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Game Events/DoubleGameEvent.cs create mode 100644 Architecture/ScriptableObjects/Events/Game Events/DoubleGameEvent.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Game Events/FloatGameEvent.cs create mode 100644 Architecture/ScriptableObjects/Events/Game Events/FloatGameEvent.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Game Events/GameEvent.cs create mode 100644 Architecture/ScriptableObjects/Events/Game Events/GameEvent.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Game Events/GameEventBase.cs create mode 100644 Architecture/ScriptableObjects/Events/Game Events/GameEventBase.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Game Events/GameEventStackTrace.cs create mode 100644 Architecture/ScriptableObjects/Events/Game Events/GameEventStackTrace.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Game Events/GameObjectGameEvent.cs create mode 100644 Architecture/ScriptableObjects/Events/Game Events/GameObjectGameEvent.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Game Events/IGameEvent.cs create mode 100644 Architecture/ScriptableObjects/Events/Game Events/IGameEvent.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Game Events/IntGameEvent.cs create mode 100644 Architecture/ScriptableObjects/Events/Game Events/IntGameEvent.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Game Events/LongGameEvent.cs create mode 100644 Architecture/ScriptableObjects/Events/Game Events/LongGameEvent.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Game Events/ObjectGameEvent.cs create mode 100644 Architecture/ScriptableObjects/Events/Game Events/ObjectGameEvent.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Game Events/QuaternionGameEvent.cs create mode 100644 Architecture/ScriptableObjects/Events/Game Events/QuaternionGameEvent.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Game Events/SByteGameEvent.cs create mode 100644 Architecture/ScriptableObjects/Events/Game Events/SByteGameEvent.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Game Events/ShortGameEvent.cs create mode 100644 Architecture/ScriptableObjects/Events/Game Events/ShortGameEvent.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Game Events/StringGameEvent.cs create mode 100644 Architecture/ScriptableObjects/Events/Game Events/StringGameEvent.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Game Events/UIntGameEvent.cs create mode 100644 Architecture/ScriptableObjects/Events/Game Events/UIntGameEvent.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Game Events/ULongGameEvent.cs create mode 100644 Architecture/ScriptableObjects/Events/Game Events/ULongGameEvent.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Game Events/UShortGameEvent.cs create mode 100644 Architecture/ScriptableObjects/Events/Game Events/UShortGameEvent.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Game Events/Vector2GameEvent.cs create mode 100644 Architecture/ScriptableObjects/Events/Game Events/Vector2GameEvent.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Game Events/Vector3GameEvent.cs create mode 100644 Architecture/ScriptableObjects/Events/Game Events/Vector3GameEvent.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Game Events/Vector4GameEvent.cs create mode 100644 Architecture/ScriptableObjects/Events/Game Events/Vector4GameEvent.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Listeners.meta create mode 100644 Architecture/ScriptableObjects/Events/Listeners/AudioClipGameEventListener.cs create mode 100644 Architecture/ScriptableObjects/Events/Listeners/AudioClipGameEventListener.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Listeners/BaseGameEventListener.cs create mode 100644 Architecture/ScriptableObjects/Events/Listeners/BaseGameEventListener.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Listeners/BoolGameEventListener.cs create mode 100644 Architecture/ScriptableObjects/Events/Listeners/BoolGameEventListener.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Listeners/ByteGameEventListener.cs create mode 100644 Architecture/ScriptableObjects/Events/Listeners/ByteGameEventListener.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Listeners/CharGameEventListener.cs create mode 100644 Architecture/ScriptableObjects/Events/Listeners/CharGameEventListener.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Listeners/DoubleGameEventListener.cs create mode 100644 Architecture/ScriptableObjects/Events/Listeners/DoubleGameEventListener.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Listeners/FloatGameEventListener.cs create mode 100644 Architecture/ScriptableObjects/Events/Listeners/FloatGameEventListener.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Listeners/GameEventListener.cs create mode 100644 Architecture/ScriptableObjects/Events/Listeners/GameEventListener.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Listeners/GameObjectGameEventListener.cs create mode 100644 Architecture/ScriptableObjects/Events/Listeners/GameObjectGameEventListener.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Listeners/IGameEventListener.cs create mode 100644 Architecture/ScriptableObjects/Events/Listeners/IGameEventListener.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Listeners/IntGameEventListener.cs create mode 100644 Architecture/ScriptableObjects/Events/Listeners/IntGameEventListener.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Listeners/LongGameEventListener.cs create mode 100644 Architecture/ScriptableObjects/Events/Listeners/LongGameEventListener.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Listeners/ObjectGameEventListener.cs create mode 100644 Architecture/ScriptableObjects/Events/Listeners/ObjectGameEventListener.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Listeners/QuaternionGameEventListener.cs create mode 100644 Architecture/ScriptableObjects/Events/Listeners/QuaternionGameEventListener.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Listeners/SByteGameEventListener.cs create mode 100644 Architecture/ScriptableObjects/Events/Listeners/SByteGameEventListener.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Listeners/ShortGameEventListener.cs create mode 100644 Architecture/ScriptableObjects/Events/Listeners/ShortGameEventListener.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Listeners/StringGameEventListener.cs create mode 100644 Architecture/ScriptableObjects/Events/Listeners/StringGameEventListener.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Listeners/UIntGameEventListener.cs create mode 100644 Architecture/ScriptableObjects/Events/Listeners/UIntGameEventListener.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Listeners/ULongGameEventListener.cs create mode 100644 Architecture/ScriptableObjects/Events/Listeners/ULongGameEventListener.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Listeners/UShortGameEventListener.cs create mode 100644 Architecture/ScriptableObjects/Events/Listeners/UShortGameEventListener.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Listeners/Vector2GameEventListener.cs create mode 100644 Architecture/ScriptableObjects/Events/Listeners/Vector2GameEventListener.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Listeners/Vector3GameEventListener.cs create mode 100644 Architecture/ScriptableObjects/Events/Listeners/Vector3GameEventListener.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Listeners/Vector4GameEventListener.cs create mode 100644 Architecture/ScriptableObjects/Events/Listeners/Vector4GameEventListener.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Responses.meta create mode 100644 Architecture/ScriptableObjects/Events/Responses/AudioClipUnityEvent.cs create mode 100644 Architecture/ScriptableObjects/Events/Responses/AudioClipUnityEvent.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Responses/BoolUnityEvent.cs create mode 100644 Architecture/ScriptableObjects/Events/Responses/BoolUnityEvent.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Responses/ByteUnityEvent.cs create mode 100644 Architecture/ScriptableObjects/Events/Responses/ByteUnityEvent.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Responses/CharUnityEvent.cs create mode 100644 Architecture/ScriptableObjects/Events/Responses/CharUnityEvent.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Responses/DoubleUnityEvent.cs create mode 100644 Architecture/ScriptableObjects/Events/Responses/DoubleUnityEvent.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Responses/FloatUnityEvent.cs create mode 100644 Architecture/ScriptableObjects/Events/Responses/FloatUnityEvent.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Responses/GameObjectUnityEvent.cs create mode 100644 Architecture/ScriptableObjects/Events/Responses/GameObjectUnityEvent.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Responses/IntUnityEvent.cs create mode 100644 Architecture/ScriptableObjects/Events/Responses/IntUnityEvent.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Responses/LongUnityEvent.cs create mode 100644 Architecture/ScriptableObjects/Events/Responses/LongUnityEvent.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Responses/ObjectUnityEvent.cs create mode 100644 Architecture/ScriptableObjects/Events/Responses/ObjectUnityEvent.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Responses/QuaternionUnityEvent.cs create mode 100644 Architecture/ScriptableObjects/Events/Responses/QuaternionUnityEvent.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Responses/SByteUnityEvent.cs create mode 100644 Architecture/ScriptableObjects/Events/Responses/SByteUnityEvent.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Responses/ShortUnityEvent.cs create mode 100644 Architecture/ScriptableObjects/Events/Responses/ShortUnityEvent.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Responses/StringUnityEvent.cs create mode 100644 Architecture/ScriptableObjects/Events/Responses/StringUnityEvent.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Responses/UIntUnityEvent.cs create mode 100644 Architecture/ScriptableObjects/Events/Responses/UIntUnityEvent.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Responses/ULongUnityEvent.cs create mode 100644 Architecture/ScriptableObjects/Events/Responses/ULongUnityEvent.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Responses/UShortUnityEvent.cs create mode 100644 Architecture/ScriptableObjects/Events/Responses/UShortUnityEvent.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Responses/Vector2UnityEvent.cs create mode 100644 Architecture/ScriptableObjects/Events/Responses/Vector2UnityEvent.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Responses/Vector3UnityEvent.cs create mode 100644 Architecture/ScriptableObjects/Events/Responses/Vector3UnityEvent.cs.meta create mode 100644 Architecture/ScriptableObjects/Events/Responses/Vector4UnityEvent.cs create mode 100644 Architecture/ScriptableObjects/Events/Responses/Vector4UnityEvent.cs.meta create mode 100644 Architecture/ScriptableObjects/Examples.meta create mode 100644 Architecture/ScriptableObjects/Examples/Objects.meta create mode 100644 Architecture/ScriptableObjects/Examples/Objects/OnDisableRandomThing.asset create mode 100644 Architecture/ScriptableObjects/Examples/Objects/OnDisableRandomThing.asset.meta create mode 100644 Architecture/ScriptableObjects/Examples/Objects/OnPlayerDamaged.asset create mode 100644 Architecture/ScriptableObjects/Examples/Objects/OnPlayerDamaged.asset.meta create mode 100644 Architecture/ScriptableObjects/Examples/Objects/Player Health.asset create mode 100644 Architecture/ScriptableObjects/Examples/Objects/Player Health.asset.meta create mode 100644 Architecture/ScriptableObjects/Examples/Objects/Player Move Speed.asset create mode 100644 Architecture/ScriptableObjects/Examples/Objects/Player Move Speed.asset.meta create mode 100644 Architecture/ScriptableObjects/Examples/Objects/Player Starting Health.asset create mode 100644 Architecture/ScriptableObjects/Examples/Objects/Player Starting Health.asset.meta create mode 100644 Architecture/ScriptableObjects/Examples/Objects/Sphere Of Pain Damage.asset create mode 100644 Architecture/ScriptableObjects/Examples/Objects/Sphere Of Pain Damage.asset.meta create mode 100644 Architecture/ScriptableObjects/Examples/Objects/Thing Collection.asset create mode 100644 Architecture/ScriptableObjects/Examples/Objects/Thing Collection.asset.meta create mode 100644 Architecture/ScriptableObjects/Examples/Prefabs.meta create mode 100644 Architecture/ScriptableObjects/Examples/Prefabs/Event Example Player.prefab create mode 100644 Architecture/ScriptableObjects/Examples/Prefabs/Event Example Player.prefab.meta create mode 100644 Architecture/ScriptableObjects/Examples/Prefabs/Healtbar.prefab create mode 100644 Architecture/ScriptableObjects/Examples/Prefabs/Healtbar.prefab.meta create mode 100644 Architecture/ScriptableObjects/Examples/Prefabs/Reference Example Player.prefab create mode 100644 Architecture/ScriptableObjects/Examples/Prefabs/Reference Example Player.prefab.meta create mode 100644 Architecture/ScriptableObjects/Examples/Prefabs/Sphere Of Pain With Event.prefab create mode 100644 Architecture/ScriptableObjects/Examples/Prefabs/Sphere Of Pain With Event.prefab.meta create mode 100644 Architecture/ScriptableObjects/Examples/Prefabs/Sphere Of Pain.prefab create mode 100644 Architecture/ScriptableObjects/Examples/Prefabs/Sphere Of Pain.prefab.meta create mode 100644 Architecture/ScriptableObjects/Examples/Scenes.meta create mode 100644 Architecture/ScriptableObjects/Examples/Scenes/Example #01 - References.unity create mode 100644 Architecture/ScriptableObjects/Examples/Scenes/Example #01 - References.unity.meta create mode 100644 Architecture/ScriptableObjects/Examples/Scenes/Example #02 - Events.unity create mode 100644 Architecture/ScriptableObjects/Examples/Scenes/Example #02 - Events.unity.meta create mode 100644 Architecture/ScriptableObjects/Examples/Scenes/Example #03 - Collections.unity create mode 100644 Architecture/ScriptableObjects/Examples/Scenes/Example #03 - Collections.unity.meta create mode 100644 Architecture/ScriptableObjects/Examples/Scripts.meta create mode 100644 Architecture/ScriptableObjects/Examples/Scripts/CollectionCountDisplayer.cs create mode 100644 Architecture/ScriptableObjects/Examples/Scripts/CollectionCountDisplayer.cs.meta create mode 100644 Architecture/ScriptableObjects/Examples/Scripts/DamageDealer.cs create mode 100644 Architecture/ScriptableObjects/Examples/Scripts/DamageDealer.cs.meta create mode 100644 Architecture/ScriptableObjects/Examples/Scripts/DamageDealerWithEvent.cs create mode 100644 Architecture/ScriptableObjects/Examples/Scripts/DamageDealerWithEvent.cs.meta create mode 100644 Architecture/ScriptableObjects/Examples/Scripts/Disabler.cs create mode 100644 Architecture/ScriptableObjects/Examples/Scripts/Disabler.cs.meta create mode 100644 Architecture/ScriptableObjects/Examples/Scripts/ImageFillSetter.cs create mode 100644 Architecture/ScriptableObjects/Examples/Scripts/ImageFillSetter.cs.meta create mode 100644 Architecture/ScriptableObjects/Examples/Scripts/KeyboardMover.cs create mode 100644 Architecture/ScriptableObjects/Examples/Scripts/KeyboardMover.cs.meta create mode 100644 Architecture/ScriptableObjects/Examples/Scripts/ObjectAdder.cs create mode 100644 Architecture/ScriptableObjects/Examples/Scripts/ObjectAdder.cs.meta create mode 100644 Architecture/ScriptableObjects/Examples/Scripts/UnitHealth.cs create mode 100644 Architecture/ScriptableObjects/Examples/Scripts/UnitHealth.cs.meta create mode 100644 Architecture/ScriptableObjects/Examples/Textures.meta create mode 100644 Architecture/ScriptableObjects/Examples/Textures/White.png create mode 100644 Architecture/ScriptableObjects/Examples/Textures/White.png.meta create mode 100644 Architecture/ScriptableObjects/Extensions.meta create mode 100644 Architecture/ScriptableObjects/Extensions/QuaternionExtensions.cs create mode 100644 Architecture/ScriptableObjects/Extensions/QuaternionExtensions.cs.meta create mode 100644 Architecture/ScriptableObjects/Extensions/Vector4Extensions.cs create mode 100644 Architecture/ScriptableObjects/Extensions/Vector4Extensions.cs.meta create mode 100644 Architecture/ScriptableObjects/References.meta create mode 100644 Architecture/ScriptableObjects/References/AnimationCurveReference.cs create mode 100644 Architecture/ScriptableObjects/References/AnimationCurveReference.cs.meta create mode 100644 Architecture/ScriptableObjects/References/AudioClipReference.cs create mode 100644 Architecture/ScriptableObjects/References/AudioClipReference.cs.meta create mode 100644 Architecture/ScriptableObjects/References/BaseReference.cs create mode 100644 Architecture/ScriptableObjects/References/BaseReference.cs.meta create mode 100644 Architecture/ScriptableObjects/References/BoolReference.cs create mode 100644 Architecture/ScriptableObjects/References/BoolReference.cs.meta create mode 100644 Architecture/ScriptableObjects/References/ByteReference.cs create mode 100644 Architecture/ScriptableObjects/References/ByteReference.cs.meta create mode 100644 Architecture/ScriptableObjects/References/CharReference.cs create mode 100644 Architecture/ScriptableObjects/References/CharReference.cs.meta create mode 100644 Architecture/ScriptableObjects/References/Color32Reference.cs create mode 100644 Architecture/ScriptableObjects/References/Color32Reference.cs.meta create mode 100644 Architecture/ScriptableObjects/References/ColorReference.cs create mode 100644 Architecture/ScriptableObjects/References/ColorReference.cs.meta create mode 100644 Architecture/ScriptableObjects/References/DoubleReference.cs create mode 100644 Architecture/ScriptableObjects/References/DoubleReference.cs.meta create mode 100644 Architecture/ScriptableObjects/References/FloatReference.cs create mode 100644 Architecture/ScriptableObjects/References/FloatReference.cs.meta create mode 100644 Architecture/ScriptableObjects/References/GameObjectReference.cs create mode 100644 Architecture/ScriptableObjects/References/GameObjectReference.cs.meta create mode 100644 Architecture/ScriptableObjects/References/IntReference.cs create mode 100644 Architecture/ScriptableObjects/References/IntReference.cs.meta create mode 100644 Architecture/ScriptableObjects/References/LayerMaskReference.cs create mode 100644 Architecture/ScriptableObjects/References/LayerMaskReference.cs.meta create mode 100644 Architecture/ScriptableObjects/References/LongReference.cs create mode 100644 Architecture/ScriptableObjects/References/LongReference.cs.meta create mode 100644 Architecture/ScriptableObjects/References/ObjectReference.cs create mode 100644 Architecture/ScriptableObjects/References/ObjectReference.cs.meta create mode 100644 Architecture/ScriptableObjects/References/QuaternionReference.cs create mode 100644 Architecture/ScriptableObjects/References/QuaternionReference.cs.meta create mode 100644 Architecture/ScriptableObjects/References/SByteReference.cs create mode 100644 Architecture/ScriptableObjects/References/SByteReference.cs.meta create mode 100644 Architecture/ScriptableObjects/References/SceneReference.cs create mode 100644 Architecture/ScriptableObjects/References/SceneReference.cs.meta create mode 100644 Architecture/ScriptableObjects/References/ShortReference.cs create mode 100644 Architecture/ScriptableObjects/References/ShortReference.cs.meta create mode 100644 Architecture/ScriptableObjects/References/StringReference.cs create mode 100644 Architecture/ScriptableObjects/References/StringReference.cs.meta create mode 100644 Architecture/ScriptableObjects/References/UIntReference.cs create mode 100644 Architecture/ScriptableObjects/References/UIntReference.cs.meta create mode 100644 Architecture/ScriptableObjects/References/ULongReference.cs create mode 100644 Architecture/ScriptableObjects/References/ULongReference.cs.meta create mode 100644 Architecture/ScriptableObjects/References/UShortReference.cs create mode 100644 Architecture/ScriptableObjects/References/UShortReference.cs.meta create mode 100644 Architecture/ScriptableObjects/References/Vector2Reference.cs create mode 100644 Architecture/ScriptableObjects/References/Vector2Reference.cs.meta create mode 100644 Architecture/ScriptableObjects/References/Vector3Reference.cs create mode 100644 Architecture/ScriptableObjects/References/Vector3Reference.cs.meta create mode 100644 Architecture/ScriptableObjects/References/Vector4Reference.cs create mode 100644 Architecture/ScriptableObjects/References/Vector4Reference.cs.meta create mode 100644 Architecture/ScriptableObjects/RuntimeSets.meta create mode 100644 Architecture/ScriptableObjects/SOArchitecturePreferences.cs create mode 100644 Architecture/ScriptableObjects/SOArchitecturePreferences.cs.meta create mode 100644 Architecture/ScriptableObjects/ScriptableObject-Architecture.asmdef create mode 100644 Architecture/ScriptableObjects/ScriptableObject-Architecture.asmdef.meta create mode 100644 Architecture/ScriptableObjects/Utility.meta create mode 100644 Architecture/ScriptableObjects/Utility/IStackTraceObject.cs create mode 100644 Architecture/ScriptableObjects/Utility/IStackTraceObject.cs.meta create mode 100644 Architecture/ScriptableObjects/Utility/SOArchitectureBaseMonobehaviour.cs create mode 100644 Architecture/ScriptableObjects/Utility/SOArchitectureBaseMonobehaviour.cs.meta create mode 100644 Architecture/ScriptableObjects/Utility/SOArchitectureBaseObject.cs create mode 100644 Architecture/ScriptableObjects/Utility/SOArchitectureBaseObject.cs.meta create mode 100644 Architecture/ScriptableObjects/Utility/SOArchitecture_Settings.cs create mode 100644 Architecture/ScriptableObjects/Utility/SOArchitecture_Settings.cs.meta create mode 100644 Architecture/ScriptableObjects/Utility/SOArchitecture_Utility.cs create mode 100644 Architecture/ScriptableObjects/Utility/SOArchitecture_Utility.cs.meta create mode 100644 Architecture/ScriptableObjects/Variables.meta create mode 100644 Architecture/ScriptableObjects/Variables/AnimationCurveVariable.cs create mode 100644 Architecture/ScriptableObjects/Variables/AnimationCurveVariable.cs.meta create mode 100644 Architecture/ScriptableObjects/Variables/AudioClipVariable.cs create mode 100644 Architecture/ScriptableObjects/Variables/AudioClipVariable.cs.meta create mode 100644 Architecture/ScriptableObjects/Variables/BaseVariable.cs create mode 100644 Architecture/ScriptableObjects/Variables/BaseVariable.cs.meta create mode 100644 Architecture/ScriptableObjects/Variables/BoolVariable.cs create mode 100644 Architecture/ScriptableObjects/Variables/BoolVariable.cs.meta create mode 100644 Architecture/ScriptableObjects/Variables/ByteVariable.cs create mode 100644 Architecture/ScriptableObjects/Variables/ByteVariable.cs.meta create mode 100644 Architecture/ScriptableObjects/Variables/CharVariable.cs create mode 100644 Architecture/ScriptableObjects/Variables/CharVariable.cs.meta create mode 100644 Architecture/ScriptableObjects/Variables/Color32Variable.cs create mode 100644 Architecture/ScriptableObjects/Variables/Color32Variable.cs.meta create mode 100644 Architecture/ScriptableObjects/Variables/ColorVariable.cs create mode 100644 Architecture/ScriptableObjects/Variables/ColorVariable.cs.meta create mode 100644 Architecture/ScriptableObjects/Variables/DoubleVariable.cs create mode 100644 Architecture/ScriptableObjects/Variables/DoubleVariable.cs.meta create mode 100644 Architecture/ScriptableObjects/Variables/FloatVariable.cs create mode 100644 Architecture/ScriptableObjects/Variables/FloatVariable.cs.meta create mode 100644 Architecture/ScriptableObjects/Variables/GameObjectVariable.cs create mode 100644 Architecture/ScriptableObjects/Variables/GameObjectVariable.cs.meta create mode 100644 Architecture/ScriptableObjects/Variables/IntVariable.cs create mode 100644 Architecture/ScriptableObjects/Variables/IntVariable.cs.meta create mode 100644 Architecture/ScriptableObjects/Variables/LayerMaskVariable.cs create mode 100644 Architecture/ScriptableObjects/Variables/LayerMaskVariable.cs.meta create mode 100644 Architecture/ScriptableObjects/Variables/LongVariable.cs create mode 100644 Architecture/ScriptableObjects/Variables/LongVariable.cs.meta create mode 100644 Architecture/ScriptableObjects/Variables/ObjectVariable.cs create mode 100644 Architecture/ScriptableObjects/Variables/ObjectVariable.cs.meta create mode 100644 Architecture/ScriptableObjects/Variables/QuaternionVariable.cs create mode 100644 Architecture/ScriptableObjects/Variables/QuaternionVariable.cs.meta create mode 100644 Architecture/ScriptableObjects/Variables/SByteVariable.cs create mode 100644 Architecture/ScriptableObjects/Variables/SByteVariable.cs.meta create mode 100644 Architecture/ScriptableObjects/Variables/SceneVariable.cs create mode 100644 Architecture/ScriptableObjects/Variables/SceneVariable.cs.meta create mode 100644 Architecture/ScriptableObjects/Variables/ShortVariable.cs create mode 100644 Architecture/ScriptableObjects/Variables/ShortVariable.cs.meta create mode 100644 Architecture/ScriptableObjects/Variables/StringVariable.cs create mode 100644 Architecture/ScriptableObjects/Variables/StringVariable.cs.meta create mode 100644 Architecture/ScriptableObjects/Variables/UIntVariable.cs create mode 100644 Architecture/ScriptableObjects/Variables/UIntVariable.cs.meta create mode 100644 Architecture/ScriptableObjects/Variables/ULongVariable.cs create mode 100644 Architecture/ScriptableObjects/Variables/ULongVariable.cs.meta create mode 100644 Architecture/ScriptableObjects/Variables/UShortVariable.cs create mode 100644 Architecture/ScriptableObjects/Variables/UShortVariable.cs.meta create mode 100644 Architecture/ScriptableObjects/Variables/Vector2Variable.cs create mode 100644 Architecture/ScriptableObjects/Variables/Vector2Variable.cs.meta create mode 100644 Architecture/ScriptableObjects/Variables/Vector3Variable.cs create mode 100644 Architecture/ScriptableObjects/Variables/Vector3Variable.cs.meta create mode 100644 Architecture/ScriptableObjects/Variables/Vector4Variable.cs create mode 100644 Architecture/ScriptableObjects/Variables/Vector4Variable.cs.meta create mode 100644 Architecture/ScriptableObjects/package.json create mode 100644 Architecture/ScriptableObjects/package.json.meta diff --git a/Architecture.meta b/Architecture.meta new file mode 100644 index 0000000..e2efafd --- /dev/null +++ b/Architecture.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4e0fc3cb1c477c34bbbeea156de76c38 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects.meta b/Architecture/ScriptableObjects.meta new file mode 100644 index 0000000..4847243 --- /dev/null +++ b/Architecture/ScriptableObjects.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a55c02bbd97ff0740995575a3e48ed89 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/AssemblyInfo.cs b/Architecture/ScriptableObjects/AssemblyInfo.cs new file mode 100644 index 0000000..5d50669 --- /dev/null +++ b/Architecture/ScriptableObjects/AssemblyInfo.cs @@ -0,0 +1,4 @@ +using System.Runtime.CompilerServices; + +// Expose internal members to editor assembly for inspectors, other editor windows or functions +[assembly: InternalsVisibleTo("ScriptableObject-Architecture.Editor")] diff --git a/Architecture/ScriptableObjects/AssemblyInfo.cs.meta b/Architecture/ScriptableObjects/AssemblyInfo.cs.meta new file mode 100644 index 0000000..17833ab --- /dev/null +++ b/Architecture/ScriptableObjects/AssemblyInfo.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e00e4c8cc9a36d34e974afdacc9e034f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Attributes.meta b/Architecture/ScriptableObjects/Attributes.meta new file mode 100644 index 0000000..acfe6af --- /dev/null +++ b/Architecture/ScriptableObjects/Attributes.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2aa6d979e0421eb49a4d097f166ef439 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Attributes/MultiLine.cs b/Architecture/ScriptableObjects/Attributes/MultiLine.cs new file mode 100644 index 0000000..6cd6257 --- /dev/null +++ b/Architecture/ScriptableObjects/Attributes/MultiLine.cs @@ -0,0 +1,6 @@ +using System; + +[AttributeUsage(AttributeTargets.Class)] +public class MultiLine : Attribute +{ +} diff --git a/Architecture/ScriptableObjects/Attributes/MultiLine.cs.meta b/Architecture/ScriptableObjects/Attributes/MultiLine.cs.meta new file mode 100644 index 0000000..37da286 --- /dev/null +++ b/Architecture/ScriptableObjects/Attributes/MultiLine.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f8d8a61d6b1b0ba458f5398006ca7fb0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Collections.meta b/Architecture/ScriptableObjects/Collections.meta new file mode 100644 index 0000000..ee6662f --- /dev/null +++ b/Architecture/ScriptableObjects/Collections.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f74279b4ac40f2144bcc976992eb6214 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Collections/AnimationCurveCollection.cs b/Architecture/ScriptableObjects/Collections/AnimationCurveCollection.cs new file mode 100644 index 0000000..3f18640 --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/AnimationCurveCollection.cs @@ -0,0 +1,12 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [CreateAssetMenu( + fileName = "AnimationCurveCollection.asset", + menuName = SOArchitecture_Utility.ADVANCED_VARIABLE_COLLECTION + "AnimationCurve", + order = 120)] + public class AnimationCurveCollection : Collection + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Collections/AnimationCurveCollection.cs.meta b/Architecture/ScriptableObjects/Collections/AnimationCurveCollection.cs.meta new file mode 100644 index 0000000..c2ba714 --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/AnimationCurveCollection.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 7ad7f20ff642cbc418ac6531143b174e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: c5b62729a840f56448ed99e6fee68b6e, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Collections/AudioClipCollection.cs b/Architecture/ScriptableObjects/Collections/AudioClipCollection.cs new file mode 100644 index 0000000..e01628c --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/AudioClipCollection.cs @@ -0,0 +1,12 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [CreateAssetMenu( + fileName = "AudioClipCollection.asset", + menuName = SOArchitecture_Utility.ADVANCED_VARIABLE_COLLECTION + "AudioClip", + order = 120)] + public class AudioClipCollection : Collection + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Collections/AudioClipCollection.cs.meta b/Architecture/ScriptableObjects/Collections/AudioClipCollection.cs.meta new file mode 100644 index 0000000..bb01ad0 --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/AudioClipCollection.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d289013f46a3b234986332177bde3edf +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: f305724bfe41a0241b47fbc4efcdd6d6, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Collections/BaseCollection.cs b/Architecture/ScriptableObjects/Collections/BaseCollection.cs new file mode 100644 index 0000000..370cc9e --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/BaseCollection.cs @@ -0,0 +1,34 @@ +using System.Collections; +using Type = System.Type; + +namespace ScriptableObjectArchitecture +{ + public abstract class BaseCollection : SOArchitectureBaseObject, IEnumerable + { + public object this[int index] + { + get + { + return List[index]; + } + set + { + List[index] = value; + } + } + + public int Count { get { return List.Count; } } + + public abstract IList List { get; } + public abstract Type Type { get; } + + IEnumerator IEnumerable.GetEnumerator() + { + return List.GetEnumerator(); + } + public bool Contains(object obj) + { + return List.Contains(obj); + } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Collections/BaseCollection.cs.meta b/Architecture/ScriptableObjects/Collections/BaseCollection.cs.meta new file mode 100644 index 0000000..cc3f735 --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/BaseCollection.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c80fa5d349585dd45bc2532a8744c5af +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Collections/BoolCollection.cs b/Architecture/ScriptableObjects/Collections/BoolCollection.cs new file mode 100644 index 0000000..aad215a --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/BoolCollection.cs @@ -0,0 +1,12 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [CreateAssetMenu( + fileName = "BoolCollection.asset", + menuName = SOArchitecture_Utility.COLLECTION_SUBMENU + "bool", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_COLLECTIONS + 5)] + public class BoolCollection : Collection + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Collections/BoolCollection.cs.meta b/Architecture/ScriptableObjects/Collections/BoolCollection.cs.meta new file mode 100644 index 0000000..dc09b21 --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/BoolCollection.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 916693505e56c0e458b96d6de46fec18 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: d4d11961dbf1cc64bae0ef7f13dc0ed7, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Collections/ByteCollection.cs b/Architecture/ScriptableObjects/Collections/ByteCollection.cs new file mode 100644 index 0000000..a8a67f9 --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/ByteCollection.cs @@ -0,0 +1,12 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [CreateAssetMenu( + fileName = "ByteCollection.asset", + menuName = SOArchitecture_Utility.ADVANCED_VARIABLE_COLLECTION + "byte", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_COLLECTIONS + 6)] + public class ByteCollection : Collection + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Collections/ByteCollection.cs.meta b/Architecture/ScriptableObjects/Collections/ByteCollection.cs.meta new file mode 100644 index 0000000..5958a5e --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/ByteCollection.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c80696004aaeefd4581c66b60262ce40 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 824f6df5e20a8e54ebdcf1293a4d1783, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Collections/CharCollection.cs b/Architecture/ScriptableObjects/Collections/CharCollection.cs new file mode 100644 index 0000000..856c542 --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/CharCollection.cs @@ -0,0 +1,12 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [CreateAssetMenu( + fileName = "CharCollection.asset", + menuName = SOArchitecture_Utility.ADVANCED_VARIABLE_COLLECTION + "char", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_COLLECTIONS + 7)] + public class CharCollection : Collection + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Collections/CharCollection.cs.meta b/Architecture/ScriptableObjects/Collections/CharCollection.cs.meta new file mode 100644 index 0000000..752572a --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/CharCollection.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: bfe6b2c3c89b7f44bbd064c0c24da0b5 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: ab7acc2ba41f8d24597f973d09b3a13b, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Collections/Collection.cs b/Architecture/ScriptableObjects/Collections/Collection.cs new file mode 100644 index 0000000..9ac8f08 --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/Collection.cs @@ -0,0 +1,86 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + public class Collection : BaseCollection, IEnumerable + { + public new T this[int index] + { + get + { + return _list[index]; + } + set + { + _list[index] = value; + } + } + + [SerializeField] + private List _list = new List(); + + public override IList List + { + get + { + return _list; + } + } + public override Type Type + { + get + { + return typeof(T); + } + } + + public void Add(T obj) + { + if (!_list.Contains(obj)) + _list.Add(obj); + } + public void Remove(T obj) + { + if (_list.Contains(obj)) + _list.Remove(obj); + } + public void Clear() + { + _list.Clear(); + } + public bool Contains(T value) + { + return _list.Contains(value); + } + public int IndexOf(T value) + { + return _list.IndexOf(value); + } + public void RemoveAt(int index) + { + _list.RemoveAt(index); + } + public void Insert(int index, T value) + { + _list.Insert(index, value); + } + IEnumerator IEnumerable.GetEnumerator() + { + return GetEnumerator(); + } + public IEnumerator GetEnumerator() + { + return _list.GetEnumerator(); + } + public override string ToString() + { + return "Collection<" + typeof(T) + ">(" + Count + ")"; + } + public T[] ToArray() { + return _list.ToArray(); + } + } +} diff --git a/Architecture/ScriptableObjects/Collections/Collection.cs.meta b/Architecture/ScriptableObjects/Collections/Collection.cs.meta new file mode 100644 index 0000000..9f2ae9c --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/Collection.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 86767a9f6ab228c4ea5db8d47a39b046 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Collections/Color32Collection.cs b/Architecture/ScriptableObjects/Collections/Color32Collection.cs new file mode 100644 index 0000000..22d8e2e --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/Color32Collection.cs @@ -0,0 +1,12 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [CreateAssetMenu( + fileName = "Color32Collection.asset", + menuName = SOArchitecture_Utility.COLLECTION_SUBMENU + "Structs/Color32", + order = 120)] + public class Color32Collection : Collection + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Collections/Color32Collection.cs.meta b/Architecture/ScriptableObjects/Collections/Color32Collection.cs.meta new file mode 100644 index 0000000..9b0db82 --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/Color32Collection.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ff2975a5cdeda4a4ea898a97a00b1245 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 1067bbf7144445045982a772e570db4c, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Collections/ColorCollection.cs b/Architecture/ScriptableObjects/Collections/ColorCollection.cs new file mode 100644 index 0000000..90897d8 --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/ColorCollection.cs @@ -0,0 +1,12 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [CreateAssetMenu( + fileName = "ColorCollection.asset", + menuName = SOArchitecture_Utility.COLLECTION_SUBMENU + "Structs/Color", + order = 120)] + public class ColorCollection : Collection + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Collections/ColorCollection.cs.meta b/Architecture/ScriptableObjects/Collections/ColorCollection.cs.meta new file mode 100644 index 0000000..da32a31 --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/ColorCollection.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b70196d7b105d854286b774167fa3a58 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 1067bbf7144445045982a772e570db4c, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Collections/DoubleCollection.cs b/Architecture/ScriptableObjects/Collections/DoubleCollection.cs new file mode 100644 index 0000000..23512e5 --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/DoubleCollection.cs @@ -0,0 +1,12 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [CreateAssetMenu( + fileName = "DoubleCollection.asset", + menuName = SOArchitecture_Utility.ADVANCED_VARIABLE_COLLECTION + "double", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_COLLECTIONS + 8)] + public class DoubleCollection : Collection + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Collections/DoubleCollection.cs.meta b/Architecture/ScriptableObjects/Collections/DoubleCollection.cs.meta new file mode 100644 index 0000000..4f209de --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/DoubleCollection.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ddebc6dac1a8f914b9b59d5ebb3f8dd1 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: a7e3ab68e5b9b2d4796e3a138b43e81b, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Collections/FloatCollection.cs b/Architecture/ScriptableObjects/Collections/FloatCollection.cs new file mode 100644 index 0000000..da36005 --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/FloatCollection.cs @@ -0,0 +1,12 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [CreateAssetMenu( + fileName = "FloatCollection.asset", + menuName = SOArchitecture_Utility.COLLECTION_SUBMENU + "float", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_COLLECTIONS + 3)] + public class FloatCollection : Collection + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Collections/FloatCollection.cs.meta b/Architecture/ScriptableObjects/Collections/FloatCollection.cs.meta new file mode 100644 index 0000000..67b1807 --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/FloatCollection.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0c34b51965a63624385c5d47f4ac333f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 090c91e3b1c62cd4188ca24b83260a43, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Collections/GameObjectCollection.cs b/Architecture/ScriptableObjects/Collections/GameObjectCollection.cs new file mode 100644 index 0000000..a965d4a --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/GameObjectCollection.cs @@ -0,0 +1,12 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [CreateAssetMenu( + fileName = "GameObjectCollection.asset", + menuName = SOArchitecture_Utility.COLLECTION_SUBMENU + "GameObject", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_COLLECTIONS + 0)] + public class GameObjectCollection : Collection + { + } +} diff --git a/Architecture/ScriptableObjects/Collections/GameObjectCollection.cs.meta b/Architecture/ScriptableObjects/Collections/GameObjectCollection.cs.meta new file mode 100644 index 0000000..018f912 --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/GameObjectCollection.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 156f4052644faf645bba864aa1fd4e16 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 016eddd7ec2347a41b4b265778d9501d, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Collections/IntCollection.cs b/Architecture/ScriptableObjects/Collections/IntCollection.cs new file mode 100644 index 0000000..0318a32 --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/IntCollection.cs @@ -0,0 +1,12 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [CreateAssetMenu( + fileName = "IntCollection.asset", + menuName = SOArchitecture_Utility.COLLECTION_SUBMENU + "int", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_COLLECTIONS + 4)] + public class IntCollection : Collection + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Collections/IntCollection.cs.meta b/Architecture/ScriptableObjects/Collections/IntCollection.cs.meta new file mode 100644 index 0000000..22ac31d --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/IntCollection.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: dba6f7bc1140ccb439039e265858770b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: f3ef3e85511a9cd4f8868d3a7c752bd4, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Collections/LongCollection.cs b/Architecture/ScriptableObjects/Collections/LongCollection.cs new file mode 100644 index 0000000..7432c4e --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/LongCollection.cs @@ -0,0 +1,12 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [CreateAssetMenu( + fileName = "LongCollection.asset", + menuName = SOArchitecture_Utility.ADVANCED_VARIABLE_COLLECTION + "long", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_COLLECTIONS + 9)] + public class LongCollection : Collection + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Collections/LongCollection.cs.meta b/Architecture/ScriptableObjects/Collections/LongCollection.cs.meta new file mode 100644 index 0000000..892aeba --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/LongCollection.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ceacfe10610defb42b3dea63dcaaa5e9 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: dfebd677c27ca5543b6ffa552f8f4538, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Collections/ObjectCollection.cs b/Architecture/ScriptableObjects/Collections/ObjectCollection.cs new file mode 100644 index 0000000..1a55970 --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/ObjectCollection.cs @@ -0,0 +1,12 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [CreateAssetMenu( + fileName = "ObjectCollection.asset", + menuName = SOArchitecture_Utility.COLLECTION_SUBMENU + "Object", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_COLLECTIONS + 1)] + public class ObjectCollection : Collection + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Collections/ObjectCollection.cs.meta b/Architecture/ScriptableObjects/Collections/ObjectCollection.cs.meta new file mode 100644 index 0000000..11f366d --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/ObjectCollection.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 294e8bbb40af68441a293e00fdc5548b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 1a7cfceb598958d4588af67b5592b54f, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Collections/QuaternionCollection.cs b/Architecture/ScriptableObjects/Collections/QuaternionCollection.cs new file mode 100644 index 0000000..8a2919d --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/QuaternionCollection.cs @@ -0,0 +1,12 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [CreateAssetMenu( + fileName = "QuaternionCollection.asset", + menuName = SOArchitecture_Utility.COLLECTION_SUBMENU + "Structs/Quaternion", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_COLLECTIONS + 13)] + public class QuaternionCollection : Collection + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Collections/QuaternionCollection.cs.meta b/Architecture/ScriptableObjects/Collections/QuaternionCollection.cs.meta new file mode 100644 index 0000000..e55ba3f --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/QuaternionCollection.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 376c15839ad34eb4788c493b6b34c89d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 039e9190b2371d84ab3d8c3b9ce65380, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Collections/SbyteCollection.cs b/Architecture/ScriptableObjects/Collections/SbyteCollection.cs new file mode 100644 index 0000000..1052adf --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/SbyteCollection.cs @@ -0,0 +1,12 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [CreateAssetMenu( + fileName = "SByteCollection.asset", + menuName = SOArchitecture_Utility.ADVANCED_VARIABLE_COLLECTION + "sbyte", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_COLLECTIONS + 15)] + public class SByteCollection : Collection + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Collections/SbyteCollection.cs.meta b/Architecture/ScriptableObjects/Collections/SbyteCollection.cs.meta new file mode 100644 index 0000000..725dc8d --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/SbyteCollection.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 800757c0caa7c454caae4475e6d601c0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 00bbbbfeeb8421343be2a4d0325288ca, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Collections/SceneCollection.cs b/Architecture/ScriptableObjects/Collections/SceneCollection.cs new file mode 100644 index 0000000..6590bee --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/SceneCollection.cs @@ -0,0 +1,13 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [CreateAssetMenu( + fileName = "SceneCollection.asset", + menuName = SOArchitecture_Utility.ADVANCED_VARIABLE_COLLECTION + "Scene", + order = 120)] + public class SceneCollection : Collection + { + + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Collections/SceneCollection.cs.meta b/Architecture/ScriptableObjects/Collections/SceneCollection.cs.meta new file mode 100644 index 0000000..937bf03 --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/SceneCollection.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: baec154247b223d4a9b1afe90aa2cf2c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 2914869b4bf78e2498ede5504e93b705, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Collections/ShortCollection.cs b/Architecture/ScriptableObjects/Collections/ShortCollection.cs new file mode 100644 index 0000000..a1bdf09 --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/ShortCollection.cs @@ -0,0 +1,12 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [CreateAssetMenu( + fileName = "ShortCollection.asset", + menuName = SOArchitecture_Utility.ADVANCED_VARIABLE_COLLECTION + "short", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_COLLECTIONS + 14)] + public class ShortCollection : Collection + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Collections/ShortCollection.cs.meta b/Architecture/ScriptableObjects/Collections/ShortCollection.cs.meta new file mode 100644 index 0000000..c1f7585 --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/ShortCollection.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f1b528d0c64418e479123029aeae7230 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: c0a478b6dd67927488ed74dba04f5eb2, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Collections/StringCollection.cs b/Architecture/ScriptableObjects/Collections/StringCollection.cs new file mode 100644 index 0000000..739394b --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/StringCollection.cs @@ -0,0 +1,12 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [CreateAssetMenu( + fileName = "StringCollection.asset", + menuName = SOArchitecture_Utility.COLLECTION_SUBMENU + "string", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_COLLECTIONS + 2)] + public class StringCollection : Collection + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Collections/StringCollection.cs.meta b/Architecture/ScriptableObjects/Collections/StringCollection.cs.meta new file mode 100644 index 0000000..8841a25 --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/StringCollection.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: fb12e3ad1486e2e4496d2933bc2e5456 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: f3400829b3bc23a4a87d7b8bf425bfd3, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Collections/UintCollection.cs b/Architecture/ScriptableObjects/Collections/UintCollection.cs new file mode 100644 index 0000000..3fc6dc3 --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/UintCollection.cs @@ -0,0 +1,12 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [CreateAssetMenu( + fileName = "UIntCollection.asset", + menuName = SOArchitecture_Utility.ADVANCED_VARIABLE_COLLECTION + "uint", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_COLLECTIONS + 16)] + public class UIntCollection : Collection + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Collections/UintCollection.cs.meta b/Architecture/ScriptableObjects/Collections/UintCollection.cs.meta new file mode 100644 index 0000000..a0568da --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/UintCollection.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b2ece7577c39e6d42b87c39735ed0bcb +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 87156f2d93700f84a8a38e414e8d312f, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Collections/UlongCollection.cs b/Architecture/ScriptableObjects/Collections/UlongCollection.cs new file mode 100644 index 0000000..cf84427 --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/UlongCollection.cs @@ -0,0 +1,12 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [CreateAssetMenu( + fileName = "ULongCollection.asset", + menuName = SOArchitecture_Utility.ADVANCED_VARIABLE_COLLECTION + "ulong", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_COLLECTIONS + 17)] + public class ULongCollection : Collection + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Collections/UlongCollection.cs.meta b/Architecture/ScriptableObjects/Collections/UlongCollection.cs.meta new file mode 100644 index 0000000..96db608 --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/UlongCollection.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: db08965a2cf1822409af7548df816116 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: dfebd677c27ca5543b6ffa552f8f4538, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Collections/UshortCollection.cs b/Architecture/ScriptableObjects/Collections/UshortCollection.cs new file mode 100644 index 0000000..ce18757 --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/UshortCollection.cs @@ -0,0 +1,12 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [CreateAssetMenu( + fileName = "UShortCollection.asset", + menuName = SOArchitecture_Utility.ADVANCED_VARIABLE_COLLECTION + "ushort", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_COLLECTIONS + 18)] + public class UShortCollection : Collection + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Collections/UshortCollection.cs.meta b/Architecture/ScriptableObjects/Collections/UshortCollection.cs.meta new file mode 100644 index 0000000..d6229f6 --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/UshortCollection.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 68f8f730ac4eb7a46b32e0c3319ab540 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 2716b51a57087c34db2b9b6fa1523f93, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Collections/Vector2Collection.cs b/Architecture/ScriptableObjects/Collections/Vector2Collection.cs new file mode 100644 index 0000000..f3211f9 --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/Vector2Collection.cs @@ -0,0 +1,12 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [CreateAssetMenu( + fileName = "Vector2Collection.asset", + menuName = SOArchitecture_Utility.COLLECTION_SUBMENU + "Structs/Vector2", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_COLLECTIONS + 10)] + public class Vector2Collection : Collection + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Collections/Vector2Collection.cs.meta b/Architecture/ScriptableObjects/Collections/Vector2Collection.cs.meta new file mode 100644 index 0000000..ca60f26 --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/Vector2Collection.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d06ceb6f5b9494247a47b2b9639f1fa4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 8cbf47eb8d6a6734799ebc975a1ed553, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Collections/Vector3Collection.cs b/Architecture/ScriptableObjects/Collections/Vector3Collection.cs new file mode 100644 index 0000000..94b617c --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/Vector3Collection.cs @@ -0,0 +1,12 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [CreateAssetMenu( + fileName = "Vector3Collection.asset", + menuName = SOArchitecture_Utility.COLLECTION_SUBMENU + "Structs/Vector3", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_COLLECTIONS + 11)] + public class Vector3Collection : Collection + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Collections/Vector3Collection.cs.meta b/Architecture/ScriptableObjects/Collections/Vector3Collection.cs.meta new file mode 100644 index 0000000..5fa6761 --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/Vector3Collection.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2a166c222ab884c40a383e3d630076e1 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 14d8d52dcb7b258409d4f6447738836e, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Collections/Vector4Collection.cs b/Architecture/ScriptableObjects/Collections/Vector4Collection.cs new file mode 100644 index 0000000..573b4e2 --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/Vector4Collection.cs @@ -0,0 +1,12 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [CreateAssetMenu( + fileName = "Vector4Collection.asset", + menuName = SOArchitecture_Utility.COLLECTION_SUBMENU + "Structs/Vector4", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_COLLECTIONS + 12)] + public class Vector4Collection : Collection + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Collections/Vector4Collection.cs.meta b/Architecture/ScriptableObjects/Collections/Vector4Collection.cs.meta new file mode 100644 index 0000000..067d697 --- /dev/null +++ b/Architecture/ScriptableObjects/Collections/Vector4Collection.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3f851553b3485f64b882c79368923ca7 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: f4151cbde4520b1469e166be72ed9aa3, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Documentation.meta b/Architecture/ScriptableObjects/Documentation.meta new file mode 100644 index 0000000..8727673 --- /dev/null +++ b/Architecture/ScriptableObjects/Documentation.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 455133d0da7e9da4593718f176eb07e9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Documentation/Collection.txt b/Architecture/ScriptableObjects/Documentation/Collection.txt new file mode 100644 index 0000000..3b6de6e --- /dev/null +++ b/Architecture/ScriptableObjects/Documentation/Collection.txt @@ -0,0 +1,23 @@ +## Introduction +Collections quite simply contain objects, just like we expect from a C# collection, but serialized in an asset inside your project + +Note that Unity **realy** doesn't like it if you reference scene objects in assets, and as such have made certain editor functions incompatible with them. Therefore if any object in the collection is not persistent, they're disabled as you can see below, although you can still reorder, delete and click on them to see them in your scene view. Note that none of these conditions affect how they work under the hood, these precautions are merely related to the editor + +## Script Reference +There are various ways to interact with the collection. Available are the following members + +T this[int index] + +IList List { get; } +int Count { get; } +Type Type { get; } + +void Add(T) +void Remove(T) +RemoveAt(int) +void Clear() +bool Contains(T) +int IndexOf(T) +Insert(int, T) + +T[] ToArray() diff --git a/Architecture/ScriptableObjects/Documentation/Collection.txt.meta b/Architecture/ScriptableObjects/Documentation/Collection.txt.meta new file mode 100644 index 0000000..5ec0a42 --- /dev/null +++ b/Architecture/ScriptableObjects/Documentation/Collection.txt.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: f6b9ad255f8e4204cb0e058e803c375d +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Documentation/Event-Listeners.txt b/Architecture/ScriptableObjects/Documentation/Event-Listeners.txt new file mode 100644 index 0000000..231cf94 --- /dev/null +++ b/Architecture/ScriptableObjects/Documentation/Event-Listeners.txt @@ -0,0 +1,10 @@ +## Introduction +Event Listeners are components that listen to a specific Event and then provides a response in the form on a UnityEvent. Note that the type of event listener must match the event type, so if a bool event is expected, you must use an EventListener of type bool as well. Typed events listeners also supports forwarding the raise parameter as a dynamic response + +Event listeners are also fully debuggable through a variety of features. A fully featured stacktrace window is available. You can also simulate an incoming event through the inspector, and even select a debug value if the listener is typed. When an event is raised, a gizmo is also drawn to visualize responses + +## Script Reference +The class has a singular function for responding to an event. It differs depending on if a type is expected or not + +void OnEventRaised(T) +void OnEventRaised() \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Documentation/Event-Listeners.txt.meta b/Architecture/ScriptableObjects/Documentation/Event-Listeners.txt.meta new file mode 100644 index 0000000..897c8df --- /dev/null +++ b/Architecture/ScriptableObjects/Documentation/Event-Listeners.txt.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: cc77cef44faff4c409633e38c9b27011 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Documentation/Events.txt b/Architecture/ScriptableObjects/Documentation/Events.txt new file mode 100644 index 0000000..5fb9204 --- /dev/null +++ b/Architecture/ScriptableObjects/Documentation/Events.txt @@ -0,0 +1,16 @@ +## Introduction + +Events also exist as ScriptableObjects in your project. They can contain any single parameter when raising or none. Events are also fully debuggable through the editor using the stacktrace window and the raise button functionality, which also supports the ability to raise events with parameters. If a parameter is specified, a field will be present which allows you to select which value will be passed. + +## Script Reference +Note that you must provide an Event Listener in order to subscribe to events + +The base class differs depending on whether an argument is expected or not + +void Raise(T) +void RegisterListener(IGameEventListener) +void UnregisterListener(IGameEventListener) + +void Raise() +void RegisterListener(IGameEventListener) +void UnregisterListener(IGameEventListener) \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Documentation/Events.txt.meta b/Architecture/ScriptableObjects/Documentation/Events.txt.meta new file mode 100644 index 0000000..057ad67 --- /dev/null +++ b/Architecture/ScriptableObjects/Documentation/Events.txt.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 7f5aa2b6331cdd94186d9bf08807bd4b +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Documentation/References.txt b/Architecture/ScriptableObjects/Documentation/References.txt new file mode 100644 index 0000000..bc77616 --- /dev/null +++ b/Architecture/ScriptableObjects/Documentation/References.txt @@ -0,0 +1,16 @@ +## Introduction +References are how we expose fields in MonoBehaviour scripts that allow us to assign a variable ScriptableObject. They're wrapped in a separate class because you can also choose not to use a ScriptableObject at all, and instead write a constant value in the inspector. + +## Script Reference +To create a Reference field in your MonoBehaviour script, simply declare it like you would any other field + +public BoolReference boolValue; + +Or use the [SerializeField] attribute if it's not public + +[SerializeField] +private BoolReference boolValue; + +You don't have to care whether the Reference is using a constant or a variable, simply reference the Value property + +T Value { get; set; } \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Documentation/References.txt.meta b/Architecture/ScriptableObjects/Documentation/References.txt.meta new file mode 100644 index 0000000..b517a3d --- /dev/null +++ b/Architecture/ScriptableObjects/Documentation/References.txt.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 43e78e08d09b4cd4681af36f8cc03e6d +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Documentation/Variables.txt b/Architecture/ScriptableObjects/Documentation/Variables.txt new file mode 100644 index 0000000..36e73f7 --- /dev/null +++ b/Architecture/ScriptableObjects/Documentation/Variables.txt @@ -0,0 +1,16 @@ +## Introduction +Variable ScriptableObject's share a lot of similarities with C# variables. They can be named and contain values of different types. Since they're embedded into a ScriptableObject, which exists as an asset within Unity, modifying both the name and value is very simple and intuitive. + +## Script Reference +Variables have a single property and a couple of functions we can use to modify its value. + +Value { get; set; } + +SetValue(T) +SetValue(BaseVariable) + +Variables also have a single operator + +implicit operator T(BaseVariable) + +The reason why you can't implicitly or explicitly assign any value, is because Variables are objects themselves, so it must be clear whether you're changing the reference or the value. \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Documentation/Variables.txt.meta b/Architecture/ScriptableObjects/Documentation/Variables.txt.meta new file mode 100644 index 0000000..9876e2a --- /dev/null +++ b/Architecture/ScriptableObjects/Documentation/Variables.txt.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 88af777236d645b45a7bf9fd42d6dd95 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor.meta b/Architecture/ScriptableObjects/Editor.meta new file mode 100644 index 0000000..0decc36 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9380ea5fbea0666478a788b3c3b2d2c7 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/BaseReferenceHelper.cs b/Architecture/ScriptableObjects/Editor/BaseReferenceHelper.cs new file mode 100644 index 0000000..dc537bb --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/BaseReferenceHelper.cs @@ -0,0 +1,37 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using System.Reflection; +using Type = System.Type; + +public static class BaseReferenceHelper +{ + private const BindingFlags NonPublicBindingsFlag = BindingFlags.Instance | BindingFlags.NonPublic; + private const string ConstantValueName = "_constantValue"; + + public static Type GetReferenceType(FieldInfo fieldInfo) + { + return fieldInfo.FieldType; + } + public static Type GetValueType(FieldInfo fieldInfo) + { + Type referenceType = GetReferenceType(fieldInfo); + + if(referenceType.IsArray) + { + referenceType = referenceType.GetElementType(); + } + else if(IsList(referenceType)) + { + referenceType = referenceType.GetGenericArguments()[0]; + } + + FieldInfo constantValueField = referenceType.GetField(ConstantValueName, NonPublicBindingsFlag); + + return constantValueField.FieldType; + } + private static bool IsList(Type referenceType) + { + return referenceType.IsGenericType; + } +} diff --git a/Architecture/ScriptableObjects/Editor/BaseReferenceHelper.cs.meta b/Architecture/ScriptableObjects/Editor/BaseReferenceHelper.cs.meta new file mode 100644 index 0000000..c02b969 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/BaseReferenceHelper.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5294f4d0d03bb714e900e3a4777ca6cb +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Code Generation.meta b/Architecture/ScriptableObjects/Editor/Code Generation.meta new file mode 100644 index 0000000..8acbb0f --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Code Generation.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2249188d2069be24494255b754a33950 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Code Generation/SO_CodeGenerationWindow.cs b/Architecture/ScriptableObjects/Editor/Code Generation/SO_CodeGenerationWindow.cs new file mode 100644 index 0000000..095c1f0 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Code Generation/SO_CodeGenerationWindow.cs @@ -0,0 +1,162 @@ +using UnityEditor; +using UnityEditor.AnimatedValues; +using UnityEngine; + +namespace ScriptableObjectArchitecture.Editor +{ + public class SO_CodeGenerationWindow : EditorWindow + { + /* --------- DEPENDENCY GRAPH ---------* + * [1] Game Event Listener + * [2] Game Event + * [3] Reference + * [4] Collection + * [5] Unity Event + * [6] Variable + * + * / 1 2 3 4 5 6 7 + * 1 X X + * 2 X + * 3 X + * 4 + * 5 + * 6 + */ + + private readonly bool[,] _dependencyGraph = new bool[SO_CodeGenerator.TYPE_COUNT, SO_CodeGenerator.TYPE_COUNT] + { + { false, true, false, false, true, false, }, + { false, false, true, false, false, false, }, + { false, false, false, false, false, true, }, + { false, false, false, false, false, false, }, + { false, false, false, false, false, false, }, + { false, false, false, false, false, false, }, + }; + + private readonly bool[] _states = new bool[SO_CodeGenerator.TYPE_COUNT]; + private readonly string[] _names = new string[SO_CodeGenerator.TYPE_COUNT] + { + "Event Listener", + "Game Event", + "Reference", + "Collection", + "Unity Event", + "Variable", + }; + + private readonly bool[] _menuRequirement = new bool[SO_CodeGenerator.TYPE_COUNT] + { + false, true, false, true, false, true + }; + + private int _order; + private string _typeName; + private string _menuName; + private AnimBool _menuAnim; + private AnimBool _clampedValueHelpBoxAnim; + + [MenuItem("Window/SO Code Generation")] + private static void ShowWindow() + { + GetWindow(typeof(SO_CodeGenerationWindow), true, "SO Code Generation"); + } + private void OnEnable() + { + _menuAnim = new AnimBool(); + _menuAnim.valueChanged.AddListener(Repaint); + + _clampedValueHelpBoxAnim = new AnimBool(); + _clampedValueHelpBoxAnim.valueChanged.AddListener(Repaint); + + _order = SOArchitecture_Settings.Instance.DefaultCreateAssetMenuOrder; + } + private void OnGUI() + { + TypeSelection(); + + EditorGUILayout.Space(); + + DataFields(); + + if (GUILayout.Button("Generate")) + { + SO_CodeGenerator.Data data = new SO_CodeGenerator.Data() + { + Types = _states, + TypeName = _typeName, + MenuName = RequiresMenu() ? _menuName : default(string), + Order = _order, + }; + + SO_CodeGenerator.Generate(data); + AssetDatabase.Refresh(); + } + } + private void TypeSelection() + { + EditorGUILayout.LabelField("Select Type(s)", EditorStyles.boldLabel); + + for (int i = 0; i < SO_CodeGenerator.TYPE_COUNT; i++) + { + bool isDepending = IsDepending(i); + + if (isDepending) + { + _states[i] = true; + } + + EditorGUI.BeginDisabledGroup(isDepending); + + _states[i] = EditorGUILayout.Toggle(_names[i], _states[i]); + + EditorGUI.EndDisabledGroup(); + } + } + private void DataFields() + { + EditorGUILayout.LabelField("Information", EditorStyles.boldLabel); + + // Type name. + _typeName = EditorGUILayout.TextField(new GUIContent("Type Name", "Case sensitive, ensure exact match with actual type name"), _typeName); + + // Menu name. + _menuAnim.target = RequiresMenu(); + EditorGUILayout.BeginFadeGroup(_menuAnim.faded); + + if (_menuAnim.value) + _menuName = EditorGUILayout.TextField("Menu Name", _menuName); + + EditorGUILayout.EndFadeGroup(); + + // Order. + _order = EditorGUILayout.IntField(new GUIContent("Order", "Use default if unsure"), _order); + } + /// + /// Polls the currently selected state types to determine whether any require menus + /// + /// + private bool RequiresMenu() + { + for (int i = 0; i < SO_CodeGenerator.TYPE_COUNT; i++) + { + if (_states[i] && _menuRequirement[i]) + return true; + } + + return false; + } + /// + /// Given an index, polls the dependency graph, and returns whether anyone is depending on it + /// + private bool IsDepending(int index) + { + for (int i = 0; i < SO_CodeGenerator.TYPE_COUNT; i++) + { + if (_states[i] && _dependencyGraph[i, index]) + return true; + } + + return false; + } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Editor/Code Generation/SO_CodeGenerationWindow.cs.meta b/Architecture/ScriptableObjects/Editor/Code Generation/SO_CodeGenerationWindow.cs.meta new file mode 100644 index 0000000..88d0b59 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Code Generation/SO_CodeGenerationWindow.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2d3d837455319ab469a5741ba1e0eb76 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Code Generation/SO_CodeGenerator.cs b/Architecture/ScriptableObjects/Editor/Code Generation/SO_CodeGenerator.cs new file mode 100644 index 0000000..1c71962 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Code Generation/SO_CodeGenerator.cs @@ -0,0 +1,159 @@ +using System.Collections.Generic; +using System.IO; +using System.Linq; +using UnityEditor; +using UnityEngine; + +namespace ScriptableObjectArchitecture.Editor +{ + public static class SO_CodeGenerator + { + static SO_CodeGenerator() + { + CreateTargetDirectories(); + GatherFilePaths(); + } + private static void CreateTargetDirectories() + { + _targetDirectories = new string[TYPE_COUNT] + { + Application.dataPath + "/" + SOArchitecture_Settings.Instance.CodeGenerationTargetDirectory + "/Events/Listeners", + Application.dataPath + "/" + SOArchitecture_Settings.Instance.CodeGenerationTargetDirectory + "/Events/Game Events", + Application.dataPath + "/" + SOArchitecture_Settings.Instance.CodeGenerationTargetDirectory + "/References", + Application.dataPath + "/" + SOArchitecture_Settings.Instance.CodeGenerationTargetDirectory + "/Collections", + Application.dataPath + "/" + SOArchitecture_Settings.Instance.CodeGenerationTargetDirectory + "/Events/Responses", + Application.dataPath + "/" + SOArchitecture_Settings.Instance.CodeGenerationTargetDirectory + "/Variables", + }; + } + private static void GatherFilePaths() + { + string assetPath = Application.dataPath; + string folderToStartSearch = Directory.GetParent(assetPath).FullName; + + Queue foldersToCheck = new Queue(); + foldersToCheck.Enqueue(folderToStartSearch); + + while (foldersToCheck.Count > 0) + { + string currentDirectory = foldersToCheck.Dequeue(); + + foreach (string filePath in Directory.GetFiles(currentDirectory)) + { + string fileName = Path.GetFileName(filePath); + + for (int i = 0; i < TYPE_COUNT; i++) + { + if (_templateNames[i] == fileName) + _templatePaths[i] = filePath; + } + } + foreach (string subDirectory in Directory.GetDirectories(currentDirectory)) + { + foldersToCheck.Enqueue(subDirectory); + } + } + + //Double check that all filepaths were found + for (int i = 0; i < TYPE_COUNT; i++) + { + if (_templatePaths[i] == default(string)) + { + Debug.LogError("Couldn't find path for " + _templatePaths[i]); + } + } + } + + public const int TYPE_COUNT = 6; + + public struct Data + { + public bool[] Types; + public string TypeName; + public string MenuName; + public int Order; + } + + private static string[] _templateNames = new string[TYPE_COUNT] + { + "GameEventListenerTemplate", + "GameEventTemplate", + "ReferenceTemplate", + "CollectionTemplate", + "UnityEventTemplate", + "VariableTemplate", + }; + + private static string[] _targetFileNames = new string[TYPE_COUNT] + { + "{0}GameEventListener.cs", + "{0}GameEvent.cs", + "{0}Reference.cs", + "{0}Collection.cs", + "{0}UnityEvent.cs", + "{0}Variable.cs", + }; + + private static string[] _targetDirectories = null; + private static string[] _templatePaths = new string[TYPE_COUNT]; + private static string[,] _replacementStrings = null; + + private static string TypeName { get { return _replacementStrings[1, 1]; } } + + public static void Generate(Data data) + { + _replacementStrings = new string[4, 2] + { + { "$TYPE$", data.TypeName }, + { "$TYPE_NAME$", CapitalizeFirstLetter(data.TypeName) }, + { "$MENU_NAME$", data.MenuName }, + { "$ORDER$", data.Order.ToString() }, + }; + + for (int i = 0; i < TYPE_COUNT; i++) + { + if (data.Types[i]) + { + GenerateScript(i); + } + } + } + private static void GenerateScript(int index) + { + string targetFilePath = GetTargetFilePath(index); + string contents = GetScriptContents(index); + + if (File.Exists(targetFilePath) && !SOArchitecture_Settings.Instance.CodeGenerationAllowOverwrite) + { + Debug.Log("Cannot create file at " + targetFilePath + " because a file already exists, and overwrites are disabled"); + return; + } + + Debug.Log("Creating " + targetFilePath); + + Directory.CreateDirectory(Path.GetDirectoryName(targetFilePath)); + File.WriteAllText(targetFilePath, contents); + } + private static string GetScriptContents(int index) + { + string templatePath = _templatePaths[index]; + string templateContent = File.ReadAllText(templatePath); + + string output = templateContent; + + for (int i = 0; i < _replacementStrings.GetLength(0); i++) + { + output = output.Replace(_replacementStrings[i, 0], _replacementStrings[i, 1]); + } + + return output; + } + private static string GetTargetFilePath(int index) + { + return _targetDirectories[index] + "/" + string.Format(_targetFileNames[index], TypeName); + } + private static string CapitalizeFirstLetter(string input) + { + return input.First().ToString().ToUpper() + input.Substring(1); + } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Editor/Code Generation/SO_CodeGenerator.cs.meta b/Architecture/ScriptableObjects/Editor/Code Generation/SO_CodeGenerator.cs.meta new file mode 100644 index 0000000..1ed2c04 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Code Generation/SO_CodeGenerator.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c0e8a480b3d95b8499804393d1ab3ea1 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Code Generation/Templates.meta b/Architecture/ScriptableObjects/Editor/Code Generation/Templates.meta new file mode 100644 index 0000000..f658c18 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Code Generation/Templates.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 85ea16b70b071a9498d307b160e902f0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Code Generation/Templates/CollectionTemplate b/Architecture/ScriptableObjects/Editor/Code Generation/Templates/CollectionTemplate new file mode 100644 index 0000000..39284ba --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Code Generation/Templates/CollectionTemplate @@ -0,0 +1,12 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [CreateAssetMenu( + fileName = "$TYPE_NAME$Collection.asset", + menuName = SOArchitecture_Utility.COLLECTION_SUBMENU + "$MENU_NAME$", + order = $ORDER$)] + public class $TYPE_NAME$Collection : Collection<$TYPE$> + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Editor/Code Generation/Templates/CollectionTemplate.meta b/Architecture/ScriptableObjects/Editor/Code Generation/Templates/CollectionTemplate.meta new file mode 100644 index 0000000..01d4423 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Code Generation/Templates/CollectionTemplate.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: c37df815504227545bf3c909a86f6ee6 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Code Generation/Templates/GameEventListenerTemplate b/Architecture/ScriptableObjects/Editor/Code Generation/Templates/GameEventListenerTemplate new file mode 100644 index 0000000..e625c5f --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Code Generation/Templates/GameEventListenerTemplate @@ -0,0 +1,9 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [AddComponentMenu(SOArchitecture_Utility.EVENT_LISTENER_SUBMENU + "$TYPE$")] + public sealed class $TYPE_NAME$GameEventListener : BaseGameEventListener<$TYPE$, $TYPE_NAME$GameEvent, $TYPE_NAME$UnityEvent> + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Editor/Code Generation/Templates/GameEventListenerTemplate.meta b/Architecture/ScriptableObjects/Editor/Code Generation/Templates/GameEventListenerTemplate.meta new file mode 100644 index 0000000..b2f40b8 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Code Generation/Templates/GameEventListenerTemplate.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 322335fb95ca09546bfb78b78147144b +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Code Generation/Templates/GameEventTemplate b/Architecture/ScriptableObjects/Editor/Code Generation/Templates/GameEventTemplate new file mode 100644 index 0000000..0581888 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Code Generation/Templates/GameEventTemplate @@ -0,0 +1,13 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + [CreateAssetMenu( + fileName = "$TYPE_NAME$GameEvent.asset", + menuName = SOArchitecture_Utility.GAME_EVENT + "$MENU_NAME$", + order = $ORDER$)] + public sealed class $TYPE_NAME$GameEvent : GameEventBase<$TYPE$> + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Editor/Code Generation/Templates/GameEventTemplate.meta b/Architecture/ScriptableObjects/Editor/Code Generation/Templates/GameEventTemplate.meta new file mode 100644 index 0000000..c16b277 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Code Generation/Templates/GameEventTemplate.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 340cff775918ddf4b97cdb4fdba1294e +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Code Generation/Templates/ReferenceTemplate b/Architecture/ScriptableObjects/Editor/Code Generation/Templates/ReferenceTemplate new file mode 100644 index 0000000..a7d2b91 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Code Generation/Templates/ReferenceTemplate @@ -0,0 +1,11 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public sealed class $TYPE_NAME$Reference : BaseReference<$TYPE$, $TYPE_NAME$Variable> + { + public $TYPE_NAME$Reference() : base() { } + public $TYPE_NAME$Reference($TYPE$ value) : base(value) { } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Editor/Code Generation/Templates/ReferenceTemplate.meta b/Architecture/ScriptableObjects/Editor/Code Generation/Templates/ReferenceTemplate.meta new file mode 100644 index 0000000..f37c6c1 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Code Generation/Templates/ReferenceTemplate.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 5bb692329aca5084da7363c2ad67846e +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Code Generation/Templates/UnityEventTemplate b/Architecture/ScriptableObjects/Editor/Code Generation/Templates/UnityEventTemplate new file mode 100644 index 0000000..4f99e02 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Code Generation/Templates/UnityEventTemplate @@ -0,0 +1,10 @@ +using UnityEngine; +using UnityEngine.Events; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public sealed class $TYPE_NAME$UnityEvent : UnityEvent<$TYPE$> + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Editor/Code Generation/Templates/UnityEventTemplate.meta b/Architecture/ScriptableObjects/Editor/Code Generation/Templates/UnityEventTemplate.meta new file mode 100644 index 0000000..84de2f0 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Code Generation/Templates/UnityEventTemplate.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 5dc00cc2e2d948945a8fe03a1cf7a068 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Code Generation/Templates/VariableTemplate b/Architecture/ScriptableObjects/Editor/Code Generation/Templates/VariableTemplate new file mode 100644 index 0000000..4b9257b --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Code Generation/Templates/VariableTemplate @@ -0,0 +1,16 @@ +using UnityEngine; +using UnityEngine.Events; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public class $TYPE_NAME$Event : UnityEvent<$TYPE_NAME$> { } + + [CreateAssetMenu( + fileName = "$TYPE_NAME$Variable.asset", + menuName = SOArchitecture_Utility.VARIABLE_SUBMENU + "$MENU_NAME$", + order = $ORDER$)] + public class $TYPE_NAME$Variable : BaseVariable<$TYPE$, $TYPE_NAME$Event> + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Editor/Code Generation/Templates/VariableTemplate.meta b/Architecture/ScriptableObjects/Editor/Code Generation/Templates/VariableTemplate.meta new file mode 100644 index 0000000..124afa3 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Code Generation/Templates/VariableTemplate.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 574fca2de3eaa454e9f1f32258e3dda6 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Drawers.meta b/Architecture/ScriptableObjects/Editor/Drawers.meta new file mode 100644 index 0000000..80102fa --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Drawers.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b2f16d300cdb67047b8223015cc0477c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Drawers/BaseReferenceDrawer.cs b/Architecture/ScriptableObjects/Editor/Drawers/BaseReferenceDrawer.cs new file mode 100644 index 0000000..d42d50d --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Drawers/BaseReferenceDrawer.cs @@ -0,0 +1,187 @@ +using System; +using System.Reflection; +using UnityEditor; +using UnityEngine; +using Type = System.Type; + +namespace ScriptableObjectArchitecture.Editor +{ + [CustomPropertyDrawer(typeof(BaseReference), true)] + public sealed class BaseReferenceDrawer : PropertyDrawer + { + /// + /// Options to display in the popup to select constant or variable. + /// + private static readonly string[] popupOptions = + { + "Use Constant", + "Use Variable" + }; + + private const float MultilineThreshold = 20; + + // Property Names + private const string VARIABLE_PROPERTY_NAME = "_variable"; + private const string CONSTANT_VALUE_PROPERTY_NAME = "_constantValue"; + private const string USE_CONSTANT_VALUE_PROPERTY_NAME = "_useConstant"; + + // Warnings + private const string COULD_NOT_FIND_VALUE_FIELD_WARNING_FORMAT = + "Could not find FieldInfo for [{0}] specific property drawer on type [{1}]."; + + private Type ValueType { get { return BaseReferenceHelper.GetValueType(fieldInfo); } } + private bool SupportsMultiLine { get { return SOArchitecture_EditorUtility.SupportsMultiLine(ValueType); } } + + private SerializedProperty property; + private SerializedProperty useConstant; + private SerializedProperty constantValue; + private SerializedProperty variable; + + public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) + { + // Get properties + this.property = property; + useConstant = property.FindPropertyRelative("_useConstant"); + constantValue = property.FindPropertyRelative("_constantValue"); + variable = property.FindPropertyRelative("_variable"); + + int oldIndent = ResetIndent(); + + Rect fieldRect = DrawLabel(position, property, label); + Rect valueRect = DrawField(position, fieldRect); + DrawValue(position, valueRect); + + EndIndent(oldIndent); + + property.serializedObject.ApplyModifiedProperties(); + } + private bool IsConstantValueMultiline(SerializedProperty property) + { + return GenericPropertyDrawer.GetHeight(property, ValueType) > MultilineThreshold; + } + private Rect DrawLabel(Rect position, SerializedProperty property, GUIContent label) + { + return EditorGUI.PrefixLabel(position, label); + } + private Rect DrawField(Rect position, Rect fieldRect) + { + Rect buttonRect = GetPopupButtonRect(fieldRect); + Rect valueRect = GetValueRect(fieldRect, buttonRect); + + int result = DrawPopupButton(buttonRect, useConstant.boolValue ? 0 : 1); + useConstant.boolValue = result == 0; + + return valueRect; + } + private void DrawValue(Rect position, Rect valueRect) + { + if (useConstant.boolValue) + { + DrawGenericPropertyField(position, valueRect); + } + else + { + EditorGUI.PropertyField(valueRect, variable, GUIContent.none); + } + } + private void DrawGenericPropertyField(Rect position, Rect valueRect) + { + if (IsConstantValueMultiline(constantValue)) + { + using (new EditorGUI.IndentLevelScope()) + { + position.y += EditorGUIUtility.singleLineHeight; + position.height = GenericPropertyDrawer.GetHeight(constantValue, ValueType); + + GenericPropertyDrawer.DrawPropertyDrawer(position, constantValue, ValueType); + } + } + else + { + GenericPropertyDrawer.DrawPropertyDrawer(valueRect, constantValue, ValueType, false); + } + } + private Rect GetConstantMultilineRect(Rect position, Rect valueRect) + { + return new Rect(position.x, valueRect.y + EditorGUIUtility.singleLineHeight, position.width, GenericPropertyDrawer.GetHeight(constantValue, ValueType)); + } + private Rect GetMultiLineFieldRect(Rect position) + { + return EditorGUI.IndentedRect(new Rect + { + position = new Vector2(position.x, position.y + EditorGUIUtility.singleLineHeight), + size = new Vector2(position.width, EditorGUI.GetPropertyHeight(constantValue) + EditorGUIUtility.singleLineHeight) + }); + } + private bool ShouldDrawMultiLineField() + { + return useConstant.boolValue && SupportsMultiLine && EditorGUI.GetPropertyHeight(constantValue) > EditorGUIUtility.singleLineHeight; + } + private int ResetIndent() + { + // Store old indent level and set it to 0, the PrefixLabel takes care of it + int indent = EditorGUI.indentLevel; + EditorGUI.indentLevel = 0; + + return indent; + } + private void EndIndent(int indent) + { + EditorGUI.indentLevel = indent; + } + private int DrawPopupButton(Rect rect, int value) + { + return EditorGUI.Popup(rect, value, popupOptions, Styles.PopupStyle); + } + private Rect GetValueRect(Rect fieldRect, Rect buttonRect) + { + Rect valueRect = new Rect(fieldRect); + valueRect.x += buttonRect.width; + valueRect.width -= buttonRect.width; + + return valueRect; + } + private Rect GetPopupButtonRect(Rect fieldrect) + { + Rect buttonRect = new Rect(fieldrect); + buttonRect.yMin += Styles.PopupStyle.margin.top; + buttonRect.width = Styles.PopupStyle.fixedWidth + Styles.PopupStyle.margin.right; + buttonRect.height = Styles.PopupStyle.fixedHeight + Styles.PopupStyle.margin.top; + + return buttonRect; + } + + public override float GetPropertyHeight(SerializedProperty property, GUIContent label) + { + SerializedProperty useConstant = property.FindPropertyRelative(USE_CONSTANT_VALUE_PROPERTY_NAME); + SerializedProperty constantValue = property.FindPropertyRelative(CONSTANT_VALUE_PROPERTY_NAME); + + if (useConstant.boolValue) + { + if (IsConstantValueMultiline(constantValue)) + { + return GenericPropertyDrawer.GetHeight(constantValue, ValueType) + EditorGUIUtility.singleLineHeight; + } + else + { + return EditorGUIUtility.singleLineHeight; + } + } + + return EditorGUIUtility.singleLineHeight; + } + + static class Styles + { + static Styles() + { + PopupStyle = new GUIStyle(GUI.skin.GetStyle("PaneOptions")) + { + imagePosition = ImagePosition.ImageOnly, + }; + } + + public static GUIStyle PopupStyle { get; set; } + } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Editor/Drawers/BaseReferenceDrawer.cs.meta b/Architecture/ScriptableObjects/Editor/Drawers/BaseReferenceDrawer.cs.meta new file mode 100644 index 0000000..129cdfa --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Drawers/BaseReferenceDrawer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3fc5390498e256d48bba75f1f835c028 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Drawers/GenericPropertyDrawer.cs b/Architecture/ScriptableObjects/Editor/Drawers/GenericPropertyDrawer.cs new file mode 100644 index 0000000..e25d529 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Drawers/GenericPropertyDrawer.cs @@ -0,0 +1,104 @@ +using System; +using System.Collections.Generic; +using UnityEditor; +using UnityEngine; +using Object = UnityEngine.Object; + +namespace ScriptableObjectArchitecture.Editor +{ + public static class GenericPropertyDrawer + { + private const string DefaultErrorLabelText = "Type is not drawable! Please implement property drawer"; + private const string NullPropertyText = "SerializedProperty is null. Your custom type is probably missing the [Serializable] attribute"; + + public static void DrawPropertyDrawer(Rect rect, SerializedProperty property, Type type, bool drawLabel = true) + { + if (property == null) + { + Debug.LogError(NullPropertyText); + return; + } + + if (SOArchitecture_EditorUtility.HasPropertyDrawer(type)) + { + if(drawLabel) + { + EditorGUI.PropertyField(rect, property); + } + else + { + EditorGUI.PropertyField(rect, property, GUIContent.none); + } + } + else + { + PropertyDrawIterator iter = new PropertyDrawIterator(rect, property.Copy(), drawLabel); + + DrawPropertyDrawerInternal(iter); + } + } + public static void DrawPropertyDrawerLayout(SerializedProperty property, Type type, bool drawLabel = true) + { + if(property == null) + { + Debug.LogError(NullPropertyText); + return; + } + + if (SOArchitecture_EditorUtility.HasPropertyDrawer(type)) + { + if (drawLabel) + { + EditorGUILayout.PropertyField(property); + } + else + { + EditorGUILayout.PropertyField(property, GUIContent.none); + } + } + else + { + PropertyDrawIteratorLayout iter = new PropertyDrawIteratorLayout(property.Copy(), drawLabel); + + DrawPropertyDrawerInternal(iter); + } + } + private static void DrawPropertyDrawerInternal(IPropertyDrawIterator iter) + { + do + { + iter.Draw(); + } + while (iter.Next()); + + iter.End(); + } + public static float GetHeight(SerializedProperty property, Type type) + { + if (SOArchitecture_EditorUtility.HasPropertyDrawer(type)) + { + return EditorGUI.GetPropertyHeight(property); + } + else + { + property = property.Copy(); + + int elements = 0; + + PropertyIterator iter = new PropertyIterator(property); + do + { + ++elements; + } + while (iter.Next()); + + iter.End(); + + float spacing = (elements - 1) * EditorGUIUtility.standardVerticalSpacing; + float elementHeights = elements * EditorGUIUtility.singleLineHeight; + + return spacing + elementHeights; + } + } + } +} diff --git a/Architecture/ScriptableObjects/Editor/Drawers/GenericPropertyDrawer.cs.meta b/Architecture/ScriptableObjects/Editor/Drawers/GenericPropertyDrawer.cs.meta new file mode 100644 index 0000000..c1c75ec --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Drawers/GenericPropertyDrawer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a2175771da1196e418cdf5f11735236e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Drawers/QuaternionDrawer.cs b/Architecture/ScriptableObjects/Editor/Drawers/QuaternionDrawer.cs new file mode 100644 index 0000000..e51b5ca --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Drawers/QuaternionDrawer.cs @@ -0,0 +1,26 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +namespace ScriptableObjectArchitecture.Editor +{ + [CustomPropertyDrawer(typeof(Quaternion))] + public class QuaternionDrawer : PropertyDrawer + { + private const float Height = 20; + + public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) + { + Vector4 vector = property.quaternionValue.ToVector4(); + + vector = EditorGUI.Vector4Field(position, label, vector); + + property.quaternionValue = new Quaternion(vector.x, vector.y, vector.z, vector.w); + } + public override float GetPropertyHeight(SerializedProperty property, GUIContent label) + { + return Height; + } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Editor/Drawers/QuaternionDrawer.cs.meta b/Architecture/ScriptableObjects/Editor/Drawers/QuaternionDrawer.cs.meta new file mode 100644 index 0000000..5e70156 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Drawers/QuaternionDrawer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 508c2da9a3d5d5c478a016c104a0a36d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Drawers/SceneInfoPropertyDrawer.cs b/Architecture/ScriptableObjects/Editor/Drawers/SceneInfoPropertyDrawer.cs new file mode 100644 index 0000000..df163f0 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Drawers/SceneInfoPropertyDrawer.cs @@ -0,0 +1,76 @@ +using UnityEditor; +using UnityEngine; + +namespace ScriptableObjectArchitecture.Editor +{ + [CustomPropertyDrawer(typeof(SceneInfo))] + internal sealed class SceneInfoPropertyDrawer : PropertyDrawer + { + private const string SCENE_PREVIEW_TITLE = "Preview (Read-Only)"; + private const string SCENE_NAME_PROPERTY = "_sceneName"; + private const string SCENE_INDEX_PROPERTY = "_sceneIndex"; + private const string SCENE_ENABLED_PROPERTY = "_isSceneEnabled"; + private const int FIELD_COUNT = 5; + + public override void OnGUI(Rect propertyRect, SerializedProperty property, GUIContent label) + { + var sceneNameProperty = property.FindPropertyRelative(SCENE_NAME_PROPERTY); + var sceneIndexProperty = property.FindPropertyRelative(SCENE_INDEX_PROPERTY); + var enabledProperty = property.FindPropertyRelative(SCENE_ENABLED_PROPERTY); + + EditorGUI.BeginProperty(propertyRect, new GUIContent(property.displayName), property); + EditorGUI.BeginChangeCheck(); + + // Draw Object Selector for SceneAssets + var sceneAssetRect = new Rect + { + position = propertyRect.position, + size = new Vector2(propertyRect.width, EditorGUIUtility.singleLineHeight) + }; + + var oldSceneAsset = AssetDatabase.LoadAssetAtPath(sceneNameProperty.stringValue); + var sceneAsset = EditorGUI.ObjectField(sceneAssetRect, oldSceneAsset, typeof(SceneAsset), false); + var sceneAssetPath = AssetDatabase.GetAssetPath(sceneAsset); + if (sceneNameProperty.stringValue != sceneAssetPath) + { + sceneNameProperty.stringValue = sceneAssetPath; + } + + if (string.IsNullOrEmpty(sceneNameProperty.stringValue)) + { + sceneIndexProperty.intValue = -1; + enabledProperty.boolValue = false; + } + + // Draw preview fields for scene information. + var titleLabelRect = sceneAssetRect; + titleLabelRect.y += EditorGUIUtility.singleLineHeight; + + EditorGUI.LabelField(titleLabelRect, SCENE_PREVIEW_TITLE); + EditorGUI.BeginDisabledGroup(true); + var nameRect = titleLabelRect; + nameRect.y += EditorGUIUtility.singleLineHeight; + + var indexRect = nameRect; + indexRect.y += EditorGUIUtility.singleLineHeight; + + var enabledRect = indexRect; + enabledRect.y += EditorGUIUtility.singleLineHeight; + + EditorGUI.PropertyField(nameRect, sceneNameProperty); + EditorGUI.PropertyField(indexRect, sceneIndexProperty); + EditorGUI.PropertyField(enabledRect, enabledProperty); + EditorGUI.EndDisabledGroup(); + if (EditorGUI.EndChangeCheck()) + { + property.serializedObject.ApplyModifiedProperties(); + } + EditorGUI.EndProperty(); + } + + public override float GetPropertyHeight(SerializedProperty property, GUIContent label) + { + return EditorGUIUtility.singleLineHeight * FIELD_COUNT + ((FIELD_COUNT - 1) * EditorGUIUtility.standardVerticalSpacing); + } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Editor/Drawers/SceneInfoPropertyDrawer.cs.meta b/Architecture/ScriptableObjects/Editor/Drawers/SceneInfoPropertyDrawer.cs.meta new file mode 100644 index 0000000..a133e73 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Drawers/SceneInfoPropertyDrawer.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 32913f49a5274d4795151f814b3dc24d +timeCreated: 1555400635 \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Editor/Drawers/Vector4Drawer.cs b/Architecture/ScriptableObjects/Editor/Drawers/Vector4Drawer.cs new file mode 100644 index 0000000..2c87a8c --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Drawers/Vector4Drawer.cs @@ -0,0 +1,22 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +namespace ScriptableObjectArchitecture.Editor +{ + [CustomPropertyDrawer(typeof(Vector4))] + public class Vector4Drawer : PropertyDrawer + { + private const float Height = 20; + + public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) + { + property.vector4Value = EditorGUI.Vector4Field(position, label, property.vector4Value); + } + public override float GetPropertyHeight(SerializedProperty property, GUIContent label) + { + return Height; + } + } +} diff --git a/Architecture/ScriptableObjects/Editor/Drawers/Vector4Drawer.cs.meta b/Architecture/ScriptableObjects/Editor/Drawers/Vector4Drawer.cs.meta new file mode 100644 index 0000000..70506bf --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Drawers/Vector4Drawer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 44220cd5ef4dd4947af0c99db8cdb744 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Generic Property Drawer.meta b/Architecture/ScriptableObjects/Editor/Generic Property Drawer.meta new file mode 100644 index 0000000..bf2f5f6 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Generic Property Drawer.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 59266ef9e8e03264a922d8d021e2515c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Generic Property Drawer/BasePropertyDrawIterator.cs b/Architecture/ScriptableObjects/Editor/Generic Property Drawer/BasePropertyDrawIterator.cs new file mode 100644 index 0000000..ec1d244 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Generic Property Drawer/BasePropertyDrawIterator.cs @@ -0,0 +1,66 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +namespace ScriptableObjectArchitecture.Editor +{ + public abstract class BasePropertyDrawIterator : PropertyIterator, IPropertyDrawIterator + { + public BasePropertyDrawIterator(SerializedProperty property, bool drawLabel) : base(property) + { + this.drawLabel = drawLabel; + this.startIndentLevel = EditorGUI.indentLevel; + this.startDepth = iterator.depth; + } + + protected readonly bool drawLabel; + protected readonly int startIndentLevel; + protected readonly int startDepth; + + protected abstract void DrawProperty(); + protected abstract void DrawPropertyWithLabel(); + + public virtual void Draw() + { + EditorGUI.indentLevel = GetIndent(iterator.depth); + + if (IsCustom(iterator)) + { + if (drawLabel) + { + DrawPropertyWithLabel(); + } + else + { + DrawProperty(); + } + } + else + { + if(drawLabel) + { + DrawPropertyWithLabel(); + } + else + { + DrawProperty(); + } + } + } + public override void End() + { + base.End(); + + EditorGUI.indentLevel = startIndentLevel; + } + private int GetIndent(int depth) + { + return startIndentLevel + (depth - startDepth); + } + private bool IsCustom(SerializedProperty property) + { + return property.propertyType == SerializedPropertyType.Generic; + } + } +} diff --git a/Architecture/ScriptableObjects/Editor/Generic Property Drawer/BasePropertyDrawIterator.cs.meta b/Architecture/ScriptableObjects/Editor/Generic Property Drawer/BasePropertyDrawIterator.cs.meta new file mode 100644 index 0000000..20a975d --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Generic Property Drawer/BasePropertyDrawIterator.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 24835f3f027d6e24290f4279d82dd46a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Generic Property Drawer/IPropertyDrawIterator.cs b/Architecture/ScriptableObjects/Editor/Generic Property Drawer/IPropertyDrawIterator.cs new file mode 100644 index 0000000..14841a4 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Generic Property Drawer/IPropertyDrawIterator.cs @@ -0,0 +1,11 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +namespace ScriptableObjectArchitecture.Editor +{ + public interface IPropertyDrawIterator : IPropertyIterator + { + void Draw(); + } +} diff --git a/Architecture/ScriptableObjects/Editor/Generic Property Drawer/IPropertyDrawIterator.cs.meta b/Architecture/ScriptableObjects/Editor/Generic Property Drawer/IPropertyDrawIterator.cs.meta new file mode 100644 index 0000000..b4278f2 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Generic Property Drawer/IPropertyDrawIterator.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 508ddb2b74994e04b8af4f74c38fa859 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Generic Property Drawer/IPropertyIterator.cs b/Architecture/ScriptableObjects/Editor/Generic Property Drawer/IPropertyIterator.cs new file mode 100644 index 0000000..fd2587e --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Generic Property Drawer/IPropertyIterator.cs @@ -0,0 +1,13 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +namespace ScriptableObjectArchitecture.Editor +{ + public interface IPropertyIterator + { + bool Next(); + void End(); + } + +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Editor/Generic Property Drawer/IPropertyIterator.cs.meta b/Architecture/ScriptableObjects/Editor/Generic Property Drawer/IPropertyIterator.cs.meta new file mode 100644 index 0000000..980433a --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Generic Property Drawer/IPropertyIterator.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0905a3ae925377842af05c8e661d127e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Generic Property Drawer/PropertyDrawIterator.cs b/Architecture/ScriptableObjects/Editor/Generic Property Drawer/PropertyDrawIterator.cs new file mode 100644 index 0000000..7e8d933 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Generic Property Drawer/PropertyDrawIterator.cs @@ -0,0 +1,39 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +namespace ScriptableObjectArchitecture.Editor +{ + public class PropertyDrawIterator : BasePropertyDrawIterator + { + public PropertyDrawIterator(Rect rect, SerializedProperty property, bool drawLabel) : base(property, drawLabel) + { + this.rect = rect; + this.rect.height = EditorGUIUtility.singleLineHeight; + } + + private Rect rect; + + public override void Draw() + { + base.Draw(); + + MoveRectDownOneLine(); + } + + protected override void DrawPropertyWithLabel() + { + EditorGUI.PropertyField(rect, iterator); + } + protected override void DrawProperty() + { + EditorGUI.PropertyField(rect, iterator, GUIContent.none); + } + + private void MoveRectDownOneLine() + { + rect.y += EditorGUIUtility.singleLineHeight + EditorGUIUtility.standardVerticalSpacing; + } + } +} diff --git a/Architecture/ScriptableObjects/Editor/Generic Property Drawer/PropertyDrawIterator.cs.meta b/Architecture/ScriptableObjects/Editor/Generic Property Drawer/PropertyDrawIterator.cs.meta new file mode 100644 index 0000000..a4209dd --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Generic Property Drawer/PropertyDrawIterator.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 84571e0d376f3e94488f3a1d1d97a6e3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Generic Property Drawer/PropertyDrawIteratorLayout.cs b/Architecture/ScriptableObjects/Editor/Generic Property Drawer/PropertyDrawIteratorLayout.cs new file mode 100644 index 0000000..4172620 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Generic Property Drawer/PropertyDrawIteratorLayout.cs @@ -0,0 +1,23 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +namespace ScriptableObjectArchitecture.Editor +{ + public class PropertyDrawIteratorLayout : BasePropertyDrawIterator + { + public PropertyDrawIteratorLayout(SerializedProperty property, bool drawLabel) : base(property, drawLabel) + { + } + + protected override void DrawPropertyWithLabel() + { + EditorGUILayout.PropertyField(iterator); + } + protected override void DrawProperty() + { + EditorGUILayout.PropertyField(iterator, GUIContent.none); + } + } +} diff --git a/Architecture/ScriptableObjects/Editor/Generic Property Drawer/PropertyDrawIteratorLayout.cs.meta b/Architecture/ScriptableObjects/Editor/Generic Property Drawer/PropertyDrawIteratorLayout.cs.meta new file mode 100644 index 0000000..6d9b1c1 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Generic Property Drawer/PropertyDrawIteratorLayout.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ea8d95152194b994a955d0f54d3533d3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Generic Property Drawer/PropertyIterator.cs b/Architecture/ScriptableObjects/Editor/Generic Property Drawer/PropertyIterator.cs new file mode 100644 index 0000000..05a8bf0 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Generic Property Drawer/PropertyIterator.cs @@ -0,0 +1,88 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +namespace ScriptableObjectArchitecture.Editor +{ + public class PropertyIterator : IPropertyIterator + { + public PropertyIterator(SerializedProperty property) + { + iterator = property.Copy(); + endProperty = iterator.GetEndProperty(); + + if (iterator.propertyType == SerializedPropertyType.Generic) + iterator.NextVisible(true); + } + + protected readonly SerializedProperty iterator; + protected readonly SerializedProperty endProperty; + + private bool consumeChildren; + private int parentDepth; + + public virtual bool Next() + { + bool nextVisible = false; + if(IsSingleLine(iterator)) + { + parentDepth = iterator.depth; + nextVisible = iterator.NextVisible(false); + } + else + { + nextVisible = iterator.NextVisible(true); + } + + if (!CanDraw()) + return false; + + if(nextVisible) + { + if (iterator.propertyType == SerializedPropertyType.Generic) + nextVisible = iterator.NextVisible(true); + } + + return nextVisible && CanDraw(); + } + public virtual void End() + { + } + private void UpdateState(SerializedProperty property) + { + if (IsSingleLine(iterator)) + { + parentDepth = iterator.depth; + consumeChildren = true; + } + } + private bool CanDraw() + { + return !SerializedProperty.EqualContents(iterator, endProperty); + } + private bool IsSingleLine(SerializedProperty property) + { + switch (property.propertyType) + { + case SerializedPropertyType.Vector3: + case SerializedPropertyType.Vector2: + case SerializedPropertyType.Vector3Int: + case SerializedPropertyType.Vector2Int: + case SerializedPropertyType.Vector4: + case SerializedPropertyType.Quaternion: + case SerializedPropertyType.Rect: + case SerializedPropertyType.RectInt: + case SerializedPropertyType.Bounds: + case SerializedPropertyType.BoundsInt: + return true; + } + + return false; + } + private bool NextVisible() + { + return iterator.NextVisible(true); + } + } +} diff --git a/Architecture/ScriptableObjects/Editor/Generic Property Drawer/PropertyIterator.cs.meta b/Architecture/ScriptableObjects/Editor/Generic Property Drawer/PropertyIterator.cs.meta new file mode 100644 index 0000000..d898e88 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Generic Property Drawer/PropertyIterator.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2560cbd4956dcea459e5f964aafa6752 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons.meta b/Architecture/ScriptableObjects/Editor/Icons.meta new file mode 100644 index 0000000..9ee81c2 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 56bc5665f2dbfe5449d30d21372a52c0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Collections.meta b/Architecture/ScriptableObjects/Editor/Icons/Collections.meta new file mode 100644 index 0000000..04137d6 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Collections.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0218549d775058142a6f084addcd5dc7 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Collections/AnimationCurveCollectionIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Collections/AnimationCurveCollectionIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..78976f461195f2ac24710a2e7a84f9259173dc0b GIT binary patch literal 17709 zcmeI4U5F&b9l-lovYdNfl=z^LfXy6Y#Psy%Oi#D7bKLISxhprD%kBjCK=i7sYj!&~ z)7{tIyE}U?@f7s#MJ{;?>XV2sfh2Gc1p^+aC_Wqn6~A6W6hT3JFeFMeo2u^lsQJ3u z^G-#mVQ1&R)&GyGUse6<-wiwGjxF7@f9BR1K@j#YE>xHC=Z)mOcN+h`?eiUgKduWG zj>m$q??RkQH6l6-m==L$M7_ z?7VW787!3}w_z_=k95M}zh-mmNfO$!ytTEJ-_r9zv?i;TWyy*rYnp^Lq@to9ZJ=3xMZMDW)#>wGLjG%*btYuu^ z4w1Z!;$S0!=1$Fx zdW+Sb51K(#3tUvu%ksG9u~v1|PL6_Y6vY&COg`Pvb6{<-wR@rIr5iH@QH;p4o6U9C zU2iA%HY%~{cPEXt1X`$a6hv!?gr|GkzufO_&(p9QVq7^gVxBe+o0nyhNt)ibH=dOi zXf{b~5eDJ*NUzc{5BF*eo3!_%=HK_Au5LUVBj#5yo^0v{*COqYxEfi)Wf$6wAZmf6 z;-R$Zmx7(kH>2bod<8Bi)gy(nph zWtb{x0L3V#d1BCf#C0`*8{}ZXuCqhf4Ip;k-xQ{07yxRPRMcHpQdMM0K(R`aRfMGy zc{`;>HxT7)B+xG-57!8wN$HTWxHwqBP)i2TT}e?LS85nWL9!Z}A^`-7uvjVPJEciu1)UmfC5t@Ud{>q<(lgHnkkkPcNKOFcmgRxgez*EbB2(~2 zr*n4*M$9M2*jh*a!WkB~h@Y8v((5Iz9# z4YWO`9@%X=9Wo!-iyiN{pk!2-idAUfiWO&V-6R!eNdhI;lAvxD6bOqDL5rkr5{q&+ zE>>{0MP?RdjGKP6?mSSqshYA(o-f$AO2rjZn$jw2SsrPlyrtJx$t`MgBdsP)O~Ef& zCBHkS^yOjGV zMAz6c?T!bbX)tAui;0L<;J9cSOqt_iBBB*IE}8~Y=D3)MXa$aoroogsE+!&cf#afS zFlCO5iHKIQ?j*E$iR^Yg38cdnvVj`jy zI4+t7Q|7psh-d|li>ASpIW8t5T7l!DX)tAui;0L<;J9cSOqt_iBBB*IE}8~Y=D3)M zXa$aoroogii)*I;bsosa-{G-^zpUepzpAg{FZvMS!g5UzPTwvF4?Q9XU+&<~j|E{v z5rj`p2!j0wLAW{i{e!O@!McB5tRAYj-*dj&**Q3M`$Ol>%qhPSrl$5)7FSkQ=6?0^ z*|&f6+nxWRe|-4i%NON4UUa|s?|)=)^ItAp&=>B#*ExIeMEl~!OP7`&xaDVZ`O=AZ zgL8LZUw`Y(XYs#7xa1!r&hFj!!CPN_^y&NFJAXU>W&HOW_Wtq4r>~nnUwG-we_lWJ z@6wN_r@{2}$8+BE?;Lpao@Wk!@Z@vBsn@^0|6h-snSFffxjkWU{&(k}z3}QO_a{HS e^Nl@I!kL}?&YAt|kKwKhi-(u0f0{e-@c#jaUsyK) literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Collections/AnimationCurveCollectionIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Collections/AnimationCurveCollectionIcon.png.meta new file mode 100644 index 0000000..d74edab --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Collections/AnimationCurveCollectionIcon.png.meta @@ -0,0 +1,101 @@ +fileFormatVersion: 2 +guid: c5b62729a840f56448ed99e6fee68b6e +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 10 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Collections/AudioClipCollectionIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Collections/AudioClipCollectionIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..ae792e491ea7a9c3a8592b0f7aab15c11393c4d8 GIT binary patch literal 20845 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 literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Collections/AudioClipCollectionIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Collections/AudioClipCollectionIcon.png.meta new file mode 100644 index 0000000..614d520 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Collections/AudioClipCollectionIcon.png.meta @@ -0,0 +1,101 @@ +fileFormatVersion: 2 +guid: f305724bfe41a0241b47fbc4efcdd6d6 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 10 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 1 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 1 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Collections/BoolCollectionIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Collections/BoolCollectionIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..cccf51bd82721749a9ace6b8aafd89c05dc75eef GIT binary patch literal 20498 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 literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Collections/BoolCollectionIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Collections/BoolCollectionIcon.png.meta new file mode 100644 index 0000000..27102e3 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Collections/BoolCollectionIcon.png.meta @@ -0,0 +1,99 @@ +fileFormatVersion: 2 +guid: d4d11961dbf1cc64bae0ef7f13dc0ed7 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 7 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Collections/ByteCollectionIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Collections/ByteCollectionIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..06c329b5e7f5c6f4ac15c2db5580475bbb50f92c GIT binary patch literal 20750 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 literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Collections/ByteCollectionIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Collections/ByteCollectionIcon.png.meta new file mode 100644 index 0000000..cab92f8 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Collections/ByteCollectionIcon.png.meta @@ -0,0 +1,99 @@ +fileFormatVersion: 2 +guid: 824f6df5e20a8e54ebdcf1293a4d1783 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 7 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Collections/CharCollectionIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Collections/CharCollectionIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..a9d92ce82ff88dbe8f2b96d98c23f76294aca9f9 GIT binary patch literal 20500 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 literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Collections/CharCollectionIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Collections/CharCollectionIcon.png.meta new file mode 100644 index 0000000..341d7a3 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Collections/CharCollectionIcon.png.meta @@ -0,0 +1,99 @@ +fileFormatVersion: 2 +guid: ab7acc2ba41f8d24597f973d09b3a13b +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 7 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Collections/ColorCollectionIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Collections/ColorCollectionIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..07380018c66a03faf447387976e738003c8741f1 GIT binary patch literal 20506 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 S@az5nz}3;yp}>C8>VE?=!m82$ literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Collections/DoubleCollectionIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Collections/DoubleCollectionIcon.png.meta new file mode 100644 index 0000000..603b424 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Collections/DoubleCollectionIcon.png.meta @@ -0,0 +1,99 @@ +fileFormatVersion: 2 +guid: a7e3ab68e5b9b2d4796e3a138b43e81b +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 7 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Collections/FloatCollectionIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Collections/FloatCollectionIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..f5dfc8cd25f77fb1cc15af1d9497ab5bcc683b6f GIT binary patch literal 20437 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 literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Collections/ObjectCollectionIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Collections/ObjectCollectionIcon.png.meta new file mode 100644 index 0000000..fed97c1 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Collections/ObjectCollectionIcon.png.meta @@ -0,0 +1,99 @@ +fileFormatVersion: 2 +guid: 1a7cfceb598958d4588af67b5592b54f +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 7 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Collections/QuaternionCollectionIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Collections/QuaternionCollectionIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..f055ab67887a44104f841788ef048edf8d1b08eb GIT binary patch literal 20839 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 j<1vfXrL$1Kn*clC7r#bT1jb3qF6>mR1^fU zqBIp0ML=m{0YR)NC`u8_fNw+xM+M#u0f~t7CcpX3dh4wfmLz!2-rqU<+uzxD-}}ei zx^RJ`rur0h001$*r_Npw{u(WC@)ZHVnDLTdB_Q$OBmhu%jfN-YM5dtBf%?*M8AoOvvCx_wrO3$+E>3iGxF_C-b^F1c0Av|oiN9xAS zG%*~lGcU&Q@S_RtC1dUFRrIf?#whRH8M$MEyQ#)D^*YrS!y`L49*x;{^YinyM*|-e zcD=aObN(T%EweK@w??&CO=F*vxw}QA#wpurW1nrjR$lSE#mqWNeYybNcP`6N)NP~$ ze2kz{=OBw!F9S-UcgLs!#jZ)kn5kQOwO`vFSgI7cNvT*IN1Cq|sS8+#@3cJuSUV_1 zChwo=38bn3ew9rBW?&%-@SC;%#a$pW`Qw4LO2Cpmh7*)h;{e2XD8>#5mJ8$Z5 zbFy{XOkk!C2U1@>_U;r&xUoOHEC11>)|QsKdF8fCz?H6^Oa?|uE+_ES~m5Y5q=*ri69oUze=Uoy$Gc+}LA zkqsqdzW5O~*-kGnwbijzXGKmG`pwSVU~9bj))@m6KlD9o1AMW2z~*>?mRYISMJ-E# z_9sv+rNp=}YP5>Yb+z%J;o}%3|7|`-JJlv0i2i6;;-oTe`*g&O7+rVd{5T6Itj9J6 z!pq6vouzODdCO9VOL23r1Go)eHWxZ#_eABmTi(++PtQL|oU+N`$e7zKF*Y$)FE#15 z@Z1#39fZSew=)8?AIH+@*D%E|C#jm32Vu-A%52Y)Oh?BvE6*Y`H8LuuoLQ8qT(I>6 zv*v7w%D5=|;?V?^5L*N|&Bn>c#b-gC(@DhC>G-jaM-xXYZ*ni4g^WKr|J=+=WB(|h zex9YUwTSr0raW-B@ z6Fr`sJj@tt5xdwn>u{dOY4&V`_QvxOiba79=6ki(qWbd>E z3AerPRK9Y2nebBieTatU<_R0G#c+%#CrwhF#F-p2>GXb=6O-?5pL~shA!6U`Z#$rU zfbZpFl4tVsgt(jPd*|()xmVu=%{Y~QBK>Ll7_UyRN=EFd<(})Z9lXpvn@^3tw=csh zJ$d09Pkm3$sktY&q;pR48CJ(4e7m=f@-1^IbE6+~Pd&S$xv&B;hB-Mm)YLFgGh_4W zD2wu$XKy|Fd5uZI{%(VU?Uw1M4wLET^US?-Jv#TWtyG)$uljgUykK;jaauxW#I~op zZ)Z2n)<1!F$;U!V1Jm~`#DO>=GwejOJ_N9Vyj0c zw|PGDe3GV~rsrx&`H*dv9(Y{;aDiROmEg3F{VA81N2a*&)1HPEwSAhp4&BY@=6y>0 z;Hcpz0P)T8$uesR#=!L3-@ zJiVD$!K*krbJR@3ne$y=yLKdcxaOajePXW5T$gLNs%{;*_27U-k|p*bt}Ur8>0wgi z1;53ii%s)R=3RuGb6OUk@a@Pe431t*_C4<7wRl;sLsoLuj0Xi-1!-f`@)yJ}$Vhp> zDLeC9-i^Fd7bc%+ts7OJoyW^t2Xg!;axPrWF6)RdieGnW-7npis+wCKX=NBJHi!_N z6Y5eHQJyANAMCJNclG_gS7?q;jZRISd2`Tg& zpqVAxUwx6s&-9hN!c5G=lRE0k@JH^*rbi3?2{h51f zt<{)Adoh8HnGtSuw9p|0(@XUqdA?aP<+ljQ_X~ILzv}P*tDekH7iYj99 zh3gk8-OBhWE210e>y3I@z2UvJKw9JsC64meD4VDyBR+o&|Jm@$PAf`1^n1>ucAFik z`8E@5VmD-MXf4Sy47mR5t}Mf@w*A#{)m*LUg%K|w+*So&fZNL=G-gF_iT2)XwNnt| zGo==rU=dQ=Ko>RIeX`qU_cV!vbt9if&9g9}rJJp!J|wnC7(;_oJ^b6NDYEE`1-JrgzG0oGE3WwM)zb(w=|W=$M?; z+cD$a_>dVp)x$~+N;yb$Eul81j=t1n+JbjZCa&STe~l}&2%CP@{J3dr{-#-{b``p4 zx;#mur06BCLGW;vlp^fL-Eq5C*`^!1#^-Tfb6&95RAxfaIXzc{w_iX{+pBsbFn3qx zNMDqCp6!X3jK#(eO;mF@kT?6vt*tl7`!Z7I+-k4Ny;;ADc<}9^-u7{&SiO4lgpqSLFB+9ey|^vUgm>R9quo0pJECZ2xNBh4@{*eyO3o_< zz8T}C-Wt8`O~b?XWo|xb-^TOcr_IUwvlruf-yR%Ek`T<^2*L!X^L z=XP0TZ%u#oao=a&vaAKXRqfZ5?i}H@J^qZMYlHc~`R|d2jN%2(v#L{OXV7t!-mgH?Gv? zzrCa*etyTkcYE91!nxH;-(3{H%c*Z2?|sob@ib)x@3r_fwI}|r+qHs&1&P`DO9S&e z!i&zYWp};OPa#%6d0!Ovn_lmO`zd70Cq=f*1pum5r~qUJLSlqJ#Nh^8BHtEVK_a*;OQg4j zE5=nohXS}x;X=qWd;x^rKkXAHxYA6K;;6Y*#5y}e+7EwYik$t!n_;1ND8j0vL z5eHf#Z6pgKd|VeI=zJlBurMQ_m>2>PK_r`DEr>)s(G-EhU@g!XbF?`Ig)^t%F%&!w z(f@;_sl$I!g)BD3!_J|9Irx8;$N;feKtZEJLPE?!%+2^h4jM})lhGI)8izx{7AR3z zuow(Q1&fTNAOkpdkccVd3dCG~FhYV0`tw(dEs;pcLSKLS4=MH8O9SRE2 zSThWII48kC6FV?kh}3cjhAVuCSfCgjKp~?rcoYuH z!1Nst96=W48{45cd={4-_LoowEoCsiij_j=2l0ijd=^AAr=o`&9@Y!Kja?|ci=~M? z9BmQK_H+W4Odz0eW>{Gm8M|R|7*MF#1q_3PBAML58SEY@fi%OZ>3Y#zFfnpk$2XY{^Aeci%4-O6rOj0pjT`A7N zA~6UD?rcYc2h6x|3^;QF3uKZAC=wQ~ef}1BHi}F#C!+kxBrF+E!Z1M+xvz|V>;4_| zz&>H<;VB}31apW0Vk8t1en^pYpE6+IE#xNT!YvdSBx56qg$2iAfya{Ypg9YL!TPgM zY&_mVk_8M3gg^q5Kq3%`c+x;D!@zvEloMB?kg#v7L|-lRgjRh!DmlB-nj&8<>}v@q zAXCyN(U_78B*dbkzZo6e)?n?E8gRc)=U=1XJNF;25fT6e|Jemr3e{)zV-OLaEe-*N zkPQbud4J{FFGc;79`}# zQ(#{Dty7VvRdF(MLn9_)h-2 zF&VVJIUmWLchKs-Zjy+@z&~iLR;Wusms||UWvoz_f-bojkjq%1E(Kk3F(8-mpQ=lJ z@J%OBF#LLx5coYNDv-`r_#G$+rjv&&0EEu~fXIyi@JBEF{R#k9V*uc_9{^DH1HeT7 z?iE)Z0AR#qXFD54=;LGYZcg#5CSAMoc4{SWMxfuNy5+>YkQ4Pn`hy1053*Z*J6!GEhe<$Gyk#ZFHmT*2HLq8Bc-A4sXudYkzKv-qGo+1NGN-tv#eQVb9vn z%AZTilxv=gKK^SR3294qPp#UcxiFjNlZ;AL_nT3)sr4!}X=NA-$E6bzv|hgt-?HfF zYV)%TwRg@{KL_km79eyk zvpbh~tz2ExlU;p6d07E!d93PPw?l?sNE?3VDOFWpJqQ5EPdw9KXfJQ=TvW+k(e$Z~ z)UCnXQJ7^zseS0Sm9;xjxx~$m@jBA^SH!H^$eMP-fiR<)9afvlr#DV~+G z(};(H%U9kOxGXAfpR2S~zaZK&d2Vf;pQD(a*K_@FhleV`M$I>KP5Sx#00C=HgzL5J zb>feq=%Rz`?We8Rf23kqo|T>Bcfs?+naHKM*n34a0lA-QpIn}3P|_ZAWxr$1soax{ zQ@c_}>ZYuZeCMWFsWIcQlFnAk;+7|BD_8EQYx-b~EN!`m*O*JVPCR>Vp~`})rtTz? z-qWJZIUbr%D4Gv^7&>L^l^ELa`}#Ikd0AK6s1={>{c^mPuMF4%A10SY@G~WE)p538 KV3%#{x8dKl;$uDl literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Collections/SceneCollectionIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Collections/SceneCollectionIcon.png.meta new file mode 100644 index 0000000..cdbc0de --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Collections/SceneCollectionIcon.png.meta @@ -0,0 +1,121 @@ +fileFormatVersion: 2 +guid: 2914869b4bf78e2498ede5504e93b705 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 9 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Collections/ShortCollectionIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Collections/ShortCollectionIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..bd98cf4692e64f9a39aa161ea89e5f6013888dc0 GIT binary patch literal 20514 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 IIxJrEFKx=C$N&HU literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Collections/ShortCollectionIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Collections/ShortCollectionIcon.png.meta new file mode 100644 index 0000000..1b14915 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Collections/ShortCollectionIcon.png.meta @@ -0,0 +1,99 @@ +fileFormatVersion: 2 +guid: c0a478b6dd67927488ed74dba04f5eb2 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 7 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Collections/SignedByteCollectionIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Collections/SignedByteCollectionIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..ee64fa77ff88af66d6bcb9b34a0080b60c72c727 GIT binary patch literal 20558 zcmeI4dpuNI-@vz{gM>-({`uZ>_a|YyYtm z7cOwrRG+F20Dz{mlbt90Jx=4-9}2l z`)C?%u3@?AIY24=_82vw+%2OVJ1xF<>$YX_y6 z%(PivK=vqLc@>-01S~`Y%V+=m{5BAi`F>ZF60mrOfv!?^5`dZjCD;M}^MJ!OKW?xG ze6fHI*X1$=cz_15&OTfx;OHr!yn5W2o~1s2E{&hu^Ku=)yKzdx^cDhq`5jI@H;Tw+U#P)t||Cf!q{IsZva4c zk}f>j&hGGPt-|VR(w1VaW#|{@ReB9stfropntY)(06djM*Y=oVil)ZQQ;7-c**CLe zl>bj-vR8I(L%Aa)s!0S@M zg*(P-$}#?HpVox+zOw3e%$^CvaGke@0KiXnGt8LRi>xZu0KhIg*5s&--kS@PP0LlL zUHHD?!kEv?N$YH9T)t>K&Q_fhGflL7&fzt-#_Mk$)i+s=xnr$QDEIJRpDffeyXbvd z%ThS@BdC^j!MH4T^eCIFY7;<%M+r)-4ZcQO)F$nUdv9>TX_WTH8K`RsIv$2DNkk`{ z=LROq+e!bmrRY0K{1S&VN%O7(_%)x`mpS5g#2)vsyrXfFQF4$xb)Cb$F}FApT>93D z*%`M)C#G6%BJFLxmG3|H(N;R65?lV;WL5LafmpMOOSZ=>Oh+fPtBx5S*2u4zdi2M` z%B6{K*)_+)Mrp^|myafm3bRFl(`}r5U40ika5{*ZHiIz!(P;8$<#iqxXB#FTbU88W z%=izNC$sRlcwZ+|qkGz0Ct$`!B`_|NXJ{uf@Uu&{edm1a7iOJyokLx)r%{{fp$vl4 zRHNi;k2nFxRVh16QFE`xHD@+oYBq1yYc_bjSUrss5AvyZA?blbjj< zc<1y5skeOUs@fcXOZ`pxO_+w}dfl~^2|VK|8Ix5f^QMGNK9c5oV9M={Q!1HQGVWzs z>#ni81m3Cosq zDf!-cnG0Wf>3Q)E%{v&M$2%xsTKy93*PW>1cggjVJL4CR>|@KC$|_J}*i(waO$`Dx z^VhG8C0?F&?B>H&p(dqi-TI{)E%OfTr7+CroBI@bcJAO>sWzpByx%QZFuK(^H?=c* z!xNoXbDqu7J3w$P!9hy`@={V$eDj_1J@Or2o+TBw=Vl%_YhUX3DOSs-a{lZkvmJR` ztG~}|^?K;_I9EM)qMIf4ZJ}9SK#tztQoFG8!MPo2S?7L=$#NCsK8ZNn`f=K7OgFPT z=wt3%M-5+r92r>+!U>PSADy!y=Q&E1x&n(+^{^7R+# zM~hF0bf`a4pQKms?yy>Y3Y}Cu?jqI%ja${yH@stx|ZDJRH_vwA)DueS|tf=+SyW
*y!49T~n~8iz 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 literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Collections/UnsignedLongCollectionIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Collections/UnsignedLongCollectionIcon.png.meta new file mode 100644 index 0000000..7ac4dcb --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Collections/UnsignedLongCollectionIcon.png.meta @@ -0,0 +1,99 @@ +fileFormatVersion: 2 +guid: 2aa2a1d7b94a54748b43a4093426c8f6 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 7 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Collections/UnsignedShortCollectionIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Collections/UnsignedShortCollectionIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..f99ded68b891d599968dc46a8a4e6c6592a76b88 GIT binary patch literal 20568 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 QvKO>C+q>E2+Xk-vZ-a8W6#xJL literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Collections/UnsignedShortCollectionIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Collections/UnsignedShortCollectionIcon.png.meta new file mode 100644 index 0000000..a08d579 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Collections/UnsignedShortCollectionIcon.png.meta @@ -0,0 +1,99 @@ +fileFormatVersion: 2 +guid: 2716b51a57087c34db2b9b6fa1523f93 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 7 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Collections/Vector2CollectionIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Collections/Vector2CollectionIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..5f2e003600919277552c60ad70b7e3849edecedf GIT binary patch literal 20795 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 S5~+9wjjN-lL$3Y8RsRO2kOGka literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Collections/Vector2CollectionIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Collections/Vector2CollectionIcon.png.meta new file mode 100644 index 0000000..3270c41 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Collections/Vector2CollectionIcon.png.meta @@ -0,0 +1,99 @@ +fileFormatVersion: 2 +guid: 8cbf47eb8d6a6734799ebc975a1ed553 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 7 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: ba5501c2b21034d49bc52f264699db22 + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Collections/Vector3CollectionIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Collections/Vector3CollectionIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a4b9da0014313dc75f705039cf207d78eb65b1d GIT binary patch literal 20811 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 P?~Jqk0=sP673=>E;j#cx literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Collections/Vector4CollectionIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Collections/Vector4CollectionIcon.png.meta new file mode 100644 index 0000000..a7eb744 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Collections/Vector4CollectionIcon.png.meta @@ -0,0 +1,99 @@ +fileFormatVersion: 2 +guid: f4151cbde4520b1469e166be72ed9aa3 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 7 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: a68d4580886f0a8428ae96d270b281cf + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners.meta b/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners.meta new file mode 100644 index 0000000..ac9c723 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5d7fd466ecedbc14b9060a01c8e4c788 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/AudioClipGameEventListenerIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/AudioClipGameEventListenerIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..b76e1ea95bde4ea088888e64252686f7d50b4e65 GIT binary patch literal 20811 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 UOUK!v(s$B0+q>Hp*e;9xPp<+v6aWAK literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/AudioClipGameEventListenerIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/AudioClipGameEventListenerIcon.png.meta new file mode 100644 index 0000000..5d8463a --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/AudioClipGameEventListenerIcon.png.meta @@ -0,0 +1,103 @@ +fileFormatVersion: 2 +guid: 36a2235e5afe05546bc4fec9c7e453c4 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 10 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/BoolGameEventListenerIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/BoolGameEventListenerIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..2ed9b87f601a57873d50363fe960060804832c2b GIT binary patch literal 20537 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 DBpvc` literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/ByteGameEventListenerIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/ByteGameEventListenerIcon.png.meta new file mode 100644 index 0000000..db092e6 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/ByteGameEventListenerIcon.png.meta @@ -0,0 +1,95 @@ +fileFormatVersion: 2 +guid: 1366bcc91c88f8d49af86093a00675ca +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 5 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -1 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/CharGameEventListenerIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/CharGameEventListenerIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..dba848d9f0c734258820b56dd3c78afdf5233874 GIT binary patch literal 20515 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 W+3h`oM;h{Xt++UN*yq|US@mCHgrO4v literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/CharGameEventListenerIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/CharGameEventListenerIcon.png.meta new file mode 100644 index 0000000..44a2f35 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/CharGameEventListenerIcon.png.meta @@ -0,0 +1,95 @@ +fileFormatVersion: 2 +guid: 7e74d7e3dbfe03141aaabb8bec5594dd +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 5 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -1 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/DoubleGameEventListenerIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/DoubleGameEventListenerIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..319f7fd70a69452b2d6b3ba48837db127384177c GIT binary patch literal 20546 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 F^ItkEy1W1Y literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/DoubleGameEventListenerIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/DoubleGameEventListenerIcon.png.meta new file mode 100644 index 0000000..d87baec --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/DoubleGameEventListenerIcon.png.meta @@ -0,0 +1,95 @@ +fileFormatVersion: 2 +guid: 93a3623d2d3a46340ab7381b57d8bb5e +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 5 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -1 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/FloatGameEventListenerIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/FloatGameEventListenerIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..77b34d102dacbb723d993c64aed948df7f344fbb GIT binary patch literal 20499 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 IZI-P0FSx*>EdT%j literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/FloatGameEventListenerIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/FloatGameEventListenerIcon.png.meta new file mode 100644 index 0000000..84ce3c6 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/FloatGameEventListenerIcon.png.meta @@ -0,0 +1,95 @@ +fileFormatVersion: 2 +guid: 371b4f30d6038eb469aee486b44a7477 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 5 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -1 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/GameObjectGameEventListenerIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/GameObjectGameEventListenerIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..0696e0e11b5acf44df8f876ea672f4ead66f1e43 GIT binary patch literal 20527 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 literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/GameObjectGameEventListenerIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/GameObjectGameEventListenerIcon.png.meta new file mode 100644 index 0000000..7c2e248 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/GameObjectGameEventListenerIcon.png.meta @@ -0,0 +1,99 @@ +fileFormatVersion: 2 +guid: fea60d815ebdac44b8d8e6caff43ff47 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 7 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/IntegerGameEventListenerIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/IntegerGameEventListenerIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..dbd00dbc5dc43749596e6be662a86981e613cb38 GIT binary patch literal 20463 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 Xd1yzARdg&oI>5ok#X8Gs<%a(N(SeDz literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/IntegerGameEventListenerIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/IntegerGameEventListenerIcon.png.meta new file mode 100644 index 0000000..78ea753 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/IntegerGameEventListenerIcon.png.meta @@ -0,0 +1,95 @@ +fileFormatVersion: 2 +guid: ec13abd4acac26f498ad89c93b09cf0d +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 5 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -1 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/LongGameEventListenerIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/LongGameEventListenerIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..0507bea14d8383a6cc427f01cb3a892c532b33ba GIT binary patch literal 20448 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 G@jn3@MS`~g literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/LongGameEventListenerIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/LongGameEventListenerIcon.png.meta new file mode 100644 index 0000000..85a946d --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/LongGameEventListenerIcon.png.meta @@ -0,0 +1,95 @@ +fileFormatVersion: 2 +guid: 5302bfcf6cc90f644b97ab8014833aac +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 5 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -1 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/ObjectGameEventListenerIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/ObjectGameEventListenerIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..3f552c951c9d02a81ea09639acc86c1dd35f7d0f GIT binary patch literal 20588 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 literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/ObjectGameEventListenerIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/ObjectGameEventListenerIcon.png.meta new file mode 100644 index 0000000..069d0b0 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/ObjectGameEventListenerIcon.png.meta @@ -0,0 +1,95 @@ +fileFormatVersion: 2 +guid: 982f0ec9d767e9049ac1fdca7b8cdd1e +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 5 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -1 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/QuaternionGameEventListenerIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/QuaternionGameEventListenerIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..bf17125c04c0cf62ba080ddd36f17a820f25ce72 GIT binary patch literal 20842 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 literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/SignedByteGameEventListenerIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/SignedByteGameEventListenerIcon.png.meta new file mode 100644 index 0000000..3c5ad28 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/SignedByteGameEventListenerIcon.png.meta @@ -0,0 +1,95 @@ +fileFormatVersion: 2 +guid: 8ee0d00280544c942bc17b01d58957e0 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 5 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -1 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/StringGameEventListenerIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/StringGameEventListenerIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..b73d40b3849cf655fe4e91b6aa44a7c840fd697d GIT binary patch literal 20557 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 KA;&&o)qetp<*n!d literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/StringGameEventListenerIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/StringGameEventListenerIcon.png.meta new file mode 100644 index 0000000..74726c9 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/StringGameEventListenerIcon.png.meta @@ -0,0 +1,95 @@ +fileFormatVersion: 2 +guid: e97e7e05814646c42bea6f15dde77ec7 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 5 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -1 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/UnsignedIntGameEventListenerIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/UnsignedIntGameEventListenerIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..8eec1c28f9b70c4204d938370bb7f4eb785b291b GIT binary patch literal 20553 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 N(RPkami5wg{{gs&x2OOB literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/UnsignedIntGameEventListenerIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/UnsignedIntGameEventListenerIcon.png.meta new file mode 100644 index 0000000..5c354e5 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/UnsignedIntGameEventListenerIcon.png.meta @@ -0,0 +1,95 @@ +fileFormatVersion: 2 +guid: 8a31b7cfff051734e89376e9ec642e00 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 5 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -1 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/UnsignedLongGameEventListenerIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/UnsignedLongGameEventListenerIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..eb9cce6c7c5bc9ae74f63b43bfe864ff3e1587ea GIT binary patch literal 20524 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 literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/UnsignedLongGameEventListenerIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/UnsignedLongGameEventListenerIcon.png.meta new file mode 100644 index 0000000..915017e --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/UnsignedLongGameEventListenerIcon.png.meta @@ -0,0 +1,95 @@ +fileFormatVersion: 2 +guid: 3abdecaad047e2843a1ef76f56b5bc49 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 5 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -1 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/UnsignedShortGameEventListenerIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/UnsignedShortGameEventListenerIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..80b4fd23b2582761809831b0aa000784f91cf64d GIT binary patch literal 20580 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 literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/Vector2GameEventListenerIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/Vector2GameEventListenerIcon.png.meta new file mode 100644 index 0000000..77c9ca3 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/Vector2GameEventListenerIcon.png.meta @@ -0,0 +1,99 @@ +fileFormatVersion: 2 +guid: 37ea5f5d3b06f5d4ab8fc2ecbcec891b +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 7 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: fddc1d2340a266f4fb81f1bddb5151bf + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/Vector3GameEventListenerIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/Vector3GameEventListenerIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..4883615f7468c28f5f04e4150ef7414580077cc1 GIT binary patch literal 20854 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 literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/Vector3GameEventListenerIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/Vector3GameEventListenerIcon.png.meta new file mode 100644 index 0000000..4aac3c4 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/Vector3GameEventListenerIcon.png.meta @@ -0,0 +1,99 @@ +fileFormatVersion: 2 +guid: 93f8ba988ec5d26429a948bdde52d41b +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 7 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 0faed3a5a3c4d9049b3faccb29714007 + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/Vector4GameEventListenerIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/Vector4GameEventListenerIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..b623332fd2062c7810d513169e01b39fb8b23c8c GIT binary patch literal 20861 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 Xn#>^ZsGEP!jAAu z=hm~k+jKKXl@0GMh5a$5?_q5Q*`nc6S2(}>M)&*1DGd?AxjmKTMNdNJcAPABD_-?( zVY}56dP7XD<+9$VkKaDsxTYlJKv(rs`)<|f%~iee@8h)TKgOlRm2cJB`X8I+;O3P+l zz8#9ku6(!TQ~TABry+W84>xMNHUEs*Xx!)j*Xj43_cA{vOixJYQ&CRt`pm>5>jA)a z5|`m4_Hl8hF!@0!kj3|dP@zErxDf>as%5AEWClQDgdfD=@+=JA7F{twa9I`x-exWs z7Xcme=Q@N7ANoE;X(ln@{6c``~5`&1)pg^985^7=4k4u4nONP+~h<*`q zfQ5mT#2~`QWif)z7eWX#6cNe95J?CU8HF_?kq9JH1P+5WLu2r0JO+uwQwSIe0f!iP z8PGJ~UsNHBP4Td?8!!j|XJOzk77Hk7bVx`DDg=+>3pr>knM_7waA+J32}>YFVLUMy zisXq5r67YiHjs!Z0a3CpHd4!Qkd&a1;zi21F`348sN9L@ZDY4xwPNNDP*NB~kEL z3Whiz1Ah*nd?h;^htJ}&!@dh;NKyvlOR`ev{6N0Yh0lU$cq)3d;Ze2VW9(w-DV8Sk zu(w7y+R}+wGLeYHp|G+rGIFEhFrZMeGZ+R5MKZC2BiLUUtU=D#qk|KH-2M$N0EHq* zlD-xOgZcZVB7E8K5}hHp`fa&_K@iOu6mlSmdD-O-O%JX13({~Hi85`;2=)Hq;p$Yh zq#^}!|8xF$27!Tr659wSUl2B8RsB8>U)3nw^sk;ULj8Z+sSyj3%b&F))aCF;8oIA@ zQ5H`EH6n#&a>a(vTq~*XRy-yof~%37nNE{lfLVMdmqi&$WTqL$oP{$dAenghl8D7Z z=14z3oH-H%Aqw0L5Xgbh0v?Bo9vU1YK$gM{*wKe*w9TSu{^TV)IRK?qPF2;?$B zNhw9IVVF!J6JnAjrCVZ425dB2{D0bHO0A3n zGh}Tr4l;Dh^psS|?H3B%rNSLke@UakC;1U$GHCsCK9ZAn;M)Ffl7z#+FEm#2IiM;# zJzUlI?^R`|hpP^0dhxho8g9VauwfZ3$vqBZboDA31-3!mLY zl3p209MBm)F{+~Pw-jY21{9@RM&|Bie^8{O@V!y^wk-O~eOZ}!N%z}-Dd>`m0l9<~ z*`=UME(YWhR%DlgF1Z+xOIVRz3cBQCKrUfLb}8tRivhWW71^brOD+cF5>{lFf-boj zkV{yRT?)G7Vn8loMRqCZl8XVkgcaGPpi3?W;OP%o1={tBed>r!fB^8cbyv> z6M2c7rh9b#(%C?AFj6|{zg62nRs0L9eC9SIW}8Qzp3&w8XPv#x+V}bp!5T`NQ5px& z73_AIeQi?A`N_PPIX~8zs3gt0P+T4zV&1yEBRRWsX7Tfs4{>9zCnK?C+p){sDi+sT zw(R)*qe0!qxBEp)vltJi-u}xV#UtxTCHcMW@6W69Hhn&?ZE37R)L#BbSBu^H3P_A< zIp5W_|7<;AALsjcK8dcQ?4+Mpb8gMP6n~wnF5E(PFc_6z;~Cj>Q=QgMpaVL}<&Vmp zfF<5be4H}p0@>&4EHLxSW^TvcPNJ)%MVI`rxYy-f%aMi*R}?aMy$HX%v8VV_PXunF zep*Fux)nBWZ<_wP)Pok!nTJ<$=FFJAZ&7gGm8zu_JvXC?#WQ|VOAcM5$^VFdvtRc} zUw(c2n#`K&m8UWb->==U`o*W(TGc%4%s|swRo$PumgMZ)89M8QU|Qs9_g#)V!?c>C yvO-N07hJgz+Fep=+_J+t>$Sf|Z}cio; literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/Vector4GameEventListenerIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/Vector4GameEventListenerIcon.png.meta new file mode 100644 index 0000000..6de899b --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/Vector4GameEventListenerIcon.png.meta @@ -0,0 +1,99 @@ +fileFormatVersion: 2 +guid: 5aaf554fc7cbc374696da1e7fef6f36d +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 7 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 090c7f661ad14534dacea738af60061a + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/VoidGameEventListenerIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Game Event Listeners/VoidGameEventListenerIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..0c9d2c912a2cc3e4004286fcac5dc17b33532e03 GIT binary patch literal 20548 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 G%YOp1T{0Q~ literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Events/AudioClipGameEventIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Game Events/AudioClipGameEventIcon.png.meta new file mode 100644 index 0000000..0d4cda8 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Game Events/AudioClipGameEventIcon.png.meta @@ -0,0 +1,103 @@ +fileFormatVersion: 2 +guid: 0215332f5b2955c4680cdc966f6d9270 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 10 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Events/BoolGameEventIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Game Events/BoolGameEventIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..7ef5de272c75d6209c71ca9460ef501dae04df7b GIT binary patch literal 20707 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 literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Events/BoolGameEventIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Game Events/BoolGameEventIcon.png.meta new file mode 100644 index 0000000..47f445d --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Game Events/BoolGameEventIcon.png.meta @@ -0,0 +1,95 @@ +fileFormatVersion: 2 +guid: 346c4474e35a8914295939193925b5f3 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 5 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -1 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Events/ByteGameEventIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Game Events/ByteGameEventIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..cf2a96ebfd62a63a6458296d8785dcaa2a3e9339 GIT binary patch literal 20581 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 literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Events/DoubleGameEventIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Game Events/DoubleGameEventIcon.png.meta new file mode 100644 index 0000000..b1984dd --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Game Events/DoubleGameEventIcon.png.meta @@ -0,0 +1,95 @@ +fileFormatVersion: 2 +guid: 85a0261a15fb1d34b9da3b33673abe91 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 5 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -1 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Events/FloatGameEventIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Game Events/FloatGameEventIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..6361535d57cab07dd39933fbc2eb84f53929843f GIT binary patch literal 20473 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 I?3b_qPmEiG0ssI2 literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Events/IntegerGameEventIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Game Events/IntegerGameEventIcon.png.meta new file mode 100644 index 0000000..b8f24e1 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Game Events/IntegerGameEventIcon.png.meta @@ -0,0 +1,95 @@ +fileFormatVersion: 2 +guid: b907a9c0990bd324799f845c0e473882 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 5 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -1 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Events/LongGameEventIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Game Events/LongGameEventIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..3349f37d414008e9c78d75db9d5d1ac38ddb8a73 GIT binary patch literal 20443 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 literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Events/LongGameEventIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Game Events/LongGameEventIcon.png.meta new file mode 100644 index 0000000..e53bbee --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Game Events/LongGameEventIcon.png.meta @@ -0,0 +1,95 @@ +fileFormatVersion: 2 +guid: 05d05b25c35be304c830ae58521193f9 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 5 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -1 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Events/ObjectGameEventIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Game Events/ObjectGameEventIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..263ef93ddfdbbcb89a25066cd80cec72b099c28a GIT binary patch literal 20549 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 UKAu`GeQ1q?jf-`T)yfV30(hPwRsaA1 literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Events/QuaternionGameEventIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Game Events/QuaternionGameEventIcon.png.meta new file mode 100644 index 0000000..defb1db --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Game Events/QuaternionGameEventIcon.png.meta @@ -0,0 +1,99 @@ +fileFormatVersion: 2 +guid: 649cb6e3d04877d44838fd8093210cde +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 7 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: e3350abd8a0daf34db6fd1c07da1e2b5 + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Events/ShortGameEventIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Game Events/ShortGameEventIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..41d815982475a9dbe3e294fa2132a8a76759ded4 GIT binary patch literal 20511 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 literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Events/SignedByteGameEventIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Game Events/SignedByteGameEventIcon.png.meta new file mode 100644 index 0000000..e821c1a --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Game Events/SignedByteGameEventIcon.png.meta @@ -0,0 +1,95 @@ +fileFormatVersion: 2 +guid: 41126a9a6ed026a4bb723749749d3a16 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 5 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -1 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Events/StringGameEventIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Game Events/StringGameEventIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..7d05c7cef504d3d0b87e68d10e4d5f1f99ba677f GIT binary patch literal 20536 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 literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Events/StringGameEventIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Game Events/StringGameEventIcon.png.meta new file mode 100644 index 0000000..c958cdf --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Game Events/StringGameEventIcon.png.meta @@ -0,0 +1,95 @@ +fileFormatVersion: 2 +guid: a258685c72c006742a28776d98cc662e +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 5 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -1 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Events/UnsignedIntegerGameEventIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Game Events/UnsignedIntegerGameEventIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..fe7b5d70074414fa26b0b9ec7475fc023eb58932 GIT binary patch literal 20563 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 literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Events/UnsignedLongGameEventIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Game Events/UnsignedLongGameEventIcon.png.meta new file mode 100644 index 0000000..4d6e1ef --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Game Events/UnsignedLongGameEventIcon.png.meta @@ -0,0 +1,95 @@ +fileFormatVersion: 2 +guid: 1643f7d1398fa9a408e6ae88fb0d7309 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 5 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -1 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Events/UnsignedShortGameEventIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Game Events/UnsignedShortGameEventIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..fade1386d84988110de71b6a695409f39e45dad3 GIT binary patch literal 20588 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
-qp-ZxHq6eXG6Ra0H|Aar(HVYz4d zig(tpZ64S?ioavEq`Tq%n}&6(Dnql|>l&OoRAV>Pb|<}09BcP&Vp?K#oOax+EDHve z`qWC&_2N^GT`i|}R@UV1{oU0?lP6)LKHPbAucj`wZePmVl;pF5?+vN$Ep$2abG>-Lb{vNe%PEX+P$KU(h%;`*?nw;D-dQ@urC$>4d z9snFB@R|NHe|I+;TO`1M91#n`gbBoOAqoI=t1vOh4uWJT7R2KVEsfrkoi#%7IhIC# zBzK&<*bWNhJ4Z+$p9l{oJ0gfpB$quDqz1x2A^@FWU_NHIeZaCj0HXO1<;p$XX3=LSKOE_Gbx4mP3IQTzHqd=KVOv7SBLqjp4<`|KLhs9H=R4k5wB@ocC23i^} zl!0Mrq13p~$$%ewNXnM*#WKD~h?4sSS)$c4OCuwBputc7yaeLGKtgFhJD4Ii3>0JW z7#wyaBk@2HKeFjy_g5Wo*n^hh)so=expCN7C>RnzLYWk{!;cskUK4lsLDLb(D-eum zDU~^_ff4j09nn(C3>QOKZ%8UyEn!0rYv7R>k2HI!%o`e7oj>6URv*!kjL-dwA9>GL z;Xz^iub9bu`pkOwRNqq5VQ4fv2?WYS5~fHL%;?*$LpNgZeVBZEqUQMVg&a|+bS@n` z++=9u40(g>K^eq=EiKSE3jD)_H#PxB!x84;2s9iH;iOM zE(Rr1NWOh7jRyAbU`7}`@N%1>Y4yhP00j`k4V3U8d3fY-hq{MGJLqY+8@VxK(HG{u z&BM*Lj!>j&b|ob zDdEE<6c~)qkygzg8@ALY(*>LwGpQr!GLP)_i ze{UIZ6o|-X;i+gAfxt$y*hB&v=lCbUMuZv$NRmozq{rf3?D-;HV@n z$OX|B1anG%g=xW|!ZkUCgk!VGY=}*jr*3&HgtL)iiT-Yp*%xI5H$%||)&YSVQB%_8 zk6&nTl?qo(y(x_W-^qW`hVa(g=P$qW4qn|`O;QLr_=CmE|Mr_AyN8|K<;R`}T{{8$z{_*@pTUdU7TAC`w^^dEMNbf*l0q@hq&;!=nR zsi4G#q@hq&;!=nRsi4G#q@hq&;!=nRsi4G#q@hq&;!=nRsi4G#q@hq&;!=nRsi4G# zq@hq&;!=nRsi4G#q@hq&;!=nRsi4G#q@hq&;!=nRsi4G#q@hq&;!=nRsi4G#q@hq& z;!=nRsi4G#q@hq&;!=nRsi4G#q@hq&;!=nRsi4G#q@hq&;!=nRsi4G#q@hq&;!=nR zsi4G#q@hq&;!=nRsi4G#q@hq&;!=nRsi4G#q@hq&;!=nRsi4G#q@hq&;!=nRsi4G# zq@hq&;!=nRsi4G#q@hs$LtGj|Z#sd5@as)N;rEzaySeHk{0>P;0bsId=ZZ^?0HCtk#omS)_V9Xgh3k4Rz4-5zq-#iU;_Hz@ zZAY8AC#S^rtdI23)zc%9^-S6hm#Q93PFfeeRtt0HIqRR8fWp%i_4=fXeAACNr!D<> zE}+el-cT*|aQ2-#%UCOIow{yNF{==Jm%DC$XF`6|T;r!|Hrbb0UfZhT#$9ceP_@@v zZ>uUE=VdHeWp9-KutT#|`yK>_j6-Q3oN(1d``))xD&~i+oYx}yCY~iY_}wr0cY+D} zi4(Rtnp<OrTS@AINIWYYksz zkFn~A?Or_V_?lHw!Z!S*Eg@co%T*3_dgRc=J5$h!8;+j#{# RRQVfgTpT>?i)>e}{}=kT6S4pR literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Events/Vector3GameEventIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Game Events/Vector3GameEventIcon.png.meta new file mode 100644 index 0000000..920dca3 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Game Events/Vector3GameEventIcon.png.meta @@ -0,0 +1,99 @@ +fileFormatVersion: 2 +guid: 080a7a46359356e4583460b1fe0e33a6 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 7 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 74616ca3739a6714bb6e68c6f2edae5c + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Events/Vector4GameEventIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Game Events/Vector4GameEventIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..2ff17aef3933c086d7f6ea1bf664d345a62eab41 GIT binary patch literal 20845 zcmeI4c~}!y*T9Er*})A(MQm6UM6z!rhOmTHK(-*@$|RYD$dZ^uHmib);8GD$Q4s1< zL_koXq6jMDE(+qVps1h}E%;TmXl3~(tRrC4zJ0&%ectCu9!ZY(o^$R!zkBbQGxNu6 z^qS|aqd8R*0013V7Y85scdYzRT^0WRuB{t{e>B7{fl>g_njrsE0n+wP1^`V@A&ceZ z6)cj8q`@LF%9X`Ji6tVwFcboSsK*(;0=94SBLt&# zFwz)1H_>SSqlw<<$2mHVHn_Skan#nWv0Em3TWW98e5lrFbYSbcgNd82e}2C5V95Ql z_E$H%PCQ^X9cjxbs#Ysk*WTqq^d`q@=h#ml_iWvjiV@ z#_pNEz`oHyP$ies0C=H+AhR{E?f|hFANQixIlz(X`I{Vp z034vlce_Xf9-;x9t3TfbICc^!uNtdW2&iiVIPb*xS-|L(K+shalPF;Q9zf6Ooj>EZ z*#%>pEMQW53K=D)G{?Aw>geTa{{EQh=2foxv-K$8H(;7ArXqUJ6ha(n%(J!|0I)B4 zA{=d7XH=DLK~)uHYq9Q9^y_n~-NqbFL)XjdJh3eRJeRGm>9WKYO^uzS8XMMiU`Ffc z;3Zo7Rn?8myL}N=U%j52wwMJ)g`D{TJGN&`e`+z zqy59PvoB2J2#e#KM}K@)apS#v*0k#F8tXZAuacZQPHJ^`7~V0y=*lSxu+VGp9>096 zL)w-$LYDDH`|YzX&A8podr@!sc@(pr3>;g=R9TsfKD?Ma>UTG@u>rF37wrJ>u2gjX zuDSZC*x+@~t0TML+H^Yan*qe~UAHd>fF%y5820rdn=9%7;IJ>w;+UPm`}316%T=eH z|F-VDR!0zJy}jwh3j4A4n!MO)lAu{f*4mqIxOvRbA_#le){s>09lRk$tc$7eJEdza z9`gsNo_XH9EKXyz-BtAopwZ(*70#vrldbCdd*VMDop%{MezPg+TB4q}v0F0P1@E(o zjq-Cbd}l5BhL*6%>2&g(s{mnb$A&Uz{EoOnZ|l3-Cs-wisZ-ZG9niYPli|~nChbeV zCHZ-(^%lzhrdxTzV;(0lSyyo7zf4vmUJS)yE?=-eZe^*F!mT`Rd_+6%^3-GVkBlna z_<>t}JaY8-ILC4g%IHXY6gb_^CBQvk-b0tesA;C8agQ~q8l%>GSC|>69CrJ8=IL>t zE>7kU@CgAfmL~VdCr!YPU75(bNHrb5kwq{o+4ha=@t@eY$KQ6k9qwb&Y?+fza+zw9 za_uoMq)?5v!xA<7YJ6ixw=9NXnTee``{?sI+F+$k@|z9hX=g?1C{ z{0^r1JUP6dJ&v5Tz&?L}vCmQOgu@d^E7E8;*G+PD%gR5n^Ul;@{or=t(O+bz$359O zeO~G<|J#+#&cCGoGU|P#w$6r$>#igU%%`MJR+}uC5;^(kZudh|?rffNg^i=)-|TMM zGiHy-FTkSM;`@oo*EM&}-8plofd!VGlY1!lX|9%En_ne6DQAiAssblJqHjZv#@$_c zez_T5Z+s1W1vzsLC*%qai`X_ltq$zms2X^|{ema!C+~g7mo}7LMrm=U6h&DYh3MpM zSP@6QIP>_;N8d+Sl|XwHuWX)1lX-S(+v-hE z_1?~UG0Wf($-M**EegrqmAWe+&n3@0&-u+6N|p*TX$!kT@st=F3NryeWvM;X{)fE?9Q-1 zvOhR$2dEZlo2u4oS50PIA}<#)46#>gfAeN7zF^DB0(XL`&(|lH)G!X-bNaz)%ogG0 zMGdA6VVA=$ADpQ=(`crf$7_$)G#`(WL$eOeai8OU<>rl>2X5ZqLr%BGKOi)vH>E#F zuRj^IAZmeS@!{fAkZWP%f7dho;0!v%(` zr9Vsb==14M)2jBi+N`?tepfSA5Kuj~`XRBQctYi@i^2@w^gGT1eL;zIU0dSjjc#iz zF{w;Uy20fqSI;!gm3>&g_<79j4;kr2=@l)9Ymc^4T7|6%bwA!9{WvQ#kSM)%;VSEy z_sbd^tsi&dLh6sK_GEd+2~ISbV7b_2|NIBXPG&{swu5i=nZGk7KQ=HM7}TePr-4gv zP|HtVJz42_L6o^PzMi$lq?^|r(_I5($Ieg@jM^Ay7q{@6&mUvHH#)b~hF%N(UihfR zZp*$ByNPy5YxCE>JfCkAeD&9D`9|$cyQ`9`gu3xwtADwFOAUMlZoaTu+bljI-hYG5 zR&ip$)Eay$IkKjXC9QY(!(o@h({uselXet6mu$hz#Vlhyrk*C9wz-Vq2i~|BkP+Y- z>Nbsru_&N~hn}tPXlYA$k?}&SVWs|V?A68M=>1g{@8h#4EZ)ZW&)O{`vOe ztPO7dXv2V4XO1kR6*87b*J?IQ{C4(+`Km`4r#2N^gx&MZYw=GlSbb(@j7Lb^lJnQs zoE{GjCSJ;U49Y@ek2v)?%DUit29 zSH{~&v<^kb?}xpYUzms;q8pprHR{`^>(C!ZY*~5ax!RrYA`AtF*k$%<@6w#oebYWK zdE^v(Z5aVzJD*1X8q($Ta2jvQu~McNl#Ww%sQ(oOCLp= zwdR+3mMwj6+hX^K^(5h*&BCs_hi~iFEGv)P*H%;K+^!nGuDUDvL(&-5w@G`FDmUnC zc#~Y17PT?e`<3-l*pSAV?s=0R1>?wb9n?^09Fg?*pZ`MUhg zl%utmD=tqzdo7BHU-Ewb=a%!4b&-Z|57v+IZ2TUz#=JZD)A0|!x3WK{Oi4-U9zAMz zTL+hjt_1+c2|{*&EWpE^&J~4WK%R&LVWPssa3Kl+44Wu1$PIyHC=MhLhFcrIEj?$9 z67sB#{mC9U4>1c07P`bpAm5mIY;H^lm&P-;VQMm>=&*w@NCu*!!a~EP^eAiN9=~*0 zmN#RKQ9UZM5Nl&Q`GBYZ4=)r;B!N(53?4TC3BsU)f;ih#qDu{a`@h(i;I zbP|qEBB1&{#!O9EVn}#=x{rfX-*E8%tc`5D5&JTOqWw2vK3 z5gP@Hv3Lv)JCc#Ozla~%bfEjI4tU%FOYsUxXiscBE*1)f!k}=O6t=^UI54~>9v%ax zBhEK0Y(z_`%rOE+(1&zHODQ{A3}JmBsc40S3pqx>Gcg${da29@8eE;f;0jhB(UDBZ z|B4@Z&sX6=QNpj7$$NUudiGTBQZry^be04HWg-b%BnoBrZr8yZG59`AzCBUq{=#sc zC{j9$fgNfxxN!!(K@Ok{V#1bIXdD&($A&jH0Y}FXX5$ES91h{6S96FD5BL!AKp8mb z1&>GL@N7JlPQ=qmq}e$9fR`_Hhx!rmg#75gD{Ouim>@rqsvT9_8xDqTp#13YvhyBi$hMM)bpmqGax1G$fHC)(&35p2T1e3chUZ z?+6w49B?rxkwWtAYi-=We+M$cz=48}ks?Tq*@K!`F1x+DysAwx3i3ZP{OhME5 z1OgSLfD|f;+mlAWG#}==f1a@GkrB}#hzQ{zE}F;V6MGSXWE=<02Wb!$PK!y^TEHo3|4F$T)kV-@znl0 z=Rda$a^StAbA!Qf0mNfs`y=ab_-|S{9)ScAcz7}zvLe#ZI06Y?J`$0PwjzRjGDM|t zAu3!}{!1%2a&4(xxxVBl3Xgy!e<%IH1t(lO%H-85Um^-afnsr}kPFIFDK;XU*LNQ| zaFIsIL@2~%vX?u;$N%FlM4>uT?6_lQ~c&$TM@#jn0?V zN`D13yt?VD5*>PXr<43l$!i+LH+Jv^0DiteAE6%ktLb!z`4?xg&pWTLa{p?DNyX8~ ze2@>Ktq4SFUxjJKqro*fm5k$Z;ndBg$y2v{EQGU>#uEM0BC~gt5!?)p*1rx2+=!Zz zA%FZrhpSY$V(Lk0O!!WISR2AyPhWui&O3BPPc=y;;NTAyFaPc{MRpH04g7OcWcN_h zK})}Ip^QoB8*NB4!b<*(sP|EaFZ^5-l7}|5X{ffBFbWC{a1g@xZc=%zjHmS34DA@v zFz{=Jh>kwP-Xnu}dfBrmy{+)GQTVYecHp@zV!e>3?%ymAM)YrXjC7|Q1W7}oti+`d z5mG^k3rRzvti+`d5mG^k3rRzvti+`d5mG^k3rRzvti+`d5mG^k3rRzvti+`d5mG^k z3rRzvti+`d5mG^k3rRzvti+`d5mG^k3rRzvti+`d5mG^k3rRzvti+`d5mG^k3rRzv zti+`d5mG^k3rRzvti+`d5mG^k3rRzvti+`d5mG^k3rRzvti+`d5mG^k3rRzvti+`d z5mG^k3rRzvti+`d5mG^k3rRzvti+`d5mG^k3rRzvti+`d5mG^k3rRzvti+`d5mG^k z3rRzvti+`d5mG^k3rRzv{HM4y2j6r8g~P8miG<%{f@#dlg5QCH;=1^F06@$P0Ek@& z0H3$GC4FLM0?Mp8?0f0)htAiao>hX<~<8Jn#-lgi0Szc4uYfo#K zQ_nMJAJDaXvB0BCYpxgf6zMJs>t*gD)vc?Wn(sRLyJFMCZ5jp5L7S6|H`VS4$kD+V zo~kSnKf6-$VC=XX2WU4AubFI{?|b*OXTI;9vi%N?wdRGQ+TunD&6~F<8Gna#sW{BL zG0)gBIdzk4^VNX$oO^}GiqGl--ayR{wt!#dH?f}*4pM%neqIS|%{j4hQF+Va{0)9b z^`|G9siG!nsxJ4>Q?Z@3FyeVok&X7Jc-$s1?T~4TtMFv)fvftCOJ@5p3$#C-A~+-y za^mH_CvHUPX+Hn8W7-~B%ziKP(7Y@vU|am_H?bWTW7B;!@|Iv#*QxB)RjYW8gTL#l zB6*dVMLQNp17_TDPWXt3$gDffE(dG2EjeoTn}fYxAiMG1Pm|8>X#dn%eUsmo<&*O) zr`GUE2D5m|G=uy%+pFT=uJ`0{{J`trLX5)J4vI5&#%FO7^P+q--At02&^AI(_!+ z0HIVU2@r}v*0W;ovY>_fkfza$H>G1|3f`&2<|0R2%en#jV;MyY9-T$IEvI-YIT> zcKyq-yR^ofwzT{T)e<$$t?VzPw5sg<#m5ciGomymi{Sgt=jcm143&WQ z5mf3lgA&!#fKuqKp=v;hTWSe*;+jtF7k1m`D@CqWDv>5w%~FdT4a^9Sv)c#Ea8!y+ zOE&TbG6nlqt86&So6@V{he7z(W328?!W^`*X^ zmN&f76ehLp2(@rB*&%A48hVMUudn$elX91_(?%1)L14-Z^U|#&fY|#t=cr1;m{9=a5pAb1+B~tKZ*OZpQ z0Skv_ENx%UJ)%A17?9Ca?b{}jv2obBvGD%=rwtAFW}dg32VU`A@r75qsKmD;=tBhc zbNkyzr=LuY!Y_z&8vOoI>9semdnZsXylS3_U`LXFyD%NXxv`=Y*EE zNc$tGmVVZxI7)r6?IpEQpni3%5^EjPFivgkw&?fzXPpO+Tt69gId-(C!K?&JXPnnM z2Fk}-uhm*Sh`eUL~SmjL|A&oRYLxXn>VJgskQ9-|lTCrw!GxNGPQjue*?KPDsf zhWO|N>kY)6jW@Cbw5#K3^fGM8^Kq&c=Yz237th%pwlY&sWM4gOkfWJ>al)ZFIm$(A z-?A$XhYTJWuzGhLbP_nh~mCQc@ds8%PbE3ft}H8x1xKkKN`$q^sU zk7MC+YnaYvhIdBBkHQRJ9!oz@nmlqX9dBH?agfX5J&c<5*B?;7y*1k> zD{b~mZ(VQRf$96#WbyV388&+&{5saE_?>e-=Rx1&nQ?egeep%qQ1#eg6>?G4IW?J~>d$n!m+NjniFL}RR>aN~sl9|*NvF_pM zS5u!%)!j#MEyO|d1GBa!ZDnRVXM1Kly*x$CYtBsDcgms2?^BePZP`rY`NmGX`0^oX zjo$aYA7pA|j&ZZ5yv;Mu3f!x^v&cT=OmJpPa{B3ok?F3&%!gs88b3~4f$3m$2tH=M zb<$+2AzA zlj{W+1s8W4sTk=S&2oF;){^4oR=98KzUi*hUCXXtyT0rCoo$w>*0{U)#?;2tyQy`@ z{pW_xH7nR(Z~}5U(lB?QUrRx8aP(ZV-(IHA+y(iLxoNpm?iA$~Wsb-!bWe28PQSxD zcj$G&<$?pp#~*rnPo*ZWKv1v(~7gmlNSZ_lV*hYc#~LF$uo8cMl!k8eBD`l9GM`frAvoX+shN+2_GiV{zGZIo@)yg{GdhySX7CeDUZ1HC(Pzu9&} zMxm{aZT!mIl~2#+>IYoTDqjp{-ga?`-iDKoCoV1_9ThSqP9v;TuaswisU%j$-lNYqo#fu?Z0Z)i>5qhB%dp88EcTi`EnIDUU}LfC zFxLmEl=Lwv%TNNmHRTj;)ux1vOYE}r-4Y9UFL=+m%dX}?(MP^q2ws02Gii(J<-q)n zIYa!=8U=Ryo-^i}+%;7_!h?LdXRfckLf)F4KJ9w*wfrkJ8%f(=?dWVCSvvCZrh>gO zvwYEd%x9-^7L$)qmxR@5)awkH7BfdBhk9aNfvKR%BfHr*DKFxbQMg-R)WWk@R-Qek z6!>zekH*vJ6)$V=HZSmCV*KikfgfYibZI(k*X50_8Jnc@+dY%o(5Jd!wl`{nePv{xbM zVZ>oRzi+?z#86}(*3i_hUe`Wp7^QmIhUGbrRd4;WOpm9BS!|cmn&O!1o$_fOYu-tZ zYqZKcFCK<}cB=VBdpm*Z7dEqvahYG;wDMLWueD-B+Lp8x5#}Fi{cCm=EN^6&*Dcl- zzB)Nv`uL_p=laI!#na2@x1Nx;9;tac%J+nC%0bE^!3*gN>X*b@9%V(_i&F9m=LZ(H zgr7RLoZH@{n@%c!@a9z5>oJ{os?y2U4^Fj(3)?TWzpWedAVO^1QGT`Peu!~PZm~!4 zqBk>|ZST_`tf{h@_oepUtJ>cdmxN@rRn|JSt3%B8UYkB7ep~$2m|-z5)2(P^ z@)H|zN7Ls_dIhJ#D1GdgU0<%|jU9uDcwhDMZh2*L<<6wmq{K6VU-x#rD0w;lV9mwS zi<3@Y4z<87d^6`$^VyKv5WQEs>$E)@entIe(i!mK@LTU2nV%BJCnk0dR!(mF%(g(+ zz*|0*&tOWKZmtxzP+$&nge=HBR3L&2Q2?OYgo;3RAS6YxARa&1+Tc~u83PobV{PDT z>4tR^(V+mobGR7t4tHm;!voo5j)4tLgBnVK9S9&Phzb=11xqNQ)&^aEDX=VS#u%Ww zRHT8{2DY+*D5l$N6kRBWP?qLIG#g7Kp-5zNoF$1wAeo`?SezvWYk{%AqVX0K0+vF+ zqk29DG!0myiaA`0m%U?8IQTzng8->iM8RM}LPE?#EX;*s9tKAylQCF429HO>8fZya zuoMhM2TKgQoqY9U4@uZ!zDUX!2BTztL6&f-)Y`y67US40^8vR3=EHno7*?j0q<8J z7|>E8byx-?=s`N5rGybCf-qi?M7UJUh8&i`cVakD?h4O!3CcDyY)-|WPhnfmQqtL|=C>4qsLSYcCd%E@>#Ncz7YmM1w7@&{z`u!+<9?9!tUEr(y9FEEeIUTeFW3H+T_oKq-juLPq1s z3>*PArr?N3FW>3*^&{l)xnV!$rB@T-gz^kOq-+G z&qbs^nX7(Nn95;OxI(c2l+ySDkOyHz!8|Iax3PC5WU0l?jp7n4k%GZ&$i2FEHNYT* zj;t>nIG7~?XGH)lIA|=6#X)lk1h_+7JQfW?AdyY9A`(ditFIvjaMLf8GhYHH_OS1l zQ&-aPhL(KaDx2ipi|?-`jjp|u0hHQE84EdQ&vfJzTW_{iNv)QgYV$VQGz-51L7_cOW zz-HmdXcivNMzh%PssgzX7EQu)NE|YW1#(#MWdDzc!HNOz;{+=Tj`Vda|L+ZhZ02`I zX9s}6JcvWXeC^rShX19JgR>sXip1fdIV>_8O~Ao9ghjBzqls)QtQEn^l4FU7>#zT8 ziehDcs}f|Hx$8vmeYNtn0_tDg z^i+xV-LunCwx(n?jr(rECJw_h8=Th}$F?1&n)w5ysV;j!=sgOmO3F-2bPYwGvsrpU{EO?xeUg85P! zz9(9rW`vdOVM_Ni0dM#LA|&ft-=@CWv-zP=5YwIypD`q|S{X;|vFUqZKtsPD86qz9 z7Xl(&&992owyz2P6c3;m5Pw3q#PWZbC z0G46_;DtW`P?7;)tZ>t!3yuJwG~LDCmJwQgJMpl4>Fm)lXC^F))Y7_kiWD$&@(A?> zDb9~Zgeq-!_BXOs9jB&^a`CZYInhTkpR|%j~0Zr&wH` zwEc5qz|5)dDwUSMh#$0iv$8&9wrAp=DnKhFGW9C<+J>_Fyp65u%tgcr58AJ*++A8^ zcSZBYJcr7cc{=;rP>*t$gZB@rYV%URyEN=X#2%>3EyH*ZwR*^jqD5wxQjP8h6=>bg z6>qDbAD3|ORzW>RZRUYr1ZpFUU3SHs+xbFDF?AUUslDc^?JOAOCNNIHub$1H>e^^q z;;?rm0{8a2L{@0DGZ95$)Mr6z9t2MXzQ3$Oy+yg7RFYrLif zkQrS%;lz-XNaZ)ao^M)p{r^P<9_8$M{$hFjyUra=Y+&J&-xD7s4dKgP(Bk6YZl7o8 Gzw+OA;JEkz literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Game Events/VoidGameEventIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Game Events/VoidGameEventIcon.png.meta new file mode 100644 index 0000000..be64ee9 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Game Events/VoidGameEventIcon.png.meta @@ -0,0 +1,99 @@ +fileFormatVersion: 2 +guid: 046d8c41d9c7fd746aeab61a9386572e +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 7 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Template.psd b/Architecture/ScriptableObjects/Editor/Icons/Template.psd new file mode 100644 index 0000000000000000000000000000000000000000..be524afefcda5364a5db37e776a1d4104f909a81 GIT binary patch literal 90177 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 literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Template.psd.meta b/Architecture/ScriptableObjects/Editor/Icons/Template.psd.meta new file mode 100644 index 0000000..2c33109 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Template.psd.meta @@ -0,0 +1,84 @@ +fileFormatVersion: 2 +guid: aeadebe6f9f7409448f0e14b657893bb +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 5 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Variables.meta b/Architecture/ScriptableObjects/Editor/Icons/Variables.meta new file mode 100644 index 0000000..ed517d7 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Variables.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 732267f6dafd88e47b94d19322628622 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Variables/AnimationCurveVariableIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Variables/AnimationCurveVariableIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..ac5e04ba1e84219784eb0b96e371991c6489a70e GIT binary patch literal 17715 zcmeI4U1%Id9KctCQqxxac&Mo0az#{hZ$EDD_QT7SHrJR)FV^IwDM;aj$H1a zng7SmZ)X1U--X=K-P3n&9=&dqsWZWz!_(&x@ zFqYVk1M+i)-Tb)cLq46%2$q!5c+E)4X-!kL+j&Kj)1s6TQ<9*hOjR;fg>SwRxltr# zeYb@@7txh$9W?qNoPnL$S%)j6KG0FWSKn{`Uk~cS#=V~lK!x(z9pQsEwk+TH4x^U8mK_A z?pCs5r?E2=I3*Mc=9C+Rz_s91K8G5Tj$@lzSx?z%U;NOH**%Bq?cjItsL0D_E_(K8uM)mtG3xakWu z=>#YtFL!UJC~3^X2fJJGB9AxU`6Z3$%rk+7>wuhvPXK6V#je)QWp$E7tl;!d=lT%z znGcV#G!NZ#oglHRNNc#0z$=GKz=zu_XoaljaErZmoAtWCxY;g_*qn#}EMC|&NE%eF zl57YiMX`jEr78j_LrKsSTeA(V1nd%8?0L@C84aK9HK)V{i$V2DWE8FNS$BJ|HE z{h`VX)mR}e>&m`Y<3YV%bu55WskrFc%^Rim3B-pUPaKmmcf!ZNxJqs4JLi*Oh^w?( znE3zMm@hb|uCG#IJF{IS;LIG|5p-88tqQ2Wx@lI4`FM3s;5~(F8u}d&IsniOv^k(2 zS#LV+G4I-oP4B3nJa>huNk+O1%0SSSl!hxzT>!dm2v$leeppvnvv6%nbxaFH~qGQ&kh zL@F>`Bn_&}a8VJF3Je!XgDNvzR79i#!$s1d$_y735vjm%ku<0>!$n0zDll9m4XVs= zQ4x^}3>Qg*Dl=SEM5F@4MbeOseep zpvvdOHQM<)59p%r@K{1$)^Yac>o=h<`rxg}nF7bH+{AGQ4|Ck_Yv}V^j$4p8?z{aQ zXFknwTf8Ule|rMyzB-lPUTl0)I=i;EZRDndM-T0g9^ghsHs+>gXJ>cZbMnZCmp;7q zC;aTIuTHLtH=nS7`{P#;Y;8fUz)kI(&cC!{|090^C+%E$ literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Variables/AnimationCurveVariableIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Variables/AnimationCurveVariableIcon.png.meta new file mode 100644 index 0000000..67b70d8 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Variables/AnimationCurveVariableIcon.png.meta @@ -0,0 +1,101 @@ +fileFormatVersion: 2 +guid: 90a6a74456e4a2d43a54b14515ea4e93 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 10 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Variables/AudioClipVariableIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Variables/AudioClipVariableIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..1b258b0ef6d67b5f159358e821e7b9e133e7566c GIT binary patch literal 20854 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 N9Bt>@;sf)ZzExNHfVe{w06^1Sz+^61 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 literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Variables/CharVariableIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Variables/CharVariableIcon.png.meta new file mode 100644 index 0000000..6dc7fa1 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Variables/CharVariableIcon.png.meta @@ -0,0 +1,95 @@ +fileFormatVersion: 2 +guid: 9c5ff1f386b89d5428acb123510d9d83 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 5 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -1 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Variables/ColorVariableIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Variables/ColorVariableIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..4a5016e2478147f4ebbb212949f830eacbbec5df GIT binary patch literal 20501 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 J@@!XZ_)kjwm=6E| literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Variables/ColorVariableIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Variables/ColorVariableIcon.png.meta new file mode 100644 index 0000000..6c4bc07 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Variables/ColorVariableIcon.png.meta @@ -0,0 +1,101 @@ +fileFormatVersion: 2 +guid: ec6c4534cdd1d2544ad50302d7cfae05 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 10 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Variables/DoubleVariableIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Variables/DoubleVariableIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..58f8c62400aeb866089105e30c0a1fe978d9661e GIT binary patch literal 20722 zcmeI4c|26@+rW<&WJ$Y9dIqgB`5 zDWRm2Hd0R;N<~RM^ovR*dCypm2|e#TpXc|!zxVxoWL?HExX3Z_(~J#< zjhGW_uJ0X8S$80I)6KRQD-Q%bENFdw z=f~McjQV3OsX66pMe16+9Ek3wky=NsCy#u-?)ue|7j+oRD2*v1c-%Q014+A)3h*U@ zPM>91q;?Td3B9kW4iveh6yYYtbm+Xb-n~#Ia=l8CG~UcfJ#q|S8NS8(Fkoq?5}BGb z%@ar;0xZ47_NxWvqJgE;*Sx+DM5cb(y;22Ou)|=iN_sqi8V$wT0RFRqW99QU*#bT| zU<}vkDiwH)25^qvTnFIfIiRR)gyv~LT?@du$8MMj3|R>*Ej2O<1=jBd#@ID`(?870 z9#L-$liGcno;QVR8?`_kyNN=e0ZV}1Y*zVhw_vFc|y1K`6u39euZ+fr(!7E-;daM2SbDACB_3s;Ab@a>gF&o;LlFeNBBsKUbX^2bH4EM zA2ZYkNBXaOQ6AFq-lE+;eJT*ib=zu zd1&=z&F@Re>#e6;Ew&zEt-*<$Bwjl6*jnou(RWVj8!yHFVX03la`%r;5Dmu^dz~L{ zF4Fl1s;6C^Q4lq3h*hcjXwaZCR>g0VkI@!&-Q63$7+iK3GAeEg>PGAscSEOmQwO}q zCKk%eLBH8tJct^z(C$L~>{5WR_Iq@JJ$^^jX?OEKw9Yc~j!-79x7)9Imm|d|ZylGO za#wt2qWNa>zWTda{yLRg8O-arqBrB!h*tw~n35~jr_4--C9rRuGCZc0RWkA9ykmp& zH-2K5p9&c=D$2HK72G&JAgstkMm2sdZQCh;@2(2F(jJQvEEKAN=C^a)!svWpgIH8u5zsN)<{X zSa}^t_IP?^A8VxP*7?@Q_vLz=aF01MnzSOBdS~4@N2f!__wT$v(O=iUm4D)m^uoxe zJ14s)-u1qBtHJ(F;+w%AL$tJ`$F92`%bPJFWxU#W-h`0xCz6~GPq-g9;W`UP!M{tY z->tJ-=;dRaYrJY~{7sFWb9PSKsb`F39nCzP`7Be@tHtXUYwOX)o~yI%yojE)M~D5f zE6Xc0b?!S)Jx|`z*+*hBc}IjSi-Qrq?Hg5nuQ*?EV;*!*KeeQ`paiAKo{$r2Vi2I6 z6}=+L^y;)zcb=>YHqK9K*UyhL&pf)1$|TMqdgpkw?BH6c)g~?fvPbGVtbRsDVoSuP zXJg*ad^uC^Fv&R&4=oJH+?BY?C(9wrJvwM7*?;HZZqpQV{3AkrN`1k93*96zB zw1>PaCqLxg$US;)!pT>URjaadgK}4cJU?CDxog>1ni2{VR$o~Cd%L-scFdFES^D$! zBP3_UV`%ee&yvgbG+C^^_HkDOmgiGGqWm$jHh1)`nOFI#o+KRlgi@D_`^5Mjd=6$t{V6njJpz{HGM%(tY^JhFVRy)muyt$X|Y`jU`m6bN@PUG#In^oH=d*1KuXdG2M>c#fl zL(xv&Xnmj8g~ygrPt%u&RcX|Y9Xcy|p6W6B`AxaTK@Z%r8od*|EKa;y)wE95rd0-SUU}?=+Wp^x^?CZ(W!A~f$#yB8$!!b# z7F=+<&8T?z_F4FM`>Nk`_K@hlVRKqoH~5teYwsuUn#(t*?o3@Bf%#g!v}%9u%6fKL z%`zR~`wJtaFYeiP#MRF(m|eE8`Mk9Gbk(cT-sioOPtcYGy_LSD|46v+c0GSjesXr+ z!hpP{@WQhzxvdR)X_T_39}B}ijO%##AdPDNw6G;y*m|w?Q_Z-i5#s6XWw-L5giLQb zUf@=+V|dYKjJ@a)nN|Zx_j%bXzl2C zX=V&6^`(Wlz2SQXvz${tElu~w{vWrpb;n^NzC3vMsH`HXVqao&V#1}MRfpQ&7QLHr zqN=30Wb(xup+x-RkMr6ZFNaiz=)XTuqvKY$3bkfNhyT}8pFHnov?WYPNaz?cIH~13 zn~1Ig0NWvamXFlO#hJzy24O&s&=10d28rN86aeTJp(2nS07+4P5RWe~H+-Le$q>co zm>YVVy5L+yOvs<_5H5y1!(CbI@BlWIV`#z9poh|62SJb&M1=+g3M8~pbHh%*G+353 zV+~QAD$)RRLn~Q8l#k0?6jLaMP^K6%nvEkgmB4oR0RzKp;^Kms4mjSR zpaCrS{ z&oALYq5NN%$$GlXI`>r9Qqy5*G^Q8=r9v@FC=6tDZP(r#G59`AwmnfZy!ir-Fhnww zj_qsGyK#EGK{lWiV!)PWXdDIpVZj@lfTQ6Evv33&4kzcNOS6v;7x)lyKq)Bag^DIn zS$HCiNTHF)@?L(@?dwO#;d8?j^3tm*=L6ZSG^Q|6D0UHYAO?|+9jJLgEBH2cZr5Eb zL*ij?jdHYQlJQhB8BM_8<=x2X4d{mjg-V^lFi0$sTRV6KI}?L7$osjqrz4QxdB8=W zSOUqmueo8*{zWnZa^Ph)z0>N9pe#0uEfj_Qvq|+g|4&cqpUr1Q zKl8sapRO(V^O=(OCv(;BDAGA>8doR|0;LRo5XghDA_0$%?QQJcUa}PF;zDy2NTi^E z4LRB{;06qz&!OS)Ae(B+@k4X)6bhQcAyLt01hN^L0J3qWR4$i9VN*Ku=FjH+T-ylQ zD`Xc+*mYM?!V$7z_q~T3Pk_i2BA$w76FF=&9uJwJ%}hZvv>%DfCX(Q!%YSZ_o!qV@^7oQoXAM9D*|NHb!IoVSAr2k;Q)}A%qDu$q+`LAPy_(Oufx}tWu>eTwR6N!*34FScF6%XDaid^iwy#8#~*ZsdYYj;KL zUI+;o{LhvFM}bIeKX|kI5eRIwADcu#gIoxQrVuz34wd2ua{RbG%PhBweWxhfRdRrl z!p4k+gUfX@8lKWqlE`WO+R4v66{xusS%%&*vi(5;58^PeJu~ZR=sTkS%PYsB;Qin% zMMiUo95{VYNbvH3Y`AnH;i&{RflcJ%p`Q8u-IW`#m{hJ@ck&Yof+6wWNq=yK3D=5J zS$WD83xiOgNEFCtgR)eL4Hj^^Zyb>;5K1aU$z3M9xXbzYU)-e}NX-8`8AfiD>>f<0 z|7Ual=Q&lON~LRAl_#^SR_MyKKUXU~6;S``rn^eC>DrxkvNI*CY5w~=Irt(4KTx2_ zQST`)6-}po%zrwI-QMAX@~Z1-T$xz!E846((rLkrkX2QyiO3WAvcKJ?^4)z+egE22zPqn!uceoOFJ%zAqxET)vywd&>Uy@}2|oyhWK-+g z)K_~hKNJe|vEjq_7!p~njE8R)I&J!P3~1>4D?_=CZo{r4Bloznb5Xil;fJB{b670$ zAXaX@klOs;FZ9mn-|rjos0@OjP()DTQiKwsqr`=vP()DTQiKwsqr`=vP()DTQiKws zqr`=vP()DTQiKwsqr`=vP()DTQiKwsqr`=vP()DTQiKwsqr`=vP()DTQiKwsqr`=v zP()DTQiKwsqr`=vP()DTQiKwsqr`=vP()DTQiKwsqr`=vP()DTQiKwsqr`=vP()DT zQiKwsqr`=vP()DTQiKwsqr`=vP()DTQiKwsqr`=vP()DTQiKwsqr`=vP()DTQiKws zqr`=vP()DTQiKwsqr`=vP()DTQiKwsqr`=vP()DTQiKwsqr`=vP(=7kTpGQvHh~22 z`%FUM7ni6GHO+!wdV*p*c(?#S_*4LhTn7MOJK*mI09b(ofVWElfR+RRy29;CuGs;A zingPT6)Uu|I^mRSvE`%~3$3`z>&Bh3T$x_d~L@jF1h&q#KE&%z2L{&*Zj*e&mVO#5Fm@v z;ubwOo@e}Z&Y6d^+!n>QRfHaE2~Ep*XI)+Qe&-{v&HH0>f>Q(;>uSxWIEv8+SN*;- z{7c-riu(294;j1w{o!biv<>E;i&lp^ktX_w4@KImrQXd2`EqpZDIK`{s{HnCIc7 zp*lqs000daXM1n>TU+|8JO=*zV@Ed#f2jza1H=HJHeULx0Hp1i1OTd@d;H{&K^0wO?Jt1kPsey|2 z+<1e%4|KdL#yU8R(yPjfSKPWadW(*inffNx`$|m)`?jv%AHV79r>Cp;2i+~}e17B0 ziF@>xLme4KHA>~m>bsl?UKY{nxpvdWK3RYH!lkE8<~A{^(}i%qi#P`2E+YlteH4v0 z+pt{eET9m6TTK}#cTX?JPL1op%frK@uE1i&V8tKC7s#!(?UBXy<^ zkTnWec8$$y1m>ZEWyWit-v**H-tS(m04&^LpreqL1fa%4@%BLA9NH&uhv#81eDbQtXF*OEMU}XU|E%sQ8=(+H!#8RjUVlg*#+7y zrZB19g|w3C6o;6F%IFnJetzcDOsZXUXHOu3KY(dA=9Lk{`J`I+XZ_oT7hG5+{-zTey~eHBYM-{H z1Ao9U!EXDki!*L@bDlMreNv=1SO7r0q75{WK*7lc_KkEd5H>HA#-%OMh zqXXAJtqJRXZQbRRH3Nv|x@=zo088wrn=`K#SzlHL0Q;;M)1$U}Z!0F5m5-TPF}l7& z?ej9y2D|AOD($rGR5{U8MayO#T4!gn@y1bo(`A_7Z1jocUV$5vg_`D-zNa*;gjyd# z<;)6`vKW<7wpGgGL4$|!3am~3Mq8D2cgMarsBj)NZu4~1mG}u>hOS8#&N%N)Oq8#) z{u?XN50tn?j;E96Q~~&PpEs5{;daCndRhIZeu7bwL!Pq1ai7{vjs%yMI58{zrs((- zt1YCxEjRN6wH_wY8JDr;FD5AwE(BxEFP*nLW@)C9%)WNa@Q`}`r71_}A5tt$c*m|e z7B*^Jj6=B!X;hdU3Y=!^?C<99ao;%yHFY|1>_Zi@isA;ZN@K(19M|JBPmld@VG;|E zi}QCjGrBu2aXdzQbv)w&dHT2n2Hv=2+Yc_ser4VocgyissJBt8S#CPfd5Tf;m4}?5 zLM6%$Gt}&=*rtr8^G$>%y(WV<3so~%HYl9o}2)eZ(s+XFPFb8s*0Ni7u`O4)5D}drF{gU?=~`3(4uRk9JP;NV(~E z>sqVRitCY+x)R0&oOe6#$@tYP>)6u9vP&p6_T-{)GlL+F{EaJPEH2DE zcH_ZMt4vE%yYx#pTjk~Mr7#F{34TT19Xq(zN{y*2-tUoksI-`5r*uSZdOYFvtY@?I z4ieo;aL}Tlyj>}~{PUgjz4D!2ogo#pWoH~b<4_v#DMr)w@?7IZ#!kG%>d_f3J`a2z zWvgaSbho0uD=^OsI-s|=)IRK7Xm)#Q=Gi6DnQnsY#}Q{*K2BYO>0)+;e9V65r0zea zNPYU4I`!&Fw2Kxi1T=lj<+?w-7>m!_Fb;q_!IY;Pl1gf6`|mjZ?5MSce`!(U^u~}& zA(!^g95d5krmOo)_x3bz_mYFN4$g6#<97MR^&9(c+}&-FZiTytZ%J=Szn9){a@m6L z1!l!L#it;b!lnfW1KNwrLSq+D0uK25E?8XTcsS$mjJu_WOS8vjmv|(5|V z@s;A-lar4&-yc&~P#jXc2IR4Hc_%LxoNrG)lf35inxDI@lr-WVXy)rL(2o)y7fqnf zr#?=r-qUWq=HlC3tr(tvjdsm_LSymxYqKu!Gknr-JMnaRCF1oR@tYG|*IhGDp_`}c zU3ye?rfII^-HOFeBX7OSNH0pSY|E)T(oSmUx5w50a-I0gtjqv{_~!X4#uKmRT5Gjm zc4C7X4n=t~JY#q#T8uDkOp@Q>dq+FxOq&L#YkMWNKmR={9pR780 z&GWng&M9(C7fP zYO&qH7t94F_e_-vd5|CX+>L~*lwJ9mvv0IrFS=T{jlAdeFWqh9D#tzDUVLDqs~=k5 z|M{6i%PEDl6%lo+jXI-eZ=65o5be~aV$+a2p80KlDFsnyW=6UP#Vo0~x~}4cLeMKU zU)AQ=HLvRLwJrAa#{@K-06%Wb(4*@lY$}*gr<E^*fH|=3gk` z)NpTcTc1BhXD-y-m6!57MKe_6!NcPk4fBt;z5COl4wG`jq^@**F{5PvIohc*DEmtF zjXBoLUzu;2ADN`~TaQkF_uhxrw(G4f`;++low|i(on7=RXX|_weBJMG??9hiJ{5IZ z7bN7hzTfpJWbt8-kQHs06>lkaDH&-N-z)j;j{Yqxrg!4q*{_^5FaLPEKKuF~h}W0u>cy-9OS_euM-khSo%=XHAR z-ItFeKRea^sI`Yk3y7H8!MwtM*t+g^GVe{zmW-VlYog3Q)Gw>sSG>A~UEQ!;OYr)% zw&dw8hwjZSbIRsaFM4xI@}{t^dA#2#zqBLNr6DgRFKJ(rZ+l)Y-BX%YP_ihfq&@P? ziPhZBR=rGe^`p0EBL0}zefLf##p=^5o>??oo=V9iQ0*bRB%l zr}3Ho5`T9$Dq9d@4srx6$UHnm2p6INK(h`Pg6tqjf?`2DeyEk<>(Xn>zKfqdsk5#$r;!DL4Uu_+uwYq}~eoC-S#fg~U*JR~?&Obxd(?D0#5Woa|U5Y?k1 z39>S@l?FulyU#;01R@A!VNOD`u_Q8zOfknN1;$KSUd)gN5dLuaYU#D z3`d8Gje4E*`>}__Y!P25;R`}hQokTeuu@`WXebRd@aY>@h;SfKsJM?EOc4_f3Nbiy zEM_DlVSf=nvgyF(Z#v+x2P}mvMZrB|AlN!@E``C!=%d-W#Y#VLhAN+3FHX^F;?;U6Zvu<=+b7C#${r(&@PC%u|Oe7M7#hyzN%K`%HQ8jEMb zE^ro93*u}nZotb|xT;C7y*gIh`EDjuqQFtfxNF<`!59Zdp5Wb z6p10}^0hMTU%vwxVPL~cZ3c(c6Uze(f#`0ahzCi-BfC3zd9b$wo`$-S8q*zznfEjg zHK$>u87Y|m-!~qg5HL7c8XLtH2qT8|s%OkYdo==^p56~P|KA?eKO4`=Vdj5hJiSx* z^;$&wle!wVglQZ$l`9a1fD$@C1mr;&VJMG=8EhP!32AC^cc;39iX~tu8*;Iy!wu$q zK8K3OVaZq`i;N~v@E{t;C0e3E0vnHJlL$nX1s-p~!Q*@K&DZ9`T-yuSE2TFW*mdvC zoFibv?guvo%hD2S$-=VG9Ed|e<8Tlhh{(pFEiE`~EQMf6CJ@N|fe_Ay1@aW};aUR> zM(9Y#!hwTX5OJ17kibD>aV!p+OC(yLDO@}j4MHG^O|m4B$VAKj5F@x57Rs3~h7)_l z*W0NlY4|`ZzHXH+^4`t&_mW1>y^{*ErS$}zExnUK92(}U*1>KKCW&4J{_yGiJ_N(e zza1ki5DNXPJ5jHz9<6UX5evAIFi-^9^57NnJvYf-uV0%Db^q^XyWWU>6Cnmy{j+Jn zk|83Sg`=QZcsv`;ViWObkPBhaWITt=p^#Z1hsEumX2dKG9intqApj2)1eQ!JT;^I* zapeAj0HO75CtvgYj#}k=reUy;>_9M-2XW|_{*m=J4DHeX<(VUs2yBieghS&Fq)53bDM8cQNA>$oC8 z2nrMmgZXSwno2RNLOFd0u7NucN+LiZZj-&-5kCG0S1AV)@&8VSLG+T{j|uhvY|Q^S zr+#0hBHx(k5;MrC4x5E}XFO1ae=6Y006W*#xo$mdz%yAvQ&tx}~uY&PIwQ z_@_l?Z+A@YZw9UwT9hUfEMklJQvh zgTYDv_L(9t4>b+=Yg6Rqp{9eDzM*^x9X>DgbY@61!buYA};h9_HG%(W4@kA>1~A{BEruvF#``U5%Y!I zb^o$FIHG^qG18qp2$F_OS&mC4BBX*G7m|idS&mC4BBX*G7m|idS&mC4BBX*G7m|id zS&mC4BBX*G7m|idS&mC4BBX*G7m|idS&mC4BBX*G7m|idS&mC4BBX*G7m|idS&mC4 zBBX*G7m|idS&mC4BBX*G7m|idS&mC4BBX*G7m|idS&mC4BBX*G7m|idS&mC4BBX*G z7m|idS&mC4BBX*G7m|idS&mC4BBX*G7m|idS&mC4BBX*G7m|idS&mC4BBX*G7m|id zS&mC4BBX*G7m|idS&mC4BBX*G7m|idS&mC4BBX*G7m|id`7d#)4!#lu3WeVT5(dBU zBk|;i6!>K!D7Le=I{-w^0D$QA0Pvw3{%!?;l~@3HxeNfPsQ{oW*uM0lBdlBEVsFa~ zf5`gW-EFNnBRV0*4y&%dtil+6D;4SIm>7fc?%^NX7M?78Qr6ww&Aw=wmp9kIz@WR< z*4epgt&Xqnj8y7G)}8<_uZp9q9#J{E_4^l0+V=Zs9p5|MRWJSHRV;}ZY))Qo#rD^d zU~t=q!k;u0JK|E*)s49oqZ{Jx;XZrcWO$i8p1eJQpzXlr60k2`o&T_IcKW=grMr$8 z?9nt|R92OhchGT(-MR-h%GiB8-qc(z-Bis?O@YC1T~1$YpEi-U)Kf!(ro{{a|L BdbR)n literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Variables/FloatVariableIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Variables/FloatVariableIcon.png.meta new file mode 100644 index 0000000..1f04f2c --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Variables/FloatVariableIcon.png.meta @@ -0,0 +1,95 @@ +fileFormatVersion: 2 +guid: 73168a42c0edd8e429fbbd32b0d928db +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 5 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -1 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Variables/GameObjectVariableIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Variables/GameObjectVariableIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..c0283bd0394e7dd43203ca529d2d916b5828af50 GIT binary patch literal 20523 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 literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Variables/GameObjectVariableIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Variables/GameObjectVariableIcon.png.meta new file mode 100644 index 0000000..8c68a20 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Variables/GameObjectVariableIcon.png.meta @@ -0,0 +1,99 @@ +fileFormatVersion: 2 +guid: a3544c3af310c8f44a5f4947b40c0d58 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 7 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Variables/IntVariableIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Variables/IntVariableIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..0bb37ab72ed73bfbf3a16a08242ff5d4a45935af GIT binary patch literal 20658 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 literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Variables/IntVariableIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Variables/IntVariableIcon.png.meta new file mode 100644 index 0000000..19553e3 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Variables/IntVariableIcon.png.meta @@ -0,0 +1,95 @@ +fileFormatVersion: 2 +guid: 13e475cb7912eeb4894a465fb6731c8c +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 5 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -1 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Variables/LayerMaskVariableIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Variables/LayerMaskVariableIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..a5666783cc5e6dda355146b94498b2d92753aa32 GIT binary patch literal 3236 zcmcgvU5MO79A9e@TU$94ixkC>(sK1Wn@KjwCb8S|x_j*{cJGe6Exp5+P9~GRc)LlO zWbgLc2eqIeCX6j4O&L-j!))CUo<(E3zFXOi9QUcK#IRScWm zWd6VZ=lteBvrkNp@87&}>&8qbv$;H0nxel0?7sOX`hCx(KN0=e;E&CQnanM>v-^h3 z$rtXV5AQhDnP{eRz`$N3i!9G1*;d1+=uBq!aLY${ohG8 z+)QPXD|!Lpl&lJ{C@WlE&x&eJ*7aSS1Vv4Nnjq$Ys2VafB#CQZJoOe>wlP)O*Y-u< z3jACY`Gz1YE-q#lb6GE_38Jp+0+a+v0u%wlB{xDX;D*~e7D^<xS(z(Sivrt-fR?sWN#QHT(rBdUFdAK;X|xNnB08)t`9zo^q1OyB8C{?rw{@}!qbbs@=Ni;0 zJXMYyyN@oDEGqzMIenl^l0to>7!VYBLDlo>9qvqaD$W&)j4KK^c*t=rZ!z4-(rD|D z5{gKHXIug>Pd`;DXGqY1(h!sk2oq?9veQBlO2Il1B_OF)Q8A!mNa7F_yI{|9?4?zq z>69BqukHmE&!TbUc&pn>Q-It^4K zg74Pia4Qv~?1m9?F)5b{Jk2%hIF^AeS~F(;%;b*UZuG&$1EB5q3t!pUr6wx|i^WHRim z!0ENIC(&P=Ba}DSSm_BY^z3L61!SZ~$+nhe(lZOo;}6lowWEi5B4bn3fhkECm{^to zvIzuv$;w-L-b9vZce1}KdaVkfA!~-1@ARpE7=63Acn-NWLU(YXmk!sNk7%3N#5w^c z%qalpWD#h#k^>}98v>*q#xl*n<KDb03?Y_!wfW)ECyuM0zeU=+3svUYDnvnvHA(G%1${qDVA=G`ff4 zTwZ|~tC(P&@tRrl{_S4JXcU*B=jhoPqUTxmm>#6*OL`P1E?vC=J!rq%e7#H$>Ccr* zBUSCGk50V3`5fG|eqv<7-*R!{)$Qj`|Gw#=gBKoX@s)vzm*t)7W{;B#_s{J4xPW^Y!Ka^j_>LEM3_knE@MBl-U8la8 z{J!<&^N*g|^2)J^q0C!{-#D_a{`IE=Z_a=B;lQqF(77#h`Tf}whp&9A-8=okrNPf1 f`Q_x}Ki#$x- literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Variables/LayerMaskVariableIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Variables/LayerMaskVariableIcon.png.meta new file mode 100644 index 0000000..78cc07f --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Variables/LayerMaskVariableIcon.png.meta @@ -0,0 +1,101 @@ +fileFormatVersion: 2 +guid: 773e015a7b5b1d04b90d89056380b2dd +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 10 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Variables/LongVariableIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Variables/LongVariableIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..8de2fc01c7cc782a2f470beef68d21681a6163d4 GIT binary patch literal 20630 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 CM6tgB literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Variables/LongVariableIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Variables/LongVariableIcon.png.meta new file mode 100644 index 0000000..8b7dc70 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Variables/LongVariableIcon.png.meta @@ -0,0 +1,95 @@ +fileFormatVersion: 2 +guid: 4263932218259524f8182efeb60b2bd8 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 5 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -1 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Variables/ObjectVariableIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Variables/ObjectVariableIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..af35f28fc4a7432245449a07ed03e8a671dede15 GIT binary patch literal 20749 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 P>*8qZYLjQZV*S4X)Cc3^ literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Variables/QuaternionVariableIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Variables/QuaternionVariableIcon.png.meta new file mode 100644 index 0000000..97e76ed --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Variables/QuaternionVariableIcon.png.meta @@ -0,0 +1,99 @@ +fileFormatVersion: 2 +guid: 33979cf2334958d41b7fc53c43132eda +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 7 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 68fd2048457c024488f71726afadde08 + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Variables/SceneVariableIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Variables/SceneVariableIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..522e35cbf177aa990317ddedc83e8b3f55494923 GIT binary patch literal 21003 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 KEYs9u$NvDPxo`&n literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Variables/SceneVariableIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Variables/SceneVariableIcon.png.meta new file mode 100644 index 0000000..99dfafd --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Variables/SceneVariableIcon.png.meta @@ -0,0 +1,121 @@ +fileFormatVersion: 2 +guid: 9e50d8100875e98459ea1e86d378b9f8 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 9 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Variables/ShortVariableIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Variables/ShortVariableIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..e0a29dc77f7b91fee1d141a2a4a733268269ccb6 GIT binary patch literal 20714 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 literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Variables/ShortVariableIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Variables/ShortVariableIcon.png.meta new file mode 100644 index 0000000..38b8954 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Variables/ShortVariableIcon.png.meta @@ -0,0 +1,95 @@ +fileFormatVersion: 2 +guid: 3fb47467c61128c46a353baea763fee2 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 5 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -1 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Variables/SignedByteVariableIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Variables/SignedByteVariableIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..943dfd4b83acde124bacb46987fd3acadf7c4624 GIT binary patch literal 20757 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 Z4pc-xzCNxlwDa{c?#|v$`HqWL{TuB1>4yLS literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Variables/SignedByteVariableIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Variables/SignedByteVariableIcon.png.meta new file mode 100644 index 0000000..aeec93d --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Variables/SignedByteVariableIcon.png.meta @@ -0,0 +1,95 @@ +fileFormatVersion: 2 +guid: 16fe4ae2595371a4cbec816a6af044d0 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 5 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -1 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Variables/StringVariableIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Variables/StringVariableIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..4fd8646cf14e4b6a11d9e8917e8b16db151cb3bb GIT binary patch literal 20721 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 literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Variables/StringVariableIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Variables/StringVariableIcon.png.meta new file mode 100644 index 0000000..c6baf99 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Variables/StringVariableIcon.png.meta @@ -0,0 +1,95 @@ +fileFormatVersion: 2 +guid: d03fb38302613674e9ff6a910ad8ae52 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 5 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -1 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Variables/UnsignedIntVariableIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Variables/UnsignedIntVariableIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..e7c73703d5cd14814af6a20fe5894cb373b246c0 GIT binary patch literal 20737 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 W!Up5@>;x7J0C2K%wavC!vid(w>DQG2 literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Variables/UnsignedLongVariableIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Variables/UnsignedLongVariableIcon.png.meta new file mode 100644 index 0000000..d8e779d --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Variables/UnsignedLongVariableIcon.png.meta @@ -0,0 +1,95 @@ +fileFormatVersion: 2 +guid: 10bd55e7ce1b4a649aa36f7defd21160 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 5 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -1 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Variables/UnsignedShortVariableIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Variables/UnsignedShortVariableIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..2a2bd7927b8c950bdc80110eabceba0203f958d6 GIT binary patch literal 20755 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 YD~@0PBwhXrCJ6v;PF{|=4olbm3!T^aZ~y=R literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Variables/UnsignedShortVariableIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Variables/UnsignedShortVariableIcon.png.meta new file mode 100644 index 0000000..4e9e4da --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Variables/UnsignedShortVariableIcon.png.meta @@ -0,0 +1,95 @@ +fileFormatVersion: 2 +guid: 0e386ea6d4343594ca7fcd5e404ce74b +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 5 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -1 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Variables/Vector2VariableIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Variables/Vector2VariableIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..d4b6de80c0af7c842802e53d28d45c678d8f77d0 GIT binary patch literal 20585 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 literal 0 HcmV?d00001 diff --git a/Architecture/ScriptableObjects/Editor/Icons/Variables/Vector3VariableIcon.png.meta b/Architecture/ScriptableObjects/Editor/Icons/Variables/Vector3VariableIcon.png.meta new file mode 100644 index 0000000..801c070 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Icons/Variables/Vector3VariableIcon.png.meta @@ -0,0 +1,99 @@ +fileFormatVersion: 2 +guid: 330e0b02b1aba674ea99f0c98a4c582c +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 7 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 09b22c6ecd7cbf249b26cbe40be967e4 + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Icons/Variables/Vector4VariableIcon.png b/Architecture/ScriptableObjects/Editor/Icons/Variables/Vector4VariableIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..95355c0513067015582a5d678cc43d0e5da91709 GIT binary patch literal 20578 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, true)] + public class BaseVariableEditor : UnityEditor.Editor + { + private BaseVariable Target { get { return (BaseVariable)target; } } + protected bool IsClampable { get { return Target.Clampable; } } + protected bool IsClamped { get { return Target.IsClamped; } } + + private SerializedProperty _valueProperty; + private SerializedProperty _readOnly; + private SerializedProperty _raiseWarning; + private SerializedProperty _isClamped; + private SerializedProperty _minValueProperty; + private SerializedProperty _maxValueProperty; + private AnimBool _raiseWarningAnimation; + private AnimBool _isClampedVariableAnimation; + + private const string READONLY_TOOLTIP = "Should this value be changable during runtime? Will still be editable in the inspector regardless"; + + protected virtual void OnEnable() + { + _valueProperty = serializedObject.FindProperty("_value"); + _readOnly = serializedObject.FindProperty("_readOnly"); + _raiseWarning = serializedObject.FindProperty("_raiseWarning"); + _isClamped = serializedObject.FindProperty("_isClamped"); + _minValueProperty = serializedObject.FindProperty("_minClampedValue"); + _maxValueProperty = serializedObject.FindProperty("_maxClampedValue"); + + _raiseWarningAnimation = new AnimBool(_readOnly.boolValue); + _raiseWarningAnimation.valueChanged.AddListener(Repaint); + + _isClampedVariableAnimation = new AnimBool(_isClamped.boolValue); + _isClampedVariableAnimation.valueChanged.AddListener(Repaint); + } + public override void OnInspectorGUI() + { + serializedObject.Update(); + + DrawValue(); + + EditorGUILayout.Space(); + + DrawClampedFields(); + DrawReadonlyField(); + } + protected virtual void DrawValue() + { + GenericPropertyDrawer.DrawPropertyDrawerLayout(_valueProperty, Target.Type); + } + protected void DrawClampedFields() + { + if (!IsClampable) + return; + + EditorGUILayout.PropertyField(_isClamped); + _isClampedVariableAnimation.target = _isClamped.boolValue; + + using (var anim = new EditorGUILayout.FadeGroupScope(_isClampedVariableAnimation.faded)) + { + if(anim.visible) + { + using (new EditorGUI.IndentLevelScope()) + { + EditorGUILayout.PropertyField(_minValueProperty); + EditorGUILayout.PropertyField(_maxValueProperty); + } + } + } + + } + protected void DrawReadonlyField() + { + if (IsClampable) + return; + + EditorGUILayout.PropertyField(_readOnly, new GUIContent("Read Only", READONLY_TOOLTIP)); + + _raiseWarningAnimation.target = _readOnly.boolValue; + using (var fadeGroup = new EditorGUILayout.FadeGroupScope(_raiseWarningAnimation.faded)) + { + if (fadeGroup.visible) + { + EditorGUI.indentLevel++; + EditorGUILayout.PropertyField(_raiseWarning); + EditorGUI.indentLevel--; + } + } + } + } + [CustomEditor(typeof(BaseVariable<,>), true)] + public class BaseVariableWithEventEditor : BaseVariableEditor + { + public override void OnInspectorGUI() + { + base.OnInspectorGUI(); + + EditorGUILayout.Space(); + + EditorGUILayout.PropertyField(serializedObject.FindProperty("_event")); + + serializedObject.ApplyModifiedProperties(); + } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Editor/Inspectors/BaseVariableEditor.cs.meta b/Architecture/ScriptableObjects/Editor/Inspectors/BaseVariableEditor.cs.meta new file mode 100644 index 0000000..7db9645 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Inspectors/BaseVariableEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f243cdc9db665264e895a05013c879d8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Inspectors/CollectionEditor.cs b/Architecture/ScriptableObjects/Editor/Inspectors/CollectionEditor.cs new file mode 100644 index 0000000..82ec369 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Inspectors/CollectionEditor.cs @@ -0,0 +1,85 @@ +using UnityEditor; +using UnityEngine; +using UnityEditorInternal; + +namespace ScriptableObjectArchitecture.Editor +{ + [CustomEditor(typeof(BaseCollection), true)] + public class CollectionEditor : UnityEditor.Editor + { + private BaseCollection Target { get { return (BaseCollection)target; } } + private SerializedProperty CollectionItemsProperty + { + get { return serializedObject.FindProperty(LIST_PROPERTY_NAME);} + } + + private ReorderableList _reorderableList; + + // UI + private const bool DISABLE_ELEMENTS = false; + private const bool ELEMENT_DRAGGABLE = true; + private const bool LIST_DISPLAY_HEADER = true; + private const bool LIST_DISPLAY_ADD_BUTTON = true; + private const bool LIST_DISPLAY_REMOVE_BUTTON = true; + + private GUIContent _titleGUIContent; + private GUIContent _noPropertyDrawerWarningGUIContent; + + private const string TITLE_FORMAT = "List ({0})"; + private const string NO_PROPERTY_WARNING_FORMAT = "No PropertyDrawer for type [{0}]"; + + // Property Names + private const string LIST_PROPERTY_NAME = "_list"; + + private void OnEnable() + { + _titleGUIContent = new GUIContent(string.Format(TITLE_FORMAT, Target.Type)); + _noPropertyDrawerWarningGUIContent = new GUIContent(string.Format(NO_PROPERTY_WARNING_FORMAT, Target.Type)); + + _reorderableList = new ReorderableList( + serializedObject, + CollectionItemsProperty, + ELEMENT_DRAGGABLE, + LIST_DISPLAY_HEADER, + LIST_DISPLAY_ADD_BUTTON, + LIST_DISPLAY_REMOVE_BUTTON) + { + drawHeaderCallback = DrawHeader, + drawElementCallback = DrawElement, + elementHeightCallback = GetHeight, + }; + } + public override void OnInspectorGUI() + { + EditorGUI.BeginChangeCheck(); + + _reorderableList.DoLayoutList(); + + if (EditorGUI.EndChangeCheck()) + { + serializedObject.ApplyModifiedProperties(); + } + } + private void DrawHeader(Rect rect) + { + EditorGUI.LabelField(rect, _titleGUIContent); + } + private void DrawElement(Rect rect, int index, bool isActive, bool isFocused) + { + rect = SOArchitecture_EditorUtility.GetReorderableListElementFieldRect(rect); + SerializedProperty property = CollectionItemsProperty.GetArrayElementAtIndex(index); + + EditorGUI.BeginDisabledGroup(DISABLE_ELEMENTS); + + GenericPropertyDrawer.DrawPropertyDrawer(rect, property, Target.Type); + + EditorGUI.EndDisabledGroup(); + } + private float GetHeight(int index) + { + SerializedProperty property = CollectionItemsProperty.GetArrayElementAtIndex(index); + + return GenericPropertyDrawer.GetHeight(property, Target.Type) + EditorGUIUtility.standardVerticalSpacing; + } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Editor/Inspectors/CollectionEditor.cs.meta b/Architecture/ScriptableObjects/Editor/Inspectors/CollectionEditor.cs.meta new file mode 100644 index 0000000..be84ee7 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Inspectors/CollectionEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 7cc9e5685f97fb9499918abd6c22c2c3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Inspectors/GameEventEditor.cs b/Architecture/ScriptableObjects/Editor/Inspectors/GameEventEditor.cs new file mode 100644 index 0000000..90014cc --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Inspectors/GameEventEditor.cs @@ -0,0 +1,19 @@ +using UnityEditor; +using UnityEngine; + +namespace ScriptableObjectArchitecture.Editor +{ + [CustomEditor(typeof(GameEventBase), true)] + public sealed class GameEventEditor : BaseGameEventEditor + { + private GameEvent Target { get { return (GameEvent)target; } } + + protected override void DrawRaiseButton() + { + if (GUILayout.Button("Raise")) + { + Target.Raise(); + } + } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Editor/Inspectors/GameEventEditor.cs.meta b/Architecture/ScriptableObjects/Editor/Inspectors/GameEventEditor.cs.meta new file mode 100644 index 0000000..193a804 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Inspectors/GameEventEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 356f2e33ca19ca942910c3a91f662cde +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Inspectors/GameEventListenerEditor.cs b/Architecture/ScriptableObjects/Editor/Inspectors/GameEventListenerEditor.cs new file mode 100644 index 0000000..5eb4b49 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Inspectors/GameEventListenerEditor.cs @@ -0,0 +1,26 @@ +using System.Reflection; +using UnityEngine; +using UnityEditor; + +namespace ScriptableObjectArchitecture.Editor +{ + [CustomEditor(typeof(BaseGameEventListener<,>), true)] + public class GameEventListenerEditor : BaseGameEventListenerEditor + { + private MethodInfo _raiseMethod; + + protected override void OnEnable() + { + base.OnEnable(); + + _raiseMethod = target.GetType().BaseType.GetMethod("OnEventRaised"); + } + protected override void DrawRaiseButton() + { + if (GUILayout.Button("Raise")) + { + _raiseMethod.Invoke(target, null); + } + } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Editor/Inspectors/GameEventListenerEditor.cs.meta b/Architecture/ScriptableObjects/Editor/Inspectors/GameEventListenerEditor.cs.meta new file mode 100644 index 0000000..328720f --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Inspectors/GameEventListenerEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6883a8a0a66bc354fa4fc679b9e08ab6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Inspectors/SceneVariableEditor.cs b/Architecture/ScriptableObjects/Editor/Inspectors/SceneVariableEditor.cs new file mode 100644 index 0000000..0891beb --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Inspectors/SceneVariableEditor.cs @@ -0,0 +1,58 @@ +using UnityEditor; +using UnityEngine; + +namespace ScriptableObjectArchitecture.Editor +{ + [CustomEditor(typeof(SceneVariable))] + internal sealed class SceneVariableEditor : BaseVariableEditor + { + // UI + private const string SCENE_NOT_ASSIGNED_WARNING = "Please assign a scene as the current serialized values for " + + "the scene do not resolve to an asset in the project."; + private const string SCENE_NOT_IN_BUILD_SETTINGS_WARNING = + "Scene assigned is not currently in the Build Settings"; + private const string SCENE_NOT_ENABLED_IN_BUILD_SETTINGS_WARNING = + "Scene assigned is present in build settings, but not enabled."; + + // Serialized Properties + private const string SCENE_INFO_PROPERTY = "_value"; + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + DrawValue(); + } + protected override void DrawValue() + { + var sceneVariable = (SceneVariable)target; + var sceneInfoProperty = serializedObject.FindProperty(SCENE_INFO_PROPERTY); + if (sceneVariable.Value.Scene == null) + { + EditorGUILayout.HelpBox(SCENE_NOT_ASSIGNED_WARNING, MessageType.Warning); + } + else if (!sceneVariable.Value.IsSceneInBuildSettings) + { + EditorGUILayout.HelpBox(SCENE_NOT_IN_BUILD_SETTINGS_WARNING, MessageType.Warning); + } + else if(!sceneVariable.Value.IsSceneEnabled) + { + EditorGUILayout.HelpBox(SCENE_NOT_ENABLED_IN_BUILD_SETTINGS_WARNING, MessageType.Warning); + } + EditorGUI.BeginChangeCheck(); + EditorGUILayout.PropertyField(sceneInfoProperty); + if (EditorGUI.EndChangeCheck()) + { + EditorUtility.SetDirty(target); + } + EditorGUILayout.Space(); + EditorGUILayout.Space(); + EditorGUILayout.Space(); + } + + public override bool RequiresConstantRepaint() + { + return true; + } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Editor/Inspectors/SceneVariableEditor.cs.meta b/Architecture/ScriptableObjects/Editor/Inspectors/SceneVariableEditor.cs.meta new file mode 100644 index 0000000..93ec2ec --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Inspectors/SceneVariableEditor.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: c76dd1dc59a44956a549cab1ec2f6905 +timeCreated: 1555320819 \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Editor/Inspectors/StackTrace.cs b/Architecture/ScriptableObjects/Editor/Inspectors/StackTrace.cs new file mode 100644 index 0000000..29103d2 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Inspectors/StackTrace.cs @@ -0,0 +1,261 @@ +using System.Linq; +using UnityEditor; +using UnityEditor.AnimatedValues; +using UnityEngine; +using UnityEngine.Events; + +namespace ScriptableObjectArchitecture.Editor +{ + public class StackTrace + { + public StackTrace(IStackTraceObject target, bool startCollapsed = false) + { + if (target == null) + throw new System.NullReferenceException(); + + _target = target; + + _collapseAnimation = new AnimBool(!startCollapsed); + _collapseAnimation.valueChanged.AddListener(Repaint); + + OnRepaint = new UnityEvent(); + } + + public float Height { get { return _height; } set { _height = value; } } + public UnityEvent OnRepaint { get; set; } + + private const float DEFAULT_HEIGHT = 400; + + private const float HEADER_HEIGHT = 18; + private const float RESIZE_MARGIN = 0.2f; + private const float RESIZE_HEIGHT = 5; + private const float CLEAR_LEFT_PADDING = 6; + private const float CLEAR_WIDTH = 45; + private const float COLLAPSE_WIDTH = 55; + private const float LINE_HEIGHT = 18; + + private StackTraceEntry _selectedTrace; + + private IStackTraceObject _target; + private Rect _listRect; + private Rect _stackTraceRect; + private Rect _contentRect; + private Vector2 _listScrollPosition; + private Vector2 _contentScrollPosition; + private AnimBool _collapseAnimation; + private float _height = DEFAULT_HEIGHT; + private float _subWindowValue = 0.6f; + private float _splitHeight; + private bool _resizeMouseDown; + + public void Draw() + { + EditorGUILayout.Space(); + + Rect rect = GUILayoutUtility.GetRect(0, GetHeight()); + + if (Event.current.type == EventType.Repaint) + { + //This is necessary due to Unity's retarded handling of events - https://answers.unity.com/questions/515197/how-to-use-guilayoututilitygetrect-properly.html + _stackTraceRect = rect; + + Rect boxRect = _stackTraceRect; + + boxRect.x--; + boxRect.y--; + + boxRect.width++; + boxRect.height++; + + Styles.Box.Draw(boxRect, GUIContent.none, 0); + } + + _subWindowValue = Mathf.Clamp(_subWindowValue, RESIZE_MARGIN, 1 - RESIZE_MARGIN); + + _splitHeight = _stackTraceRect.height * _subWindowValue; + _contentRect = new Rect(-1, _splitHeight, _stackTraceRect.width + 1, _stackTraceRect.height - _splitHeight); + _listRect = new Rect() + { + y = HEADER_HEIGHT, + height = (_stackTraceRect.height - HEADER_HEIGHT) - _contentRect.height, + width = _stackTraceRect.width, + }; + + GUILayout.BeginArea(_stackTraceRect); + + DrawStackTraceHeader(); + + EditorGUILayout.BeginFadeGroup(_collapseAnimation.faded); + + if (_collapseAnimation.faded > 0) + { + DrawList(); + DrawSelectedContent(); + } + + EditorGUILayout.EndFadeGroup(); + + GUILayout.EndArea(); + } + private void DrawSelectedContent() + { + Rect cursorRect = new Rect(0, _splitHeight - (RESIZE_HEIGHT / 2), _stackTraceRect.width, RESIZE_HEIGHT); + Event currentEvent = Event.current; + + EditorGUIUtility.AddCursorRect(cursorRect, MouseCursor.ResizeVertical); + + if (currentEvent.type == EventType.Repaint) + { + Styles.Box.Draw(_contentRect, GUIContent.none, 0); + } + else if (currentEvent.type == EventType.MouseDown && cursorRect.Contains(currentEvent.mousePosition)) + { + _resizeMouseDown = true; + } + else if (currentEvent.type == EventType.MouseUp && _resizeMouseDown) + { + _resizeMouseDown = false; + } + else if (_resizeMouseDown) + { + _subWindowValue = currentEvent.mousePosition.y / _stackTraceRect.height; + + Repaint(); + } + + if (_selectedTrace != null) + { + Rect scrollViewRect = new Rect() + { + y = _contentRect.y, + height = _contentRect.height, + width = _contentRect.width, + }; + + Vector2 textSize = Styles.MessageStyle.CalcSize(new GUIContent(_selectedTrace)); + + Rect position = new Rect(Vector2.zero, textSize); + + _contentScrollPosition = GUI.BeginScrollView(scrollViewRect, _contentScrollPosition, position); + + EditorGUI.SelectableLabel(position, _selectedTrace, Styles.MessageStyle); + + GUI.EndScrollView(); + } + } + private void DrawList() + { + Rect scrollViewRect = new Rect() + { + y = _listRect.y, + height = _listRect.height, + width = _listRect.width, + }; + Rect position = new Rect() + { + height = _target.StackTraces.Count * LINE_HEIGHT, + width = scrollViewRect.width - 20, + }; + + _listScrollPosition = GUI.BeginScrollView(scrollViewRect, _listScrollPosition, position); + + for (int i = 0; i < _target.StackTraces.Count; i++) + { + StackTraceEntry currentTrace = _target.StackTraces[i]; + string currentText = GetFirstLine(currentTrace); + + Rect elementRect = new Rect() + { + width = _listRect.width, + height = LINE_HEIGHT, + y = i * LINE_HEIGHT, + }; + + if (Event.current.type == EventType.MouseDown && elementRect.Contains(Event.current.mousePosition)) + { + _selectedTrace = currentTrace; + + Repaint(); + } + else if (Event.current.type == EventType.Repaint) + { + bool isSelected = _selectedTrace == currentTrace; + GUIStyle backgroundStyle = i % 2 == 0 ? Styles.EvenBackground : Styles.OddBackground; + + backgroundStyle.Draw(elementRect, false, false, isSelected, false); + Styles.Text.Draw(elementRect, new GUIContent(currentText), 0); + } + } + + GUI.EndScrollView(); + } + private void DrawStackTraceHeader() + { + Rect rect = new Rect() + { + width = _stackTraceRect.width, + height = HEADER_HEIGHT, + }; + + if (Event.current.type == EventType.Repaint) + { + Styles.Header.Draw(rect, new GUIContent("Stack Trace"), 0); + } + + rect.x += CLEAR_LEFT_PADDING; + rect.width = CLEAR_WIDTH; + + if (GUI.Button(rect, new GUIContent("Clear"), Styles.HeaderButton)) + { + _target.StackTraces.Clear(); + Deselect(); + } + + rect.x += CLEAR_WIDTH; + rect.width = COLLAPSE_WIDTH; + + _collapseAnimation.target = !GUI.Toggle(rect, !_collapseAnimation.target, new GUIContent("Collapse"), Styles.HeaderButton); + } + private float GetHeight() + { + return Mathf.Clamp(Height * _collapseAnimation.faded, HEADER_HEIGHT, float.MaxValue); + } + private void Repaint() + { + OnRepaint.Invoke(); + } + private string GetFirstLine(string value) + { + return value.Split(new[] { '\r', '\n' }).FirstOrDefault(); + } + private void Deselect() + { + _selectedTrace = null; + } + private class Styles + { + static Styles() + { + Box = new GUIStyle("CN Box"); + EvenBackground = new GUIStyle("CN EntryBackEven"); + OddBackground = new GUIStyle("CN EntryBackodd"); + HeaderButton = new GUIStyle("ToolbarButton"); + MessageStyle = new GUIStyle("CN Message"); + + Header = new GUIStyle("Toolbar"); + Header.alignment = TextAnchor.MiddleCenter; + + Text = new GUIStyle("CN EntryInfo"); + Text.padding = new RectOffset(0, 0, 3, 0); + } + + public static GUIStyle HeaderButton; + public static GUIStyle Text; + public static GUIStyle Box; + public static GUIStyle Header; + public static GUIStyle EvenBackground; + public static GUIStyle OddBackground; + public static GUIStyle MessageStyle; + } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Editor/Inspectors/StackTrace.cs.meta b/Architecture/ScriptableObjects/Editor/Inspectors/StackTrace.cs.meta new file mode 100644 index 0000000..fdc6a5b --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Inspectors/StackTrace.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9dfa156dbea665b4bb233e288b6bb0d7 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Inspectors/TypedGameEventEditor.cs b/Architecture/ScriptableObjects/Editor/Inspectors/TypedGameEventEditor.cs new file mode 100644 index 0000000..5f72955 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Inspectors/TypedGameEventEditor.cs @@ -0,0 +1,58 @@ +using System.Reflection; +using UnityEditor; +using UnityEngine; +using Type = System.Type; + +namespace ScriptableObjectArchitecture.Editor +{ + [CustomEditor(typeof(GameEventBase<>), true)] + public class TypedGameEventEditor : BaseGameEventEditor + { + private MethodInfo _raiseMethod; + + protected override void OnEnable() + { + base.OnEnable(); + + _raiseMethod = target.GetType().BaseType.GetMethod("Raise", BindingFlags.DeclaredOnly | BindingFlags.Instance | BindingFlags.Public); + } + protected override void DrawRaiseButton() + { + SerializedProperty property = serializedObject.FindProperty("_debugValue"); + + using (var scope = new EditorGUI.ChangeCheckScope()) + { + Type debugValueType = GetDebugValueType(property); + GenericPropertyDrawer.DrawPropertyDrawerLayout(property, debugValueType); + + if (scope.changed) + { + serializedObject.ApplyModifiedProperties(); + } + } + + if (GUILayout.Button("Raise")) + { + CallMethod(GetDebugValue(property)); + } + } + private object GetDebugValue(SerializedProperty property) + { + Type targetType = property.serializedObject.targetObject.GetType(); + FieldInfo targetField = targetType.GetField("_debugValue", BindingFlags.Instance | BindingFlags.NonPublic); + + return targetField.GetValue(property.serializedObject.targetObject); + } + private Type GetDebugValueType(SerializedProperty property) + { + Type targetType = property.serializedObject.targetObject.GetType(); + FieldInfo targetField = targetType.GetField("_debugValue", BindingFlags.Instance | BindingFlags.NonPublic); + + return targetField.FieldType; + } + private void CallMethod(object value) + { + _raiseMethod.Invoke(target, new object[1] { value }); + } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Editor/Inspectors/TypedGameEventEditor.cs.meta b/Architecture/ScriptableObjects/Editor/Inspectors/TypedGameEventEditor.cs.meta new file mode 100644 index 0000000..0e7fcfe --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Inspectors/TypedGameEventEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f8c7bd95d11941644a5f9f3045c0545f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/Inspectors/TypesGameEventListenerEditor.cs b/Architecture/ScriptableObjects/Editor/Inspectors/TypesGameEventListenerEditor.cs new file mode 100644 index 0000000..f7a2878 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Inspectors/TypesGameEventListenerEditor.cs @@ -0,0 +1,42 @@ +using System.Reflection; +using UnityEditor; +using UnityEngine; +using Type = System.Type; + +namespace ScriptableObjectArchitecture.Editor +{ + [CustomEditor(typeof(BaseGameEventListener<,,>), true)] + public class TypesGameEventListenerEditor : BaseGameEventListenerEditor + { + private MethodInfo _raiseMethod; + + protected override void OnEnable() + { + base.OnEnable(); + + _raiseMethod = target.GetType().BaseType.GetMethod("OnEventRaised"); + } + protected override void DrawRaiseButton() + { + SerializedProperty property = serializedObject.FindProperty("_debugValue"); + + EditorGUILayout.PropertyField(property); + + if (GUILayout.Button("Raise")) + { + CallMethod(GetDebugValue(property)); + } + } + private object GetDebugValue(SerializedProperty property) + { + Type targetType = property.serializedObject.targetObject.GetType(); + FieldInfo targetField = targetType.GetField("_debugValue", BindingFlags.Instance | BindingFlags.NonPublic); + + return targetField.GetValue(property.serializedObject.targetObject); + } + private void CallMethod(object value) + { + _raiseMethod.Invoke(target, new object[1] { value }); + } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Editor/Inspectors/TypesGameEventListenerEditor.cs.meta b/Architecture/ScriptableObjects/Editor/Inspectors/TypesGameEventListenerEditor.cs.meta new file mode 100644 index 0000000..1416e62 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/Inspectors/TypesGameEventListenerEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 31e9c969a656a2a4b93a9404e0bced74 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/SOArchitecture_EditorUtility.cs b/Architecture/ScriptableObjects/Editor/SOArchitecture_EditorUtility.cs new file mode 100644 index 0000000..c9acac8 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/SOArchitecture_EditorUtility.cs @@ -0,0 +1,199 @@ +using System.IO; +using System.Reflection; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; +using UnityEditor.Callbacks; +using Type = System.Type; + +namespace ScriptableObjectArchitecture.Editor +{ + public static class SOArchitecture_EditorUtility + { + static SOArchitecture_EditorUtility() + { + CreateDebugStyle(); + } + + /// + /// A debug that allows for identification of EditorGUI Rect issues. + /// + public static GUIStyle DebugStyle { get; private set; } + private const float DebugStyleBackgroundAlpha = 0.33f; + + private static PropertyDrawerGraph _propertyDrawerGraph; + private static BindingFlags _fieldBindingsFlag = BindingFlags.Instance | BindingFlags.NonPublic; + + private class AssemblyDefinitionSurrogate + { + public string name = ""; + } + + private static void CreatePropertyDrawerGraph() + { + _propertyDrawerGraph = new PropertyDrawerGraph(); + HashSet assemblyNamesToCheck = new HashSet() + { + "Assembly-CSharp-Editor", + }; + + GetAllAssetDefintionNames(assemblyNamesToCheck); + + string dataPath = Application.dataPath; + string libraryPath = dataPath.Substring(0, dataPath.LastIndexOf('/')) + "/Library/ScriptAssemblies"; + + foreach (string file in Directory.GetFiles(libraryPath)) + { + if(assemblyNamesToCheck.Contains(Path.GetFileNameWithoutExtension(file)) && Path.GetExtension(file) == ".dll") + { + Assembly assembly = Assembly.LoadFrom(file); + _propertyDrawerGraph.CreateGraph(assembly); + } + } + } + private static void GetAllAssetDefintionNames(HashSet targetList) + { + string[] assemblyDefinitionGUIDs = AssetDatabase.FindAssets("t:asmdef"); + + foreach (string guid in assemblyDefinitionGUIDs) + { + string path = AssetDatabase.GUIDToAssetPath(guid); + + if (path.StartsWith("Assets/")) + { + string fullPath = Application.dataPath + path.Remove(0, path.IndexOf('/')); + + targetList.Add(GetNameValueFromAssemblyDefinition(fullPath)); + } + } + } + private static string GetNameValueFromAssemblyDefinition(string fullpath) + { + string allText = File.ReadAllText(fullpath); + AssemblyDefinitionSurrogate surrogate = JsonUtility.FromJson(allText); + + return surrogate.name; + } + private static void CreateDebugStyle() + { + DebugStyle = new GUIStyle(); + + Color debugColor = Color.magenta; + debugColor.a = DebugStyleBackgroundAlpha; + + DebugStyle.normal.background = CreateTexture(2, 2, debugColor); + } + + /// + /// Converts the entire rect of a element into a rect used for displaying a field + /// + public static Rect GetReorderableListElementFieldRect(Rect elementRect) + { + elementRect.height = EditorGUIUtility.singleLineHeight; + elementRect.y++; + + return elementRect; + } + public static bool SupportsMultiLine(Type type) + { + return type.GetCustomAttributes(typeof(MultiLine), true).Length > 0; + } + public static bool HasPropertyDrawer(Type type) + { + if (HasBuiltinPropertyDrawer(type)) + return true; + + if (_propertyDrawerGraph == null) + CreatePropertyDrawerGraph(); + + return _propertyDrawerGraph.HasPropertyDrawer(type); + } + private static bool HasBuiltinPropertyDrawer(Type type) + { + if (type.IsPrimitive || type == typeof(string) || IsFromUnityAssembly(type)) + return true; + + return false; + } + private static bool IsFromUnityAssembly(Type type) + { + return type.Assembly == typeof(GameObject).Assembly; + } + [DidReloadScripts] + private static void OnProjectReloaded() + { + _propertyDrawerGraph = null; + } + private static Texture2D CreateTexture(int width, int height, Color col) + { + Color[] pix = new Color[width * height]; + for (int i = 0; i < pix.Length; ++i) + { + pix[i] = col; + } + Texture2D result = new Texture2D(width, height); + result.SetPixels(pix); + result.Apply(); + return result; + } + + /// + /// Goes through the entirety of the project and collects data about custom property drawers + /// + private class PropertyDrawerGraph + { + private List _supportedTypes = new List(); + private List _supportedInheritedTypes = new List(); + private List _checkedAssemblies = new List(); + + public bool HasPropertyDrawer(Type type) + { + foreach (Type supportedType in _supportedTypes) + { + if (supportedType == type) + return true; + } + + foreach (Type inheritedSupportedType in _supportedInheritedTypes) + { + if (type.IsSubclassOf(inheritedSupportedType)) + return true; + } + + return false; + } + public void CreateGraph(Assembly assembly) + { + if (_checkedAssemblies.Contains(assembly)) + return; + + _checkedAssemblies.Add(assembly); + + foreach (Type type in assembly.GetTypes()) + { + object[] attributes = type.GetCustomAttributes(typeof(CustomPropertyDrawer), false); + + foreach (object attribute in attributes) + { + if (attribute is CustomPropertyDrawer) + { + CustomPropertyDrawer drawerData = attribute as CustomPropertyDrawer; + + bool useForChildren = (bool)typeof(CustomPropertyDrawer).GetField("m_UseForChildren", _fieldBindingsFlag).GetValue(drawerData); + Type targetType = (Type)typeof(CustomPropertyDrawer).GetField("m_Type", _fieldBindingsFlag).GetValue(drawerData); + + if (useForChildren) + { + _supportedInheritedTypes.Add(targetType); + } + else + { + _supportedTypes.Add(targetType); + } + } + } + } + } + } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Editor/SOArchitecture_EditorUtility.cs.meta b/Architecture/ScriptableObjects/Editor/SOArchitecture_EditorUtility.cs.meta new file mode 100644 index 0000000..07e82a8 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/SOArchitecture_EditorUtility.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 45cecdd8c6ef04e4c87e6e9f916004ed +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Editor/ScriptableObject-Architecture.Editor.asmdef b/Architecture/ScriptableObjects/Editor/ScriptableObject-Architecture.Editor.asmdef new file mode 100644 index 0000000..4f6d9de --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/ScriptableObject-Architecture.Editor.asmdef @@ -0,0 +1,16 @@ +{ + "name": "ScriptableObject-Architecture.Editor", + "references": [ + "ScriptableObject-Architecture" + ], + "optionalUnityReferences": [], + "includePlatforms": [ + "Editor" + ], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [] +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Editor/ScriptableObject-Architecture.Editor.asmdef.meta b/Architecture/ScriptableObjects/Editor/ScriptableObject-Architecture.Editor.asmdef.meta new file mode 100644 index 0000000..76295e1 --- /dev/null +++ b/Architecture/ScriptableObjects/Editor/ScriptableObject-Architecture.Editor.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: cdb30503fc431034480da3ad5e66c268 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events.meta b/Architecture/ScriptableObjects/Events.meta new file mode 100644 index 0000000..87860c1 --- /dev/null +++ b/Architecture/ScriptableObjects/Events.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ba76e8ee46a6dbb4991c2f34691550e9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Game Events.meta b/Architecture/ScriptableObjects/Events/Game Events.meta new file mode 100644 index 0000000..9868ca4 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Game Events.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d10a27ada69ebf14eba38f1a0d322ff6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Game Events/AudioClipGameEvent.cs b/Architecture/ScriptableObjects/Events/Game Events/AudioClipGameEvent.cs new file mode 100644 index 0000000..84c7f6e --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Game Events/AudioClipGameEvent.cs @@ -0,0 +1,14 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + [CreateAssetMenu( + fileName = "AudioClipGameEvent.asset", + menuName = SOArchitecture_Utility.ADVANCED_GAME_EVENT + "AudioClip", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_EVENTS + 5)] + public sealed class AudioClipGameEvent : GameEventBase + { + + } +} diff --git a/Architecture/ScriptableObjects/Events/Game Events/AudioClipGameEvent.cs.meta b/Architecture/ScriptableObjects/Events/Game Events/AudioClipGameEvent.cs.meta new file mode 100644 index 0000000..ea75b97 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Game Events/AudioClipGameEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 96c62cae1d494005aee595768eefb7ae +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 0215332f5b2955c4680cdc966f6d9270, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Game Events/BoolGameEvent.cs b/Architecture/ScriptableObjects/Events/Game Events/BoolGameEvent.cs new file mode 100644 index 0000000..e017b03 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Game Events/BoolGameEvent.cs @@ -0,0 +1,13 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + [CreateAssetMenu( + fileName = "BoolGameEvent.asset", + menuName = SOArchitecture_Utility.GAME_EVENT + "bool", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_EVENTS + 5)] + public sealed class BoolGameEvent : GameEventBase + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Game Events/BoolGameEvent.cs.meta b/Architecture/ScriptableObjects/Events/Game Events/BoolGameEvent.cs.meta new file mode 100644 index 0000000..dabe44a --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Game Events/BoolGameEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: cbe4d59e612f226418a9f7ddf54c95bf +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 346c4474e35a8914295939193925b5f3, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Game Events/ByteGameEvent.cs b/Architecture/ScriptableObjects/Events/Game Events/ByteGameEvent.cs new file mode 100644 index 0000000..8fd1ac7 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Game Events/ByteGameEvent.cs @@ -0,0 +1,13 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + [CreateAssetMenu( + fileName = "ByteGameEvent.asset", + menuName = SOArchitecture_Utility.ADVANCED_GAME_EVENT + "byte", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_EVENTS + 6)] + public sealed class ByteGameEvent : GameEventBase + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Game Events/ByteGameEvent.cs.meta b/Architecture/ScriptableObjects/Events/Game Events/ByteGameEvent.cs.meta new file mode 100644 index 0000000..e5987e4 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Game Events/ByteGameEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b37258a6106d5444aaa4d3c6ce5cca1e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 261c21d547ee3ca48b6243d4316763d7, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Game Events/CharGameEvent.cs b/Architecture/ScriptableObjects/Events/Game Events/CharGameEvent.cs new file mode 100644 index 0000000..7520499 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Game Events/CharGameEvent.cs @@ -0,0 +1,13 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + [CreateAssetMenu( + fileName = "CharGameEvent.asset", + menuName = SOArchitecture_Utility.ADVANCED_GAME_EVENT + "char", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_EVENTS + 7)] + public sealed class CharGameEvent : GameEventBase + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Game Events/CharGameEvent.cs.meta b/Architecture/ScriptableObjects/Events/Game Events/CharGameEvent.cs.meta new file mode 100644 index 0000000..c1328ec --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Game Events/CharGameEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9ed61fd17e854134d916bb356965a6b2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 51b477982b434b240ac6bd2864fb4e94, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Game Events/DoubleGameEvent.cs b/Architecture/ScriptableObjects/Events/Game Events/DoubleGameEvent.cs new file mode 100644 index 0000000..34d17f8 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Game Events/DoubleGameEvent.cs @@ -0,0 +1,13 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + [CreateAssetMenu( + fileName = "DoubleGameEvent.asset", + menuName = SOArchitecture_Utility.ADVANCED_GAME_EVENT + "double", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_EVENTS + 8)] + public sealed class DoubleGameEvent : GameEventBase + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Game Events/DoubleGameEvent.cs.meta b/Architecture/ScriptableObjects/Events/Game Events/DoubleGameEvent.cs.meta new file mode 100644 index 0000000..e39d96c --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Game Events/DoubleGameEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5983630b18b750040ab695cb500dbd87 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 85a0261a15fb1d34b9da3b33673abe91, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Game Events/FloatGameEvent.cs b/Architecture/ScriptableObjects/Events/Game Events/FloatGameEvent.cs new file mode 100644 index 0000000..e6afd38 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Game Events/FloatGameEvent.cs @@ -0,0 +1,13 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + [CreateAssetMenu( + fileName = "FloatGameEvent.asset", + menuName = SOArchitecture_Utility.GAME_EVENT + "float", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_EVENTS + 3)] + public sealed class FloatGameEvent : GameEventBase + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Game Events/FloatGameEvent.cs.meta b/Architecture/ScriptableObjects/Events/Game Events/FloatGameEvent.cs.meta new file mode 100644 index 0000000..98f6c76 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Game Events/FloatGameEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 001ce7190bfda8a4d9ca56a17f8fdd0b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 0ee88e5fd0ae9db4ebb33c80616911b4, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Game Events/GameEvent.cs b/Architecture/ScriptableObjects/Events/Game Events/GameEvent.cs new file mode 100644 index 0000000..7a0c057 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Game Events/GameEvent.cs @@ -0,0 +1,12 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [CreateAssetMenu( + fileName = "GameEvent.asset", + menuName = SOArchitecture_Utility.GAME_EVENT + "Game Event", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_EVENTS - 1)] + public sealed class GameEvent : GameEventBase + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Game Events/GameEvent.cs.meta b/Architecture/ScriptableObjects/Events/Game Events/GameEvent.cs.meta new file mode 100644 index 0000000..87e5df8 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Game Events/GameEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 7a78c7052899406438e9fc79486b45c0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 046d8c41d9c7fd746aeab61a9386572e, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Game Events/GameEventBase.cs b/Architecture/ScriptableObjects/Events/Game Events/GameEventBase.cs new file mode 100644 index 0000000..523466c --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Game Events/GameEventBase.cs @@ -0,0 +1,114 @@ +using UnityEngine; +using System.Collections.Generic; + +namespace ScriptableObjectArchitecture +{ + public abstract class GameEventBase : GameEventBase, IGameEvent, IStackTraceObject + { + private readonly List> _typedListeners = new List>(); + private readonly List> _typedActions = new List>(); + + [SerializeField] + protected T _debugValue = default(T); + + public void Raise(T value) + { + AddStackTrace(value); + + for (int i = _typedListeners.Count - 1; i >= 0; i--) + _typedListeners[i].OnEventRaised(value); + + for (int i = _listeners.Count - 1; i >= 0; i--) + _listeners[i].OnEventRaised(); + + for (int i = _typedActions.Count - 1; i >= 0; i--) + _typedActions[i](value); + + for (int i = _actions.Count - 1; i >= 0; i--) + _actions[i](); + } + public void AddListener(IGameEventListener listener) + { + if (!_typedListeners.Contains(listener)) + _typedListeners.Add(listener); + } + public void RemoveListener(IGameEventListener listener) + { + if (_typedListeners.Contains(listener)) + _typedListeners.Remove(listener); + } + public void AddListener(System.Action action) + { + if (!_typedActions.Contains(action)) + _typedActions.Add(action); + } + public void RemoveListener(System.Action action) + { + if (_typedActions.Contains(action)) + _typedActions.Remove(action); + } + public override string ToString() + { + return "GameEventBase<" + typeof(T) + ">"; + } + } + public abstract class GameEventBase : SOArchitectureBaseObject, IGameEvent, IStackTraceObject + { + protected readonly List _listeners = new List(); + protected readonly List _actions = new List(); + + public List StackTraces { get { return _stackTraces; } } + private List _stackTraces = new List(); + + public void AddStackTrace() + { +#if UNITY_EDITOR + if (SOArchitecturePreferences.IsDebugEnabled) + _stackTraces.Insert(0, StackTraceEntry.Create()); +#endif + } + public void AddStackTrace(object value) + { +#if UNITY_EDITOR + if(SOArchitecturePreferences.IsDebugEnabled) + _stackTraces.Insert(0, StackTraceEntry.Create(value)); +#endif + } + + public void Raise() + { + AddStackTrace(); + + for (int i = _listeners.Count - 1; i >= 0; i--) + _listeners[i].OnEventRaised(); + + for (int i = _actions.Count - 1; i >= 0; i--) + _actions[i](); + } + public void AddListener(IGameEventListener listener) + { + if (!_listeners.Contains(listener)) + _listeners.Add(listener); + } + public void RemoveListener(IGameEventListener listener) + { + if (_listeners.Contains(listener)) + _listeners.Remove(listener); + } + public void AddListener(System.Action action) + { + if (!_actions.Contains(action)) + _actions.Add(action); + } + public void RemoveListener(System.Action action) + { + if (_actions.Contains(action)) + _actions.Remove(action); + } + public virtual void RemoveAll() + { + _listeners.RemoveRange(0, _listeners.Count); + _actions.RemoveRange(0, _actions.Count); + } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Game Events/GameEventBase.cs.meta b/Architecture/ScriptableObjects/Events/Game Events/GameEventBase.cs.meta new file mode 100644 index 0000000..145ba56 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Game Events/GameEventBase.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: fc6ee850ba5b8284d94ee16b623cfad4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Game Events/GameEventStackTrace.cs b/Architecture/ScriptableObjects/Events/Game Events/GameEventStackTrace.cs new file mode 100644 index 0000000..914e987 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Game Events/GameEventStackTrace.cs @@ -0,0 +1,82 @@ +using System; +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + public class StackTraceEntry : IEquatable + { + private StackTraceEntry(string trace) + { + _id = UnityEngine.Random.Range(int.MinValue, int.MaxValue); + _stackTrace = trace; + + if (Application.isPlaying) + { + _frameCount = Time.frameCount; + } + } + private StackTraceEntry(string trace, object value) + { + _value = value; + _constructedWithValue = true; + _id = UnityEngine.Random.Range(int.MinValue, int.MaxValue); + _stackTrace = trace; + + if (Application.isPlaying) + { + _frameCount = Time.frameCount; + } + } + + private readonly int _id; + private readonly int _frameCount; + private readonly string _stackTrace; + private readonly object _value; + private readonly bool _constructedWithValue = false; + + public static StackTraceEntry Create(object obj) + { + return new StackTraceEntry(Environment.StackTrace, obj); + } + public static StackTraceEntry Create() + { + return new StackTraceEntry(Environment.StackTrace); + } + public override bool Equals(object obj) + { + if (obj == null) + return false; + + if (obj is StackTraceEntry) + { + return Equals(obj as StackTraceEntry); + } + + return false; + } + public bool Equals(StackTraceEntry other) + { + return other._id == this._id; + } + public override int GetHashCode() + { + return _id; + } + public override string ToString() + { + if (_constructedWithValue) + { + return string.Format("{1} [{0}] {2}", _value == null ? "null" : _value.ToString(), _frameCount, _stackTrace); + } + else + { + return string.Format("{0} {1}", _frameCount, _stackTrace); + } + } + + public static implicit operator string(StackTraceEntry trace) + { + return trace.ToString(); + } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Game Events/GameEventStackTrace.cs.meta b/Architecture/ScriptableObjects/Events/Game Events/GameEventStackTrace.cs.meta new file mode 100644 index 0000000..a05592f --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Game Events/GameEventStackTrace.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b6e1b7131723ac74686ec443f88ae0d9 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Game Events/GameObjectGameEvent.cs b/Architecture/ScriptableObjects/Events/Game Events/GameObjectGameEvent.cs new file mode 100644 index 0000000..cb52249 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Game Events/GameObjectGameEvent.cs @@ -0,0 +1,13 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + [CreateAssetMenu( + fileName = "GameObjectGameEvent.asset", + menuName = SOArchitecture_Utility.GAME_EVENT + "GameObject", + order = 120)] + public sealed class GameObjectGameEvent : GameEventBase + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Game Events/GameObjectGameEvent.cs.meta b/Architecture/ScriptableObjects/Events/Game Events/GameObjectGameEvent.cs.meta new file mode 100644 index 0000000..0d49efa --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Game Events/GameObjectGameEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 61f5bf7fd976bb142aca9af402f46e44 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 326c0a60277b55744a9dfb77fb6a9a47, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Game Events/IGameEvent.cs b/Architecture/ScriptableObjects/Events/Game Events/IGameEvent.cs new file mode 100644 index 0000000..0e29b79 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Game Events/IGameEvent.cs @@ -0,0 +1,17 @@ +namespace ScriptableObjectArchitecture +{ + public interface IGameEvent + { + void Raise(T value); + void AddListener(IGameEventListener listener); + void RemoveListener(IGameEventListener listener); + void RemoveAll(); + } + public interface IGameEvent + { + void Raise(); + void AddListener(IGameEventListener listener); + void RemoveListener(IGameEventListener listener); + void RemoveAll(); + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Game Events/IGameEvent.cs.meta b/Architecture/ScriptableObjects/Events/Game Events/IGameEvent.cs.meta new file mode 100644 index 0000000..8906621 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Game Events/IGameEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b9008e8ef37249b4d9087dd71f2967bd +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Game Events/IntGameEvent.cs b/Architecture/ScriptableObjects/Events/Game Events/IntGameEvent.cs new file mode 100644 index 0000000..b8b5e20 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Game Events/IntGameEvent.cs @@ -0,0 +1,13 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + [CreateAssetMenu( + fileName = "IntGameEvent.asset", + menuName = SOArchitecture_Utility.GAME_EVENT + "int", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_EVENTS + 4)] + public sealed class IntGameEvent : GameEventBase + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Game Events/IntGameEvent.cs.meta b/Architecture/ScriptableObjects/Events/Game Events/IntGameEvent.cs.meta new file mode 100644 index 0000000..449a4df --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Game Events/IntGameEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8ea29b4887d65ef45a35c9c5add9005e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: b907a9c0990bd324799f845c0e473882, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Game Events/LongGameEvent.cs b/Architecture/ScriptableObjects/Events/Game Events/LongGameEvent.cs new file mode 100644 index 0000000..f7736b9 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Game Events/LongGameEvent.cs @@ -0,0 +1,13 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + [CreateAssetMenu( + fileName = "LongGameEvent.asset", + menuName = SOArchitecture_Utility.ADVANCED_GAME_EVENT + "long", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_EVENTS + 9)] + public sealed class LongGameEvent : GameEventBase + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Game Events/LongGameEvent.cs.meta b/Architecture/ScriptableObjects/Events/Game Events/LongGameEvent.cs.meta new file mode 100644 index 0000000..8b539d8 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Game Events/LongGameEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b1afbd111fdba03459561f36c653092c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 05d05b25c35be304c830ae58521193f9, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Game Events/ObjectGameEvent.cs b/Architecture/ScriptableObjects/Events/Game Events/ObjectGameEvent.cs new file mode 100644 index 0000000..31b510f --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Game Events/ObjectGameEvent.cs @@ -0,0 +1,13 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + [CreateAssetMenu( + fileName = "ObjectGameEvent.asset", + menuName = SOArchitecture_Utility.GAME_EVENT + "Object", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_EVENTS + 1)] + public class ObjectGameEvent : GameEventBase + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Game Events/ObjectGameEvent.cs.meta b/Architecture/ScriptableObjects/Events/Game Events/ObjectGameEvent.cs.meta new file mode 100644 index 0000000..a34e6b5 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Game Events/ObjectGameEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f16245789bedaa2449b94fe62a519ba3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: b6ba1c484fe92cf4ca131d9a900eb7da, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Game Events/QuaternionGameEvent.cs b/Architecture/ScriptableObjects/Events/Game Events/QuaternionGameEvent.cs new file mode 100644 index 0000000..e661140 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Game Events/QuaternionGameEvent.cs @@ -0,0 +1,13 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + [CreateAssetMenu( + fileName = "QuaternionGameEvent.asset", + menuName = SOArchitecture_Utility.GAME_EVENT + "Structs/Quaternion", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_EVENTS + 13)] + public sealed class QuaternionGameEvent : GameEventBase + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Game Events/QuaternionGameEvent.cs.meta b/Architecture/ScriptableObjects/Events/Game Events/QuaternionGameEvent.cs.meta new file mode 100644 index 0000000..8eeac0f --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Game Events/QuaternionGameEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9b9c527c9791f364e86829c02168d055 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 649cb6e3d04877d44838fd8093210cde, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Game Events/SByteGameEvent.cs b/Architecture/ScriptableObjects/Events/Game Events/SByteGameEvent.cs new file mode 100644 index 0000000..b90462d --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Game Events/SByteGameEvent.cs @@ -0,0 +1,13 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + [CreateAssetMenu( + fileName = "SignedByteGameEvent.asset", + menuName = SOArchitecture_Utility.ADVANCED_GAME_EVENT + "sbyte", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_EVENTS + 15)] + public sealed class SByteGameEvent : GameEventBase + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Game Events/SByteGameEvent.cs.meta b/Architecture/ScriptableObjects/Events/Game Events/SByteGameEvent.cs.meta new file mode 100644 index 0000000..dc62f8b --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Game Events/SByteGameEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f11ef7e8d55015d44afc5eb7f051d851 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 41126a9a6ed026a4bb723749749d3a16, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Game Events/ShortGameEvent.cs b/Architecture/ScriptableObjects/Events/Game Events/ShortGameEvent.cs new file mode 100644 index 0000000..487b8dd --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Game Events/ShortGameEvent.cs @@ -0,0 +1,13 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + [CreateAssetMenu( + fileName = "ShortGameEvent.asset", + menuName = SOArchitecture_Utility.ADVANCED_GAME_EVENT + "short", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_EVENTS + 14)] + public sealed class ShortGameEvent : GameEventBase + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Game Events/ShortGameEvent.cs.meta b/Architecture/ScriptableObjects/Events/Game Events/ShortGameEvent.cs.meta new file mode 100644 index 0000000..5288162 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Game Events/ShortGameEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4b2ad2934275c7a4bb10fec5297ed911 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: ae8f79ed377703549991ef63a3b5daec, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Game Events/StringGameEvent.cs b/Architecture/ScriptableObjects/Events/Game Events/StringGameEvent.cs new file mode 100644 index 0000000..a5bf8b0 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Game Events/StringGameEvent.cs @@ -0,0 +1,13 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + [CreateAssetMenu( + fileName = "StringGameEvent.asset", + menuName = SOArchitecture_Utility.GAME_EVENT + "string", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_EVENTS + 2)] + public sealed class StringGameEvent : GameEventBase + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Game Events/StringGameEvent.cs.meta b/Architecture/ScriptableObjects/Events/Game Events/StringGameEvent.cs.meta new file mode 100644 index 0000000..163ca2f --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Game Events/StringGameEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d315e0b31d04a074e89c0e5e55e9de48 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: a258685c72c006742a28776d98cc662e, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Game Events/UIntGameEvent.cs b/Architecture/ScriptableObjects/Events/Game Events/UIntGameEvent.cs new file mode 100644 index 0000000..5a2c788 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Game Events/UIntGameEvent.cs @@ -0,0 +1,13 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + [CreateAssetMenu( + fileName = "UnsignedIntGameEvent.asset", + menuName = SOArchitecture_Utility.ADVANCED_GAME_EVENT + "uint", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_EVENTS + 16)] + public sealed class UIntGameEvent : GameEventBase + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Game Events/UIntGameEvent.cs.meta b/Architecture/ScriptableObjects/Events/Game Events/UIntGameEvent.cs.meta new file mode 100644 index 0000000..2ee2444 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Game Events/UIntGameEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f428c233983fc624ea50f5d7d073889e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: d09943ccbb1d70f4f9555806dacec150, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Game Events/ULongGameEvent.cs b/Architecture/ScriptableObjects/Events/Game Events/ULongGameEvent.cs new file mode 100644 index 0000000..f1f46c7 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Game Events/ULongGameEvent.cs @@ -0,0 +1,13 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + [CreateAssetMenu( + fileName = "UnsignedLongGameEvent.asset", + menuName = SOArchitecture_Utility.ADVANCED_GAME_EVENT + "ulong", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_EVENTS + 17)] + public sealed class ULongGameEvent : GameEventBase + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Game Events/ULongGameEvent.cs.meta b/Architecture/ScriptableObjects/Events/Game Events/ULongGameEvent.cs.meta new file mode 100644 index 0000000..7a0c6d3 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Game Events/ULongGameEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: df3fc86357b8e664c86577b7995611f0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 1643f7d1398fa9a408e6ae88fb0d7309, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Game Events/UShortGameEvent.cs b/Architecture/ScriptableObjects/Events/Game Events/UShortGameEvent.cs new file mode 100644 index 0000000..33a6e7d --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Game Events/UShortGameEvent.cs @@ -0,0 +1,13 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + [CreateAssetMenu( + fileName = "UnsignedShortGameEvent.asset", + menuName = SOArchitecture_Utility.ADVANCED_GAME_EVENT + "ushort", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_EVENTS + 18)] + public sealed class UShortGameEvent : GameEventBase + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Game Events/UShortGameEvent.cs.meta b/Architecture/ScriptableObjects/Events/Game Events/UShortGameEvent.cs.meta new file mode 100644 index 0000000..2780ecd --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Game Events/UShortGameEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c781637f5d55d314c837294ff44bcaf1 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 5d72435736900dc41a79e248ea04ed82, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Game Events/Vector2GameEvent.cs b/Architecture/ScriptableObjects/Events/Game Events/Vector2GameEvent.cs new file mode 100644 index 0000000..7e2f63b --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Game Events/Vector2GameEvent.cs @@ -0,0 +1,13 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + [CreateAssetMenu( + fileName = "Vector2GameEvent.asset", + menuName = SOArchitecture_Utility.GAME_EVENT + "Structs/Vector2", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_EVENTS + 10)] + public sealed class Vector2GameEvent : GameEventBase + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Game Events/Vector2GameEvent.cs.meta b/Architecture/ScriptableObjects/Events/Game Events/Vector2GameEvent.cs.meta new file mode 100644 index 0000000..cf43873 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Game Events/Vector2GameEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: af431fd991bb72547b8ce3cfddedc849 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 0741d3e29c24e99459047844e03d4ea0, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Game Events/Vector3GameEvent.cs b/Architecture/ScriptableObjects/Events/Game Events/Vector3GameEvent.cs new file mode 100644 index 0000000..316eac3 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Game Events/Vector3GameEvent.cs @@ -0,0 +1,13 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + [CreateAssetMenu( + fileName = "Vector3GameEvent.asset", + menuName = SOArchitecture_Utility.GAME_EVENT + "Structs/Vector3", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_EVENTS + 11)] + public sealed class Vector3GameEvent : GameEventBase + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Game Events/Vector3GameEvent.cs.meta b/Architecture/ScriptableObjects/Events/Game Events/Vector3GameEvent.cs.meta new file mode 100644 index 0000000..cb8fa35 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Game Events/Vector3GameEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b75938839174f924db08cf0efcf049f1 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 080a7a46359356e4583460b1fe0e33a6, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Game Events/Vector4GameEvent.cs b/Architecture/ScriptableObjects/Events/Game Events/Vector4GameEvent.cs new file mode 100644 index 0000000..c71eddd --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Game Events/Vector4GameEvent.cs @@ -0,0 +1,13 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + [CreateAssetMenu( + fileName = "Vector4GameEvent.asset", + menuName = SOArchitecture_Utility.GAME_EVENT + "Structs/Vector4", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_EVENTS + 12)] + public sealed class Vector4GameEvent : GameEventBase + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Game Events/Vector4GameEvent.cs.meta b/Architecture/ScriptableObjects/Events/Game Events/Vector4GameEvent.cs.meta new file mode 100644 index 0000000..2eb0195 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Game Events/Vector4GameEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b636b9a32c4132249954f829d103165e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 754d99873c117874bbec827216ab237c, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Listeners.meta b/Architecture/ScriptableObjects/Events/Listeners.meta new file mode 100644 index 0000000..b21c884 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Listeners.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6d7451bd0ddefb548a9eb989bfcf1543 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Listeners/AudioClipGameEventListener.cs b/Architecture/ScriptableObjects/Events/Listeners/AudioClipGameEventListener.cs new file mode 100644 index 0000000..df41aae --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Listeners/AudioClipGameEventListener.cs @@ -0,0 +1,10 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [AddComponentMenu(SOArchitecture_Utility.EVENT_LISTENER_SUBMENU + "AudioClip Event Listener")] + public sealed class AudioClipGameEventListener : BaseGameEventListener + { + + } +} diff --git a/Architecture/ScriptableObjects/Events/Listeners/AudioClipGameEventListener.cs.meta b/Architecture/ScriptableObjects/Events/Listeners/AudioClipGameEventListener.cs.meta new file mode 100644 index 0000000..c67d645 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Listeners/AudioClipGameEventListener.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1b59f62474a8441eb57693365ea24e83 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 36a2235e5afe05546bc4fec9c7e453c4, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Listeners/BaseGameEventListener.cs b/Architecture/ScriptableObjects/Events/Listeners/BaseGameEventListener.cs new file mode 100644 index 0000000..36f6ae2 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Listeners/BaseGameEventListener.cs @@ -0,0 +1,299 @@ +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.Events; + +#if UNITY_EDITOR +using UnityEditor; +#endif + +namespace ScriptableObjectArchitecture +{ + public abstract class BaseGameEventListener : DebuggableGameEventListener, IGameEventListener +where TEvent : GameEventBase +where TResponse : UnityEvent + { + protected override ScriptableObject GameEvent { get { return _event; } } + protected override UnityEventBase Response { get { return _response; } } + + [SerializeField] + private TEvent _previouslyRegisteredEvent = default(TEvent); + [SerializeField] + private TEvent _event = default(TEvent); + [SerializeField] + private TResponse _response = default(TResponse); + + [SerializeField] + protected TType _debugValue = default(TType); + + public void OnEventRaised(TType value) + { + RaiseResponse(value); + + CreateDebugEntry(_response); + + AddStackTrace(value); + } + private void RaiseResponse(TType value) + { + _response.Invoke(value); + } + private void OnEnable() + { + if (_event != null) + Register(); + } + private void OnDisable() + { + if (_event != null) + _event.RemoveListener(this); + } + private void Register() + { + if (_previouslyRegisteredEvent != null) + { + _previouslyRegisteredEvent.RemoveListener(this); + } + + _event.AddListener(this); + _previouslyRegisteredEvent = _event; + } + } + public abstract class BaseGameEventListener : DebuggableGameEventListener, IGameEventListener + where TEvent : GameEventBase + where TResponse : UnityEvent + { + protected override ScriptableObject GameEvent { get { return _event; } } + protected override UnityEventBase Response { get { return _response; } } + + [SerializeField] + private TEvent _previouslyRegisteredEvent = default(TEvent); + [SerializeField] + private TEvent _event = default(TEvent); + [SerializeField] + private TResponse _response = default(TResponse); + + public void OnEventRaised() + { + RaiseResponse(); + + CreateDebugEntry(_response); + + AddStackTrace(); + } + protected void RaiseResponse() + { + _response.Invoke(); + } + private void OnEnable() + { + if (_event != null) + Register(); + } + private void OnDisable() + { + if (_event != null) + _event.RemoveListener(this); + } + private void Register() + { + if (_previouslyRegisteredEvent != null) + { + _previouslyRegisteredEvent.RemoveListener(this); + } + + _event.AddListener(this); + _previouslyRegisteredEvent = _event; + } + } + public abstract class DebuggableGameEventListener : SOArchitectureBaseMonobehaviour, IStackTraceObject + { +#pragma warning disable 0414 + [SerializeField] + private bool _showDebugFields = false; + [SerializeField] + private bool _enableGizmoDebugging = true; + [SerializeField] + private Color _debugColor = Color.cyan; +#pragma warning restore + + public List StackTraces { get { return _stackTraces; } } + private List _stackTraces = new List(); + + protected abstract ScriptableObject GameEvent { get; } + protected abstract UnityEventBase Response { get; } + + public void AddStackTrace(object obj) + { +#if UNITY_EDITOR + StackTraces.Insert(0, StackTraceEntry.Create(obj)); +#endif + } + public void AddStackTrace() + { +#if UNITY_EDITOR + StackTraces.Insert(0, StackTraceEntry.Create()); +#endif + } + protected void CreateDebugEntry(UnityEventBase response) + { +#if UNITY_EDITOR + for (int i = 0; i < response.GetPersistentEventCount(); i++) + { + GameObject gameObjectTarget = GetGameObject(response.GetPersistentTarget(i)); + + if (gameObject == null || gameObjectTarget == null) + continue; + + if (Vector3.Distance(gameObject.transform.position, gameObjectTarget.transform.position) <= EVENT_MIN_DISTANCE) + continue; + + string targetName = gameObject ? gameObject.name : "Null"; + + string functionName = string.Format("{0} ({1})", targetName, response.GetPersistentMethodName(i)); + + _debugEntries.Add(new DebugEvent(gameObjectTarget, functionName)); + } +#endif + } + +#if UNITY_EDITOR + private const float DOTTED_LINE_LENGTH = 5; + private const float DOT_LENGTH = 0.5f; + private const float DOT_WIDTH = 3; + private const float EVENT_MOVEMENT_SPEED = 3; + private const float EVENT_MIN_DISTANCE = 0.3f; + + private List _debugEntries = new List(); + + private static class Styles + { + static Styles() + { + TextStyle = new GUIStyle(); + TextStyle.alignment = TextAnchor.UpperCenter; + } + + public static GUIStyle TextStyle; + } + private void OnDrawGizmos() + { + UpdateDebugInfo(); + } + private void UpdateDebugInfo() + { + Handles.color = _debugColor; + Styles.TextStyle.normal.textColor = _debugColor; + + DrawLine(); + DrawEvents(); + } + private void DrawEvents() + { + for (int i = _debugEntries.Count - 1; i >= 0; i--) + { + DrawEvent(i); + } + } + private void DrawEvent(int index) + { + DebugEvent debugEvent = _debugEntries[index]; + + if (debugEvent.Target == null) + return; + + debugEvent.Offset += EVENT_MOVEMENT_SPEED * Time.deltaTime; + + Vector3 delta = (debugEvent.Target.transform.position - gameObject.transform.position).normalized; + Vector3 position = gameObject.transform.position + (delta * debugEvent.Offset); + + DrawPoint(position, delta); + DrawText(position, debugEvent); + + if (debugEvent.Offset >= Vector3.Distance(gameObject.transform.position, debugEvent.Target.transform.position)) + { + _debugEntries.RemoveAt(index); + } + } + private void DrawText(Vector3 position, DebugEvent debugEvent) + { + if (!EnableGizmoDebuggin()) + return; + + string text = string.Join("\n", new string[] { GameEvent.name, debugEvent.FunctionName }); + + Handles.Label(position, text, Styles.TextStyle); + } + private void DrawLine() + { + if (!EnableGizmoDebuggin()) + return; + + List listeningObjects = new List(); + + for (int i = 0; i < Response.GetPersistentEventCount(); i++) + { + AddObject(listeningObjects, Response.GetPersistentTarget(i)); + } + + foreach (GameObject obj in listeningObjects) + { + if (gameObject == obj) + continue; + + Handles.DrawDottedLine(transform.position, obj.transform.position, DOTTED_LINE_LENGTH); + } + } + private void DrawPoint(Vector3 position, Vector3 direction) + { + if (EnableGizmoDebuggin()) + Handles.DrawAAPolyLine(DOT_WIDTH, position, position + (direction.normalized * DOT_LENGTH)); + } + private bool EnableGizmoDebuggin() + { + if (!SOArchitecturePreferences.AreGizmosEnabled) + return false; + + return _enableGizmoDebugging; + } + private void AddObject(List listeningObjects, Object obj) + { + GameObject toAdd = GetGameObject(obj); + + if (!listeningObjects.Contains(toAdd) && toAdd != null) + { + listeningObjects.Add(toAdd); + } + } + private GameObject GetGameObject(Object obj) + { + if (obj is Component) + { + Component component = obj as Component; + + return component.gameObject; + } + else if (obj is GameObject) + { + return obj as GameObject; + } + else + { + return null; + } + } + private class DebugEvent + { + public DebugEvent(GameObject target, string methodName) + { + FunctionName = methodName; + Target = target; + Offset = 0; + } + + public float Offset; + public GameObject Target; + public string FunctionName; + } +#endif + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Listeners/BaseGameEventListener.cs.meta b/Architecture/ScriptableObjects/Events/Listeners/BaseGameEventListener.cs.meta new file mode 100644 index 0000000..b6fce82 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Listeners/BaseGameEventListener.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d82959ddb81d24849a535c0f50cd5da0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Listeners/BoolGameEventListener.cs b/Architecture/ScriptableObjects/Events/Listeners/BoolGameEventListener.cs new file mode 100644 index 0000000..08b2dc4 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Listeners/BoolGameEventListener.cs @@ -0,0 +1,9 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [AddComponentMenu(SOArchitecture_Utility.EVENT_LISTENER_SUBMENU + "bool Event Listener")] + public sealed class BoolGameEventListener : BaseGameEventListener + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Listeners/BoolGameEventListener.cs.meta b/Architecture/ScriptableObjects/Events/Listeners/BoolGameEventListener.cs.meta new file mode 100644 index 0000000..11d0f3d --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Listeners/BoolGameEventListener.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 791e3eca91bfc2e41b38477d0ecfaf1b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 0a7ed637e2dd165478285bafdb1250e6, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Listeners/ByteGameEventListener.cs b/Architecture/ScriptableObjects/Events/Listeners/ByteGameEventListener.cs new file mode 100644 index 0000000..ccdbaf7 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Listeners/ByteGameEventListener.cs @@ -0,0 +1,9 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [AddComponentMenu(SOArchitecture_Utility.EVENT_LISTENER_SUBMENU + "byte Event Listener")] + public sealed class ByteGameEventListener : BaseGameEventListener + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Listeners/ByteGameEventListener.cs.meta b/Architecture/ScriptableObjects/Events/Listeners/ByteGameEventListener.cs.meta new file mode 100644 index 0000000..394e355 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Listeners/ByteGameEventListener.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f6194dca413170b4b925eefba3cb241d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 1366bcc91c88f8d49af86093a00675ca, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Listeners/CharGameEventListener.cs b/Architecture/ScriptableObjects/Events/Listeners/CharGameEventListener.cs new file mode 100644 index 0000000..b681cab --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Listeners/CharGameEventListener.cs @@ -0,0 +1,9 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [AddComponentMenu(SOArchitecture_Utility.EVENT_LISTENER_SUBMENU + "char Event Listener")] + public sealed class CharGameEventListener : BaseGameEventListener + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Listeners/CharGameEventListener.cs.meta b/Architecture/ScriptableObjects/Events/Listeners/CharGameEventListener.cs.meta new file mode 100644 index 0000000..72c2669 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Listeners/CharGameEventListener.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1871aebd7c0e4f94e98915573eadb3bb +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 7e74d7e3dbfe03141aaabb8bec5594dd, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Listeners/DoubleGameEventListener.cs b/Architecture/ScriptableObjects/Events/Listeners/DoubleGameEventListener.cs new file mode 100644 index 0000000..fe0b9fe --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Listeners/DoubleGameEventListener.cs @@ -0,0 +1,9 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [AddComponentMenu(SOArchitecture_Utility.EVENT_LISTENER_SUBMENU + "double Event Listener")] + public sealed class DoubleGameEventListener : BaseGameEventListener + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Listeners/DoubleGameEventListener.cs.meta b/Architecture/ScriptableObjects/Events/Listeners/DoubleGameEventListener.cs.meta new file mode 100644 index 0000000..e434333 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Listeners/DoubleGameEventListener.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8f1a200f48d0a584c9e8eed9b0b42f2b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 93a3623d2d3a46340ab7381b57d8bb5e, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Listeners/FloatGameEventListener.cs b/Architecture/ScriptableObjects/Events/Listeners/FloatGameEventListener.cs new file mode 100644 index 0000000..66f651d --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Listeners/FloatGameEventListener.cs @@ -0,0 +1,9 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [AddComponentMenu(SOArchitecture_Utility.EVENT_LISTENER_SUBMENU + "float Event Listener")] + public sealed class FloatGameEventListener : BaseGameEventListener + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Listeners/FloatGameEventListener.cs.meta b/Architecture/ScriptableObjects/Events/Listeners/FloatGameEventListener.cs.meta new file mode 100644 index 0000000..7bc7e9e --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Listeners/FloatGameEventListener.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d803b71d5100f2f43b3d93b8d7210303 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 371b4f30d6038eb469aee486b44a7477, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Listeners/GameEventListener.cs b/Architecture/ScriptableObjects/Events/Listeners/GameEventListener.cs new file mode 100644 index 0000000..24d8a8e --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Listeners/GameEventListener.cs @@ -0,0 +1,11 @@ +using UnityEngine; +using UnityEngine.Events; + +namespace ScriptableObjectArchitecture +{ + [AddComponentMenu(SOArchitecture_Utility.EVENT_LISTENER_SUBMENU + "Game Event Listener")] + [ExecuteInEditMode] + public sealed class GameEventListener : BaseGameEventListener + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Listeners/GameEventListener.cs.meta b/Architecture/ScriptableObjects/Events/Listeners/GameEventListener.cs.meta new file mode 100644 index 0000000..9e07b06 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Listeners/GameEventListener.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5758ca93461aeeb4589456a052b07d74 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 07bf2c049b0c8c4429bb340d0e8ced0a, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Listeners/GameObjectGameEventListener.cs b/Architecture/ScriptableObjects/Events/Listeners/GameObjectGameEventListener.cs new file mode 100644 index 0000000..0b0daf6 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Listeners/GameObjectGameEventListener.cs @@ -0,0 +1,9 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [AddComponentMenu(SOArchitecture_Utility.EVENT_LISTENER_SUBMENU + "GameObject Event Listener")] + public sealed class GameObjectGameEventListener : BaseGameEventListener + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Listeners/GameObjectGameEventListener.cs.meta b/Architecture/ScriptableObjects/Events/Listeners/GameObjectGameEventListener.cs.meta new file mode 100644 index 0000000..727c230 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Listeners/GameObjectGameEventListener.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6781b467167175a45a272c3787c44109 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: fea60d815ebdac44b8d8e6caff43ff47, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Listeners/IGameEventListener.cs b/Architecture/ScriptableObjects/Events/Listeners/IGameEventListener.cs new file mode 100644 index 0000000..27b09f6 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Listeners/IGameEventListener.cs @@ -0,0 +1,11 @@ +namespace ScriptableObjectArchitecture +{ + public interface IGameEventListener + { + void OnEventRaised(T value); + } + public interface IGameEventListener + { + void OnEventRaised(); + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Listeners/IGameEventListener.cs.meta b/Architecture/ScriptableObjects/Events/Listeners/IGameEventListener.cs.meta new file mode 100644 index 0000000..34ef8fa --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Listeners/IGameEventListener.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: eedb9bf0e89513e45b659223e5eb8d37 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Listeners/IntGameEventListener.cs b/Architecture/ScriptableObjects/Events/Listeners/IntGameEventListener.cs new file mode 100644 index 0000000..e24ca91 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Listeners/IntGameEventListener.cs @@ -0,0 +1,9 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [AddComponentMenu(SOArchitecture_Utility.EVENT_LISTENER_SUBMENU + "int Event Listener")] + public sealed class IntGameEventListener : BaseGameEventListener + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Listeners/IntGameEventListener.cs.meta b/Architecture/ScriptableObjects/Events/Listeners/IntGameEventListener.cs.meta new file mode 100644 index 0000000..54a3f69 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Listeners/IntGameEventListener.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 094217878ac039741aa004dbc1f81b20 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: ec13abd4acac26f498ad89c93b09cf0d, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Listeners/LongGameEventListener.cs b/Architecture/ScriptableObjects/Events/Listeners/LongGameEventListener.cs new file mode 100644 index 0000000..07f86fa --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Listeners/LongGameEventListener.cs @@ -0,0 +1,9 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [AddComponentMenu(SOArchitecture_Utility.EVENT_LISTENER_SUBMENU + "long Event Listener")] + public sealed class LongGameEventListener : BaseGameEventListener + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Listeners/LongGameEventListener.cs.meta b/Architecture/ScriptableObjects/Events/Listeners/LongGameEventListener.cs.meta new file mode 100644 index 0000000..57bd8bf --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Listeners/LongGameEventListener.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 94cbef02f7f71544dbcec12dedfe5151 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 5302bfcf6cc90f644b97ab8014833aac, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Listeners/ObjectGameEventListener.cs b/Architecture/ScriptableObjects/Events/Listeners/ObjectGameEventListener.cs new file mode 100644 index 0000000..6ae7035 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Listeners/ObjectGameEventListener.cs @@ -0,0 +1,9 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [AddComponentMenu(SOArchitecture_Utility.EVENT_LISTENER_SUBMENU + "Object Event Listener")] + public class ObjectGameEventListener : BaseGameEventListener + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Listeners/ObjectGameEventListener.cs.meta b/Architecture/ScriptableObjects/Events/Listeners/ObjectGameEventListener.cs.meta new file mode 100644 index 0000000..ba7ce58 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Listeners/ObjectGameEventListener.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e75cfec541807964a9e0c8e7a9eff17d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 982f0ec9d767e9049ac1fdca7b8cdd1e, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Listeners/QuaternionGameEventListener.cs b/Architecture/ScriptableObjects/Events/Listeners/QuaternionGameEventListener.cs new file mode 100644 index 0000000..b9dec09 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Listeners/QuaternionGameEventListener.cs @@ -0,0 +1,9 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [AddComponentMenu(SOArchitecture_Utility.EVENT_LISTENER_SUBMENU + "Quaternion Event Listener")] + public sealed class QuaternionGameEventListener : BaseGameEventListener + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Listeners/QuaternionGameEventListener.cs.meta b/Architecture/ScriptableObjects/Events/Listeners/QuaternionGameEventListener.cs.meta new file mode 100644 index 0000000..ba7844e --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Listeners/QuaternionGameEventListener.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 88796d412edcc8f48b60be693e50cb8d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 16810fefe2a316d43bfcc74d75303450, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Listeners/SByteGameEventListener.cs b/Architecture/ScriptableObjects/Events/Listeners/SByteGameEventListener.cs new file mode 100644 index 0000000..4368b91 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Listeners/SByteGameEventListener.cs @@ -0,0 +1,9 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [AddComponentMenu(SOArchitecture_Utility.EVENT_LISTENER_SUBMENU + "sbyte Event Listener")] + public sealed class SByteGameEventListener : BaseGameEventListener + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Listeners/SByteGameEventListener.cs.meta b/Architecture/ScriptableObjects/Events/Listeners/SByteGameEventListener.cs.meta new file mode 100644 index 0000000..0435765 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Listeners/SByteGameEventListener.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4adf1a65d9cd10648a881a2cf35dd83c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 8ee0d00280544c942bc17b01d58957e0, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Listeners/ShortGameEventListener.cs b/Architecture/ScriptableObjects/Events/Listeners/ShortGameEventListener.cs new file mode 100644 index 0000000..cdc43ae --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Listeners/ShortGameEventListener.cs @@ -0,0 +1,9 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [AddComponentMenu(SOArchitecture_Utility.EVENT_LISTENER_SUBMENU + "short Event Listener")] + public sealed class ShortGameEventListener : BaseGameEventListener + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Listeners/ShortGameEventListener.cs.meta b/Architecture/ScriptableObjects/Events/Listeners/ShortGameEventListener.cs.meta new file mode 100644 index 0000000..f056c91 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Listeners/ShortGameEventListener.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6e9a0b17e101d3c4190657efdb38f1e6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 22351f9129a3e6c4cbfde628035c9536, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Listeners/StringGameEventListener.cs b/Architecture/ScriptableObjects/Events/Listeners/StringGameEventListener.cs new file mode 100644 index 0000000..cfe9ece --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Listeners/StringGameEventListener.cs @@ -0,0 +1,9 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [AddComponentMenu(SOArchitecture_Utility.EVENT_LISTENER_SUBMENU + "string Event Listener")] + public sealed class StringGameEventListener : BaseGameEventListener + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Listeners/StringGameEventListener.cs.meta b/Architecture/ScriptableObjects/Events/Listeners/StringGameEventListener.cs.meta new file mode 100644 index 0000000..a7eaee9 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Listeners/StringGameEventListener.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 636b72f8fc644b4418a9e8ad0f4f804f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: e97e7e05814646c42bea6f15dde77ec7, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Listeners/UIntGameEventListener.cs b/Architecture/ScriptableObjects/Events/Listeners/UIntGameEventListener.cs new file mode 100644 index 0000000..95f6351 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Listeners/UIntGameEventListener.cs @@ -0,0 +1,9 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [AddComponentMenu(SOArchitecture_Utility.EVENT_LISTENER_SUBMENU + "uint Event Listener")] + public sealed class UIntGameEventListener : BaseGameEventListener + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Listeners/UIntGameEventListener.cs.meta b/Architecture/ScriptableObjects/Events/Listeners/UIntGameEventListener.cs.meta new file mode 100644 index 0000000..ac50aa5 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Listeners/UIntGameEventListener.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a5091be38cc20704b89afed3c2b69bd6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 8a31b7cfff051734e89376e9ec642e00, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Listeners/ULongGameEventListener.cs b/Architecture/ScriptableObjects/Events/Listeners/ULongGameEventListener.cs new file mode 100644 index 0000000..dc584ed --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Listeners/ULongGameEventListener.cs @@ -0,0 +1,9 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [AddComponentMenu(SOArchitecture_Utility.EVENT_LISTENER_SUBMENU + "ulong Event Listener")] + public sealed class ULongGameEventListener : BaseGameEventListener + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Listeners/ULongGameEventListener.cs.meta b/Architecture/ScriptableObjects/Events/Listeners/ULongGameEventListener.cs.meta new file mode 100644 index 0000000..6ec2625 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Listeners/ULongGameEventListener.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 03901376b0e91c74bac7eda1446b713b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 3abdecaad047e2843a1ef76f56b5bc49, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Listeners/UShortGameEventListener.cs b/Architecture/ScriptableObjects/Events/Listeners/UShortGameEventListener.cs new file mode 100644 index 0000000..a53d4bd --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Listeners/UShortGameEventListener.cs @@ -0,0 +1,9 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [AddComponentMenu(SOArchitecture_Utility.EVENT_LISTENER_SUBMENU + "ushort Event Listener")] + public sealed class UShortGameEventListener : BaseGameEventListener + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Listeners/UShortGameEventListener.cs.meta b/Architecture/ScriptableObjects/Events/Listeners/UShortGameEventListener.cs.meta new file mode 100644 index 0000000..1a5df03 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Listeners/UShortGameEventListener.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9d76aea420767b245834c888f014446f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 75495cf3dcb9a53418f9ee3d6dd765bd, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Listeners/Vector2GameEventListener.cs b/Architecture/ScriptableObjects/Events/Listeners/Vector2GameEventListener.cs new file mode 100644 index 0000000..7ad7527 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Listeners/Vector2GameEventListener.cs @@ -0,0 +1,9 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [AddComponentMenu(SOArchitecture_Utility.EVENT_LISTENER_SUBMENU + "Vector2 Event Listener")] + public sealed class Vector2GameEventListener : BaseGameEventListener + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Listeners/Vector2GameEventListener.cs.meta b/Architecture/ScriptableObjects/Events/Listeners/Vector2GameEventListener.cs.meta new file mode 100644 index 0000000..15387af --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Listeners/Vector2GameEventListener.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4b54fa01acca67d41bb950e0d324bfcf +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 37ea5f5d3b06f5d4ab8fc2ecbcec891b, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Listeners/Vector3GameEventListener.cs b/Architecture/ScriptableObjects/Events/Listeners/Vector3GameEventListener.cs new file mode 100644 index 0000000..45143b5 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Listeners/Vector3GameEventListener.cs @@ -0,0 +1,9 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [AddComponentMenu(SOArchitecture_Utility.EVENT_LISTENER_SUBMENU + "Vector3 Event Listener")] + public sealed class Vector3GameEventListener : BaseGameEventListener + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Listeners/Vector3GameEventListener.cs.meta b/Architecture/ScriptableObjects/Events/Listeners/Vector3GameEventListener.cs.meta new file mode 100644 index 0000000..6561748 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Listeners/Vector3GameEventListener.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ac2fc5a78b7e63945bfa39128a8eefc4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 93f8ba988ec5d26429a948bdde52d41b, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Listeners/Vector4GameEventListener.cs b/Architecture/ScriptableObjects/Events/Listeners/Vector4GameEventListener.cs new file mode 100644 index 0000000..dd45131 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Listeners/Vector4GameEventListener.cs @@ -0,0 +1,9 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [AddComponentMenu(SOArchitecture_Utility.EVENT_LISTENER_SUBMENU + "Vector4 Event Listener")] + public sealed class Vector4GameEventListener : BaseGameEventListener + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Listeners/Vector4GameEventListener.cs.meta b/Architecture/ScriptableObjects/Events/Listeners/Vector4GameEventListener.cs.meta new file mode 100644 index 0000000..228d0e7 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Listeners/Vector4GameEventListener.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 29210de1b924b2447875a0db5f4aa28a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 5aaf554fc7cbc374696da1e7fef6f36d, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Responses.meta b/Architecture/ScriptableObjects/Events/Responses.meta new file mode 100644 index 0000000..4cb3f9f --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Responses.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e533ae2ef8c16bd439b946276b4f0f4e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Responses/AudioClipUnityEvent.cs b/Architecture/ScriptableObjects/Events/Responses/AudioClipUnityEvent.cs new file mode 100644 index 0000000..36b05e7 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Responses/AudioClipUnityEvent.cs @@ -0,0 +1,11 @@ +using UnityEngine; +using UnityEngine.Events; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public sealed class AudioClipUnityEvent : UnityEvent + { + + } +} diff --git a/Architecture/ScriptableObjects/Events/Responses/AudioClipUnityEvent.cs.meta b/Architecture/ScriptableObjects/Events/Responses/AudioClipUnityEvent.cs.meta new file mode 100644 index 0000000..17292c2 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Responses/AudioClipUnityEvent.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 7dfc7e5eb87c48ffbd1ea05999025055 +timeCreated: 1572335662 \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Responses/BoolUnityEvent.cs b/Architecture/ScriptableObjects/Events/Responses/BoolUnityEvent.cs new file mode 100644 index 0000000..bf2078e --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Responses/BoolUnityEvent.cs @@ -0,0 +1,9 @@ +using UnityEngine.Events; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public sealed class BoolUnityEvent : UnityEvent + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Responses/BoolUnityEvent.cs.meta b/Architecture/ScriptableObjects/Events/Responses/BoolUnityEvent.cs.meta new file mode 100644 index 0000000..7663d6e --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Responses/BoolUnityEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 85a8329bdc5c13f4dbb905211376f2ad +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Responses/ByteUnityEvent.cs b/Architecture/ScriptableObjects/Events/Responses/ByteUnityEvent.cs new file mode 100644 index 0000000..896b6c8 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Responses/ByteUnityEvent.cs @@ -0,0 +1,9 @@ +using UnityEngine.Events; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public sealed class ByteUnityEvent : UnityEvent + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Responses/ByteUnityEvent.cs.meta b/Architecture/ScriptableObjects/Events/Responses/ByteUnityEvent.cs.meta new file mode 100644 index 0000000..18e18c8 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Responses/ByteUnityEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c2241684fa1fedc469507f17bf259e44 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Responses/CharUnityEvent.cs b/Architecture/ScriptableObjects/Events/Responses/CharUnityEvent.cs new file mode 100644 index 0000000..34c1bb9 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Responses/CharUnityEvent.cs @@ -0,0 +1,9 @@ +using UnityEngine.Events; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public sealed class CharUnityEvent : UnityEvent + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Responses/CharUnityEvent.cs.meta b/Architecture/ScriptableObjects/Events/Responses/CharUnityEvent.cs.meta new file mode 100644 index 0000000..fbf0623 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Responses/CharUnityEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: fa9c2325dbea90247b69a5e39fe44929 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Responses/DoubleUnityEvent.cs b/Architecture/ScriptableObjects/Events/Responses/DoubleUnityEvent.cs new file mode 100644 index 0000000..4a6c3c0 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Responses/DoubleUnityEvent.cs @@ -0,0 +1,9 @@ +using UnityEngine.Events; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public sealed class DoubleUnityEvent : UnityEvent + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Responses/DoubleUnityEvent.cs.meta b/Architecture/ScriptableObjects/Events/Responses/DoubleUnityEvent.cs.meta new file mode 100644 index 0000000..88f56d8 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Responses/DoubleUnityEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d8e441c654518c648ba6faed2b5b443d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Responses/FloatUnityEvent.cs b/Architecture/ScriptableObjects/Events/Responses/FloatUnityEvent.cs new file mode 100644 index 0000000..9782181 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Responses/FloatUnityEvent.cs @@ -0,0 +1,9 @@ +using UnityEngine.Events; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public sealed class FloatUnityEvent : UnityEvent + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Responses/FloatUnityEvent.cs.meta b/Architecture/ScriptableObjects/Events/Responses/FloatUnityEvent.cs.meta new file mode 100644 index 0000000..b349923 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Responses/FloatUnityEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8075f21c92d426b4ca92c55ed46d31bd +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Responses/GameObjectUnityEvent.cs b/Architecture/ScriptableObjects/Events/Responses/GameObjectUnityEvent.cs new file mode 100644 index 0000000..f424068 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Responses/GameObjectUnityEvent.cs @@ -0,0 +1,10 @@ +using UnityEngine; +using UnityEngine.Events; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public sealed class GameObjectUnityEvent : UnityEvent + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Responses/GameObjectUnityEvent.cs.meta b/Architecture/ScriptableObjects/Events/Responses/GameObjectUnityEvent.cs.meta new file mode 100644 index 0000000..0a25d74 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Responses/GameObjectUnityEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 87bc7ad0fb0d4ff469462e972686f019 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Responses/IntUnityEvent.cs b/Architecture/ScriptableObjects/Events/Responses/IntUnityEvent.cs new file mode 100644 index 0000000..c7eb57a --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Responses/IntUnityEvent.cs @@ -0,0 +1,9 @@ +using UnityEngine.Events; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public sealed class IntUnityEvent : UnityEvent + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Responses/IntUnityEvent.cs.meta b/Architecture/ScriptableObjects/Events/Responses/IntUnityEvent.cs.meta new file mode 100644 index 0000000..103f7e8 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Responses/IntUnityEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d35c6c1d85dc4f24b9526988c34762d2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Responses/LongUnityEvent.cs b/Architecture/ScriptableObjects/Events/Responses/LongUnityEvent.cs new file mode 100644 index 0000000..b2c609e --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Responses/LongUnityEvent.cs @@ -0,0 +1,9 @@ +using UnityEngine.Events; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public sealed class LongUnityEvent : UnityEvent + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Responses/LongUnityEvent.cs.meta b/Architecture/ScriptableObjects/Events/Responses/LongUnityEvent.cs.meta new file mode 100644 index 0000000..54ac35c --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Responses/LongUnityEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8158f91dc68860c41abf5704cf27eec0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Responses/ObjectUnityEvent.cs b/Architecture/ScriptableObjects/Events/Responses/ObjectUnityEvent.cs new file mode 100644 index 0000000..96dbe21 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Responses/ObjectUnityEvent.cs @@ -0,0 +1,10 @@ +using UnityEngine; +using UnityEngine.Events; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public class ObjectUnityEvent : UnityEvent + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Responses/ObjectUnityEvent.cs.meta b/Architecture/ScriptableObjects/Events/Responses/ObjectUnityEvent.cs.meta new file mode 100644 index 0000000..52c584b --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Responses/ObjectUnityEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d1c067324aabdea479affacf96ec6b92 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Responses/QuaternionUnityEvent.cs b/Architecture/ScriptableObjects/Events/Responses/QuaternionUnityEvent.cs new file mode 100644 index 0000000..20898d7 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Responses/QuaternionUnityEvent.cs @@ -0,0 +1,10 @@ +using UnityEngine; +using UnityEngine.Events; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public sealed class QuaternionUnityEvent : UnityEvent + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Responses/QuaternionUnityEvent.cs.meta b/Architecture/ScriptableObjects/Events/Responses/QuaternionUnityEvent.cs.meta new file mode 100644 index 0000000..1680ff2 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Responses/QuaternionUnityEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: eec6843bac8cb934999ae49f526afead +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Responses/SByteUnityEvent.cs b/Architecture/ScriptableObjects/Events/Responses/SByteUnityEvent.cs new file mode 100644 index 0000000..cd3be28 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Responses/SByteUnityEvent.cs @@ -0,0 +1,9 @@ +using UnityEngine.Events; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public sealed class SByteUnityEvent : UnityEvent + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Responses/SByteUnityEvent.cs.meta b/Architecture/ScriptableObjects/Events/Responses/SByteUnityEvent.cs.meta new file mode 100644 index 0000000..c2a160a --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Responses/SByteUnityEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: de217fae323e68a41a520765f0837e41 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Responses/ShortUnityEvent.cs b/Architecture/ScriptableObjects/Events/Responses/ShortUnityEvent.cs new file mode 100644 index 0000000..38eb02e --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Responses/ShortUnityEvent.cs @@ -0,0 +1,9 @@ +using UnityEngine.Events; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public sealed class ShortUnityEvent : UnityEvent + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Responses/ShortUnityEvent.cs.meta b/Architecture/ScriptableObjects/Events/Responses/ShortUnityEvent.cs.meta new file mode 100644 index 0000000..002337c --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Responses/ShortUnityEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 990760babbaa73149b6982e48a1abacb +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Responses/StringUnityEvent.cs b/Architecture/ScriptableObjects/Events/Responses/StringUnityEvent.cs new file mode 100644 index 0000000..8d08042 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Responses/StringUnityEvent.cs @@ -0,0 +1,9 @@ +using UnityEngine.Events; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public sealed class StringUnityEvent : UnityEvent + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Responses/StringUnityEvent.cs.meta b/Architecture/ScriptableObjects/Events/Responses/StringUnityEvent.cs.meta new file mode 100644 index 0000000..9e003c4 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Responses/StringUnityEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4975f08f908c73d4a8c24d675cf25b54 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Responses/UIntUnityEvent.cs b/Architecture/ScriptableObjects/Events/Responses/UIntUnityEvent.cs new file mode 100644 index 0000000..e1f49be --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Responses/UIntUnityEvent.cs @@ -0,0 +1,9 @@ +using UnityEngine.Events; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public sealed class UIntUnityEvent : UnityEvent + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Responses/UIntUnityEvent.cs.meta b/Architecture/ScriptableObjects/Events/Responses/UIntUnityEvent.cs.meta new file mode 100644 index 0000000..e11da17 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Responses/UIntUnityEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0a32a8728790bae42a6073656a66766f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Responses/ULongUnityEvent.cs b/Architecture/ScriptableObjects/Events/Responses/ULongUnityEvent.cs new file mode 100644 index 0000000..a4f7568 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Responses/ULongUnityEvent.cs @@ -0,0 +1,9 @@ +using UnityEngine.Events; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public sealed class ULongUnityEvent : UnityEvent + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Responses/ULongUnityEvent.cs.meta b/Architecture/ScriptableObjects/Events/Responses/ULongUnityEvent.cs.meta new file mode 100644 index 0000000..6d9267d --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Responses/ULongUnityEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 449e2717b5b8f8a4a83b881126ab93b8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Responses/UShortUnityEvent.cs b/Architecture/ScriptableObjects/Events/Responses/UShortUnityEvent.cs new file mode 100644 index 0000000..e14fbf0 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Responses/UShortUnityEvent.cs @@ -0,0 +1,9 @@ +using UnityEngine.Events; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public sealed class UShortUnityEvent : UnityEvent + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Responses/UShortUnityEvent.cs.meta b/Architecture/ScriptableObjects/Events/Responses/UShortUnityEvent.cs.meta new file mode 100644 index 0000000..a3dc672 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Responses/UShortUnityEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1179e155f19fb0a4b8d51f23854b257f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Responses/Vector2UnityEvent.cs b/Architecture/ScriptableObjects/Events/Responses/Vector2UnityEvent.cs new file mode 100644 index 0000000..2f4cfa0 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Responses/Vector2UnityEvent.cs @@ -0,0 +1,10 @@ +using UnityEngine; +using UnityEngine.Events; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public sealed class Vector2UnityEvent : UnityEvent + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Responses/Vector2UnityEvent.cs.meta b/Architecture/ScriptableObjects/Events/Responses/Vector2UnityEvent.cs.meta new file mode 100644 index 0000000..4dcddcc --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Responses/Vector2UnityEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 04056892f5e8cfc41bff0d2709f85263 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Responses/Vector3UnityEvent.cs b/Architecture/ScriptableObjects/Events/Responses/Vector3UnityEvent.cs new file mode 100644 index 0000000..e6471e7 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Responses/Vector3UnityEvent.cs @@ -0,0 +1,10 @@ +using UnityEngine; +using UnityEngine.Events; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public sealed class Vector3UnityEvent : UnityEvent + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Responses/Vector3UnityEvent.cs.meta b/Architecture/ScriptableObjects/Events/Responses/Vector3UnityEvent.cs.meta new file mode 100644 index 0000000..e84bd73 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Responses/Vector3UnityEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 77b5b9fa517d55e439c2886283c1c640 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Events/Responses/Vector4UnityEvent.cs b/Architecture/ScriptableObjects/Events/Responses/Vector4UnityEvent.cs new file mode 100644 index 0000000..434f429 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Responses/Vector4UnityEvent.cs @@ -0,0 +1,10 @@ +using UnityEngine; +using UnityEngine.Events; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public sealed class Vector4UnityEvent : UnityEvent + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Events/Responses/Vector4UnityEvent.cs.meta b/Architecture/ScriptableObjects/Events/Responses/Vector4UnityEvent.cs.meta new file mode 100644 index 0000000..0ff32d0 --- /dev/null +++ b/Architecture/ScriptableObjects/Events/Responses/Vector4UnityEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 28ebf41b05633bf4cb7d8894199971c6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Examples.meta b/Architecture/ScriptableObjects/Examples.meta new file mode 100644 index 0000000..81feabb --- /dev/null +++ b/Architecture/ScriptableObjects/Examples.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 02eee3f6dbfff4541a51da4284249326 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Examples/Objects.meta b/Architecture/ScriptableObjects/Examples/Objects.meta new file mode 100644 index 0000000..d05ce07 --- /dev/null +++ b/Architecture/ScriptableObjects/Examples/Objects.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 96b3bcd047eb5b641baf9ba5331b24af +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Examples/Objects/OnDisableRandomThing.asset b/Architecture/ScriptableObjects/Examples/Objects/OnDisableRandomThing.asset new file mode 100644 index 0000000..03f0ede --- /dev/null +++ b/Architecture/ScriptableObjects/Examples/Objects/OnDisableRandomThing.asset @@ -0,0 +1,15 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7a78c7052899406438e9fc79486b45c0, type: 3} + m_Name: OnDisableRandomThing + m_EditorClassIdentifier: + DeveloperDescription: + _value: diff --git a/Architecture/ScriptableObjects/Examples/Objects/OnDisableRandomThing.asset.meta b/Architecture/ScriptableObjects/Examples/Objects/OnDisableRandomThing.asset.meta new file mode 100644 index 0000000..18677fa --- /dev/null +++ b/Architecture/ScriptableObjects/Examples/Objects/OnDisableRandomThing.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: aa89c184710051e43b3123245794dda6 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Examples/Objects/OnPlayerDamaged.asset b/Architecture/ScriptableObjects/Examples/Objects/OnPlayerDamaged.asset new file mode 100644 index 0000000..9ab99a0 --- /dev/null +++ b/Architecture/ScriptableObjects/Examples/Objects/OnPlayerDamaged.asset @@ -0,0 +1,15 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7a78c7052899406438e9fc79486b45c0, type: 3} + m_Name: OnPlayerDamaged + m_EditorClassIdentifier: + DeveloperDescription: + _value: diff --git a/Architecture/ScriptableObjects/Examples/Objects/OnPlayerDamaged.asset.meta b/Architecture/ScriptableObjects/Examples/Objects/OnPlayerDamaged.asset.meta new file mode 100644 index 0000000..9cec074 --- /dev/null +++ b/Architecture/ScriptableObjects/Examples/Objects/OnPlayerDamaged.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6205baf386184bf4c879e8216918a90a +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Examples/Objects/Player Health.asset b/Architecture/ScriptableObjects/Examples/Objects/Player Health.asset new file mode 100644 index 0000000..2ce4bb7 --- /dev/null +++ b/Architecture/ScriptableObjects/Examples/Objects/Player Health.asset @@ -0,0 +1,21 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f9377ffeb64ba30478a995a8ffc78ae8, type: 3} + m_Name: Player Health + m_EditorClassIdentifier: + DeveloperDescription: 'It''s important to remember that Scriptable Objects will + not reset when you exit playmode. This means that player health is not automatically + reset + + + Simply have a separate object that contains the starting health of your player, + and make sure the health component resets on awake' + _value: -60 diff --git a/Architecture/ScriptableObjects/Examples/Objects/Player Health.asset.meta b/Architecture/ScriptableObjects/Examples/Objects/Player Health.asset.meta new file mode 100644 index 0000000..a3d19b5 --- /dev/null +++ b/Architecture/ScriptableObjects/Examples/Objects/Player Health.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 00040033833585f4b940c1e6c8d5d2e1 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Examples/Objects/Player Move Speed.asset b/Architecture/ScriptableObjects/Examples/Objects/Player Move Speed.asset new file mode 100644 index 0000000..750bd8f --- /dev/null +++ b/Architecture/ScriptableObjects/Examples/Objects/Player Move Speed.asset @@ -0,0 +1,15 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f9377ffeb64ba30478a995a8ffc78ae8, type: 3} + m_Name: Player Move Speed + m_EditorClassIdentifier: + DeveloperDescription: + _value: 0.2 diff --git a/Architecture/ScriptableObjects/Examples/Objects/Player Move Speed.asset.meta b/Architecture/ScriptableObjects/Examples/Objects/Player Move Speed.asset.meta new file mode 100644 index 0000000..3729174 --- /dev/null +++ b/Architecture/ScriptableObjects/Examples/Objects/Player Move Speed.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e764e13357fec0248ba927f62fde9779 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Examples/Objects/Player Starting Health.asset b/Architecture/ScriptableObjects/Examples/Objects/Player Starting Health.asset new file mode 100644 index 0000000..f2b9ae1 --- /dev/null +++ b/Architecture/ScriptableObjects/Examples/Objects/Player Starting Health.asset @@ -0,0 +1,15 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f9377ffeb64ba30478a995a8ffc78ae8, type: 3} + m_Name: Player Starting Health + m_EditorClassIdentifier: + DeveloperDescription: + _value: 100 diff --git a/Architecture/ScriptableObjects/Examples/Objects/Player Starting Health.asset.meta b/Architecture/ScriptableObjects/Examples/Objects/Player Starting Health.asset.meta new file mode 100644 index 0000000..619eab0 --- /dev/null +++ b/Architecture/ScriptableObjects/Examples/Objects/Player Starting Health.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b786e1b7e7eaff2459e2286b5f95b019 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Examples/Objects/Sphere Of Pain Damage.asset b/Architecture/ScriptableObjects/Examples/Objects/Sphere Of Pain Damage.asset new file mode 100644 index 0000000..c9d328e --- /dev/null +++ b/Architecture/ScriptableObjects/Examples/Objects/Sphere Of Pain Damage.asset @@ -0,0 +1,15 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f9377ffeb64ba30478a995a8ffc78ae8, type: 3} + m_Name: Sphere Of Pain Damage + m_EditorClassIdentifier: + DeveloperDescription: + _value: 10 diff --git a/Architecture/ScriptableObjects/Examples/Objects/Sphere Of Pain Damage.asset.meta b/Architecture/ScriptableObjects/Examples/Objects/Sphere Of Pain Damage.asset.meta new file mode 100644 index 0000000..9d7c940 --- /dev/null +++ b/Architecture/ScriptableObjects/Examples/Objects/Sphere Of Pain Damage.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6a37932d0acd09746b3d2a9b91fc143e +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Examples/Objects/Thing Collection.asset b/Architecture/ScriptableObjects/Examples/Objects/Thing Collection.asset new file mode 100644 index 0000000..8edc130 --- /dev/null +++ b/Architecture/ScriptableObjects/Examples/Objects/Thing Collection.asset @@ -0,0 +1,18 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 156f4052644faf645bba864aa1fd4e16, type: 3} + m_Name: Thing Collection + m_EditorClassIdentifier: + DeveloperDescription: + _value: + _items: + - {fileID: 0} + - {fileID: 1522689786157718, guid: 3768c23610dfe9140af281dcf25e1b38, type: 2} diff --git a/Architecture/ScriptableObjects/Examples/Objects/Thing Collection.asset.meta b/Architecture/ScriptableObjects/Examples/Objects/Thing Collection.asset.meta new file mode 100644 index 0000000..0af6f92 --- /dev/null +++ b/Architecture/ScriptableObjects/Examples/Objects/Thing Collection.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 711814e21a7beb249833d6173e4082cc +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Examples/Prefabs.meta b/Architecture/ScriptableObjects/Examples/Prefabs.meta new file mode 100644 index 0000000..43fa937 --- /dev/null +++ b/Architecture/ScriptableObjects/Examples/Prefabs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: dfd56da64f9e81a4b9c6be1660c4ab2c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Examples/Prefabs/Event Example Player.prefab b/Architecture/ScriptableObjects/Examples/Prefabs/Event Example Player.prefab new file mode 100644 index 0000000..3094e3b --- /dev/null +++ b/Architecture/ScriptableObjects/Examples/Prefabs/Event Example Player.prefab @@ -0,0 +1,4861 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 0} + m_RootGameObject: {fileID: 1522689786157718} + m_IsPrefabAsset: 1 +--- !u!1 &1347073845552512 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4956627087005180} + - component: {fileID: 198271439376483466} + - component: {fileID: 199587267899567076} + - component: {fileID: 114723287923023254} + m_Layer: 0 + m_Name: Particle System + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1522689786157718 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4790722713147504} + - component: {fileID: 54678892930059536} + - component: {fileID: 33804990608882674} + - component: {fileID: 23728631493493720} + - component: {fileID: 65094364359253274} + - component: {fileID: 114771994480412342} + - component: {fileID: 114212140993495922} + m_Layer: 0 + m_Name: Event Example Player + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4790722713147504 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1522689786157718} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4956627087005180} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4956627087005180 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1347073845552512} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4790722713147504} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &23728631493493720 +MeshRenderer: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1522689786157718} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 10302, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &33804990608882674 +MeshFilter: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1522689786157718} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!54 &54678892930059536 +Rigidbody: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1522689786157718} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 0 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!65 &65094364359253274 +BoxCollider: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1522689786157718} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!114 &114212140993495922 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1522689786157718} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 96e1b83887e9c9d4e8300e77aaa4f9c6, type: 3} + m_Name: + m_EditorClassIdentifier: + Health: + _useConstant: 0 + _constantValue: 0 + _variable: {fileID: 11400000, guid: 00040033833585f4b940c1e6c8d5d2e1, type: 2} + _resetOnStartup: 1 + _startingHealth: + _useConstant: 0 + _constantValue: 100 + _variable: {fileID: 11400000, guid: b786e1b7e7eaff2459e2286b5f95b019, type: 2} +--- !u!114 &114723287923023254 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1347073845552512} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5758ca93461aeeb4589456a052b07d74, type: 3} + m_Name: + m_EditorClassIdentifier: + DeveloperDescription: + _value: + _debugColor: {r: 0, g: 1, b: 1, a: 1} + _event: {fileID: 11400000, guid: 6205baf386184bf4c879e8216918a90a, type: 2} + _response: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 198271439376483466} + m_MethodName: Emit + m_Mode: 3 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 10 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.Events.UnityEvent, UnityEngine.CoreModule, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &114771994480412342 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1522689786157718} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8d7b74a36443f534fb69a2c2b26eb5ab, type: 3} + m_Name: + m_EditorClassIdentifier: + _moveSpeed: + _useConstant: 0 + _constantValue: 0 + _variable: {fileID: 11400000, guid: e764e13357fec0248ba927f62fde9779, type: 2} +--- !u!198 &198271439376483466 +ParticleSystem: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1347073845552512} + serializedVersion: 5 + lengthInSec: 1 + simulationSpeed: 1 + stopAction: 0 + looping: 0 + prewarm: 0 + playOnAwake: 0 + useUnscaledTime: 0 + autoRandomSeed: 1 + useRigidbodyForVelocity: 1 + startDelay: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + moveWithTransform: 1 + moveWithCustomTransform: {fileID: 0} + scalingMode: 1 + randomSeed: 0 + InitialModule: + serializedVersion: 3 + enabled: 1 + startLifetime: + serializedVersion: 2 + minMaxState: 0 + scalar: 0.6 + minScalar: 5 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + startSpeed: + serializedVersion: 2 + minMaxState: 0 + scalar: 5 + minScalar: 5 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + startColor: + serializedVersion: 2 + minMaxState: 0 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 0, b: 0, a: 1} + maxGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + startSize: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + startSizeY: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + startSizeZ: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + startRotationX: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + startRotationY: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + startRotation: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + randomizeRotationDirection: 0 + maxNumParticles: 1000 + size3D: 0 + rotation3D: 0 + gravityModifier: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + ShapeModule: + serializedVersion: 5 + enabled: 1 + type: 0 + angle: 25 + length: 5 + boxThickness: {x: 0, y: 0, z: 0} + radiusThickness: 1 + donutRadius: 0.2 + m_Position: {x: 0, y: 0, z: 0} + m_Rotation: {x: 0, y: 0, z: 0} + m_Scale: {x: 1, y: 1, z: 1} + placementMode: 0 + m_MeshMaterialIndex: 0 + m_MeshNormalOffset: 0 + m_Mesh: {fileID: 0} + m_MeshRenderer: {fileID: 0} + m_SkinnedMeshRenderer: {fileID: 0} + m_Sprite: {fileID: 0} + m_SpriteRenderer: {fileID: 0} + m_UseMeshMaterialIndex: 0 + m_UseMeshColors: 1 + alignToDirection: 0 + m_Texture: {fileID: 0} + m_TextureClipChannel: 3 + m_TextureClipThreshold: 0 + m_TextureUVChannel: 0 + m_TextureColorAffectsParticles: 1 + m_TextureAlphaAffectsParticles: 1 + m_TextureBilinearFiltering: 0 + randomDirectionAmount: 0 + sphericalDirectionAmount: 0 + randomPositionAmount: 0 + radius: + value: 1 + mode: 0 + spread: 0 + speed: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + arc: + value: 360 + mode: 0 + spread: 0 + speed: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + EmissionModule: + enabled: 1 + serializedVersion: 4 + rateOverTime: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 10 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + rateOverDistance: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_BurstCount: 1 + m_Bursts: + - serializedVersion: 2 + time: 0 + countCurve: + serializedVersion: 2 + minMaxState: 0 + scalar: 30 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + cycleCount: 1 + repeatInterval: 0.01 + SizeModule: + enabled: 1 + curve: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0.515892 + value: 1 + inSlope: -3.630075 + outSlope: -3.630075 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0.117649995 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + y: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + z: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + separateAxes: 0 + RotationModule: + enabled: 0 + x: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + y: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + curve: + serializedVersion: 2 + minMaxState: 0 + scalar: 0.7853982 + minScalar: 0.7853982 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + separateAxes: 0 + ColorModule: + enabled: 0 + gradient: + serializedVersion: 2 + minMaxState: 1 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 1, b: 1, a: 1} + maxGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 1, g: 1, b: 1, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 65535 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 56090 + atime2: 65535 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 3 + minGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + UVModule: + enabled: 0 + mode: 0 + frameOverTime: + serializedVersion: 2 + minMaxState: 1 + scalar: 0.9999 + minScalar: 0.9999 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + startFrame: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + tilesX: 1 + tilesY: 1 + animationType: 0 + rowIndex: 0 + cycles: 1 + uvChannelMask: -1 + flipU: 0 + flipV: 0 + randomRow: 1 + sprites: + - sprite: {fileID: 0} + VelocityModule: + enabled: 0 + x: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + y: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + z: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + orbitalX: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + orbitalY: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + orbitalZ: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + orbitalOffsetX: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + orbitalOffsetY: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + orbitalOffsetZ: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + radial: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + speedModifier: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + inWorldSpace: 0 + InheritVelocityModule: + enabled: 0 + m_Mode: 0 + m_Curve: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + ForceModule: + enabled: 0 + x: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + y: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + z: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + inWorldSpace: 0 + randomizePerFrame: 0 + ExternalForcesModule: + enabled: 0 + multiplier: 1 + ClampVelocityModule: + enabled: 0 + x: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + y: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + z: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + magnitude: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + separateAxis: 0 + inWorldSpace: 0 + multiplyDragByParticleSize: 1 + multiplyDragByParticleVelocity: 1 + dampen: 0 + drag: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + NoiseModule: + enabled: 0 + strength: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + strengthY: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + strengthZ: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + separateAxes: 0 + frequency: 0.5 + damping: 1 + octaves: 1 + octaveMultiplier: 0.5 + octaveScale: 2 + quality: 2 + scrollSpeed: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remap: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapY: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapZ: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapEnabled: 0 + positionAmount: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + rotationAmount: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + sizeAmount: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + SizeBySpeedModule: + enabled: 0 + curve: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + y: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + z: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + range: {x: 0, y: 1} + separateAxes: 0 + RotationBySpeedModule: + enabled: 0 + x: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + y: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + curve: + serializedVersion: 2 + minMaxState: 0 + scalar: 0.7853982 + minScalar: 0.7853982 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + separateAxes: 0 + range: {x: 0, y: 1} + ColorBySpeedModule: + enabled: 0 + gradient: + serializedVersion: 2 + minMaxState: 1 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 1, b: 1, a: 1} + maxGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + range: {x: 0, y: 1} + CollisionModule: + enabled: 0 + serializedVersion: 3 + type: 0 + collisionMode: 0 + colliderForce: 0 + multiplyColliderForceByParticleSize: 0 + multiplyColliderForceByParticleSpeed: 0 + multiplyColliderForceByCollisionAngle: 1 + plane0: {fileID: 0} + plane1: {fileID: 0} + plane2: {fileID: 0} + plane3: {fileID: 0} + plane4: {fileID: 0} + plane5: {fileID: 0} + m_Dampen: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_Bounce: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_EnergyLossOnCollision: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minKillSpeed: 0 + maxKillSpeed: 10000 + radiusScale: 1 + collidesWith: + serializedVersion: 2 + m_Bits: 4294967295 + maxCollisionShapes: 256 + quality: 0 + voxelSize: 0.5 + collisionMessages: 0 + collidesWithDynamic: 1 + interiorCollisions: 0 + TriggerModule: + enabled: 0 + collisionShape0: {fileID: 0} + collisionShape1: {fileID: 0} + collisionShape2: {fileID: 0} + collisionShape3: {fileID: 0} + collisionShape4: {fileID: 0} + collisionShape5: {fileID: 0} + inside: 1 + outside: 0 + enter: 0 + exit: 0 + radiusScale: 1 + SubModule: + serializedVersion: 2 + enabled: 0 + subEmitters: + - serializedVersion: 2 + emitter: {fileID: 0} + type: 0 + properties: 0 + LightsModule: + enabled: 0 + ratio: 0 + light: {fileID: 0} + randomDistribution: 1 + color: 1 + range: 1 + intensity: 1 + rangeCurve: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + intensityCurve: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + maxLights: 20 + TrailModule: + enabled: 0 + mode: 0 + ratio: 1 + lifetime: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minVertexDistance: 0.2 + textureMode: 0 + ribbonCount: 1 + worldSpace: 0 + dieWithParticles: 1 + sizeAffectsWidth: 1 + sizeAffectsLifetime: 0 + inheritParticleColor: 1 + generateLightingData: 0 + splitSubEmitterRibbons: 0 + colorOverLifetime: + serializedVersion: 2 + minMaxState: 0 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 1, b: 1, a: 1} + maxGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + widthOverTrail: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + colorOverTrail: + serializedVersion: 2 + minMaxState: 0 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 1, b: 1, a: 1} + maxGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + CustomDataModule: + enabled: 0 + mode0: 0 + vectorComponentCount0: 4 + color0: + serializedVersion: 2 + minMaxState: 0 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 1, b: 1, a: 1} + maxGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + colorLabel0: Color + vector0_0: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vectorLabel0_0: X + vector0_1: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vectorLabel0_1: Y + vector0_2: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vectorLabel0_2: Z + vector0_3: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vectorLabel0_3: W + mode1: 0 + vectorComponentCount1: 4 + color1: + serializedVersion: 2 + minMaxState: 0 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 1, b: 1, a: 1} + maxGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + colorLabel1: Color + vector1_0: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vectorLabel1_0: X + vector1_1: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vectorLabel1_1: Y + vector1_2: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vectorLabel1_2: Z + vector1_3: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vectorLabel1_3: W +--- !u!199 &199587267899567076 +ParticleSystemRenderer: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1347073845552512} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 10301, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_RenderMode: 0 + m_SortMode: 0 + m_MinParticleSize: 0 + m_MaxParticleSize: 0.5 + m_CameraVelocityScale: 0 + m_VelocityScale: 0 + m_LengthScale: 2 + m_SortingFudge: 0 + m_NormalDirection: 1 + m_RenderAlignment: 0 + m_Pivot: {x: 0, y: 0, z: 0} + m_UseCustomVertexStreams: 0 + m_EnableGPUInstancing: 1 + m_ApplyActiveColorSpace: 1 + m_VertexStreams: 00010304 + m_Mesh: {fileID: 0} + m_Mesh1: {fileID: 0} + m_Mesh2: {fileID: 0} + m_Mesh3: {fileID: 0} + m_MaskInteraction: 0 diff --git a/Architecture/ScriptableObjects/Examples/Prefabs/Event Example Player.prefab.meta b/Architecture/ScriptableObjects/Examples/Prefabs/Event Example Player.prefab.meta new file mode 100644 index 0000000..cb8103b --- /dev/null +++ b/Architecture/ScriptableObjects/Examples/Prefabs/Event Example Player.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c478e907c947a8f4fbf1ac2ffce44704 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 100100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Examples/Prefabs/Healtbar.prefab b/Architecture/ScriptableObjects/Examples/Prefabs/Healtbar.prefab new file mode 100644 index 0000000..880e0fc --- /dev/null +++ b/Architecture/ScriptableObjects/Examples/Prefabs/Healtbar.prefab @@ -0,0 +1,173 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 0} + m_RootGameObject: {fileID: 1259392919135328} + m_IsPrefabAsset: 1 +--- !u!1 &1259392919135328 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 224795495137418836} + - component: {fileID: 222110132855040950} + - component: {fileID: 114484129694845770} + m_Layer: 5 + m_Name: Healtbar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1701639925345028 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 224638073084407046} + - component: {fileID: 222957463557399966} + - component: {fileID: 114477794528480230} + - component: {fileID: 114413626718171422} + m_Layer: 5 + m_Name: Fill + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &114413626718171422 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1701639925345028} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6b4a9d4ae717c8646a08e19ec31e859c, type: 3} + m_Name: + m_EditorClassIdentifier: + _variable: + _useConstant: 0 + _constantValue: 0 + _variable: {fileID: 11400000, guid: 00040033833585f4b940c1e6c8d5d2e1, type: 2} + _maxValue: + _useConstant: 0 + _constantValue: 0 + _variable: {fileID: 11400000, guid: b786e1b7e7eaff2459e2286b5f95b019, type: 2} + _imageTarget: {fileID: 114477794528480230} +--- !u!114 &114477794528480230 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1701639925345028} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.6698113, g: 0.18009077, b: 0.18009077, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 3a202efd49d4b2a4c87c4c4ea231854b, type: 3} + m_Type: 3 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 0 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &114484129694845770 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1259392919135328} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &222110132855040950 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1259392919135328} + m_CullTransparentMesh: 0 +--- !u!222 &222957463557399966 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1701639925345028} + m_CullTransparentMesh: 0 +--- !u!224 &224638073084407046 +RectTransform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1701639925345028} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224795495137418836} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -10, y: -10} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224795495137418836 +RectTransform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1259392919135328} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224638073084407046} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 10, y: -10} + m_SizeDelta: {x: 400, y: 50} + m_Pivot: {x: 0, y: 1} diff --git a/Architecture/ScriptableObjects/Examples/Prefabs/Healtbar.prefab.meta b/Architecture/ScriptableObjects/Examples/Prefabs/Healtbar.prefab.meta new file mode 100644 index 0000000..5ec5131 --- /dev/null +++ b/Architecture/ScriptableObjects/Examples/Prefabs/Healtbar.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 30898bb5526f8f542aa93bfaac20d996 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 100100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Examples/Prefabs/Reference Example Player.prefab b/Architecture/ScriptableObjects/Examples/Prefabs/Reference Example Player.prefab new file mode 100644 index 0000000..a0b91fe --- /dev/null +++ b/Architecture/ScriptableObjects/Examples/Prefabs/Reference Example Player.prefab @@ -0,0 +1,151 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 0} + m_RootGameObject: {fileID: 1522689786157718} + m_IsPrefabAsset: 1 +--- !u!1 &1522689786157718 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4790722713147504} + - component: {fileID: 54678892930059536} + - component: {fileID: 33804990608882674} + - component: {fileID: 23728631493493720} + - component: {fileID: 65094364359253274} + - component: {fileID: 114771994480412342} + - component: {fileID: 114212140993495922} + m_Layer: 0 + m_Name: Reference Example Player + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4790722713147504 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1522689786157718} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &23728631493493720 +MeshRenderer: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1522689786157718} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 10302, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &33804990608882674 +MeshFilter: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1522689786157718} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!54 &54678892930059536 +Rigidbody: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1522689786157718} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 0 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!65 &65094364359253274 +BoxCollider: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1522689786157718} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!114 &114212140993495922 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1522689786157718} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 96e1b83887e9c9d4e8300e77aaa4f9c6, type: 3} + m_Name: + m_EditorClassIdentifier: + Health: + _useConstant: 0 + _constantValue: 0 + _variable: {fileID: 11400000, guid: 00040033833585f4b940c1e6c8d5d2e1, type: 2} + _resetOnStartup: 1 + _startingHealth: + _useConstant: 0 + _constantValue: 100 + _variable: {fileID: 11400000, guid: b786e1b7e7eaff2459e2286b5f95b019, type: 2} +--- !u!114 &114771994480412342 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1522689786157718} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8d7b74a36443f534fb69a2c2b26eb5ab, type: 3} + m_Name: + m_EditorClassIdentifier: + _moveSpeed: + _useConstant: 0 + _constantValue: 0 + _variable: {fileID: 11400000, guid: e764e13357fec0248ba927f62fde9779, type: 2} diff --git a/Architecture/ScriptableObjects/Examples/Prefabs/Reference Example Player.prefab.meta b/Architecture/ScriptableObjects/Examples/Prefabs/Reference Example Player.prefab.meta new file mode 100644 index 0000000..b47a520 --- /dev/null +++ b/Architecture/ScriptableObjects/Examples/Prefabs/Reference Example Player.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3768c23610dfe9140af281dcf25e1b38 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 100100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Examples/Prefabs/Sphere Of Pain With Event.prefab b/Architecture/ScriptableObjects/Examples/Prefabs/Sphere Of Pain With Event.prefab new file mode 100644 index 0000000..e900d11 --- /dev/null +++ b/Architecture/ScriptableObjects/Examples/Prefabs/Sphere Of Pain With Event.prefab @@ -0,0 +1,115 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 0} + m_RootGameObject: {fileID: 1881607898596468} + m_IsPrefabAsset: 1 +--- !u!1 &1881607898596468 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4839017886741306} + - component: {fileID: 33320241699146126} + - component: {fileID: 23010049106258886} + - component: {fileID: 135838003564223064} + - component: {fileID: 114978623595468858} + m_Layer: 0 + m_Name: Sphere Of Pain With Event + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4839017886741306 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1881607898596468} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2.11, y: 1.93, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &23010049106258886 +MeshRenderer: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1881607898596468} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &33320241699146126 +MeshFilter: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1881607898596468} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!114 &114978623595468858 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1881607898596468} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6091c23144d06c64b860bdfa9200353d, type: 3} + m_Name: + m_EditorClassIdentifier: + _damageAmount: + _useConstant: 0 + _constantValue: 0 + _variable: {fileID: 11400000, guid: 6a37932d0acd09746b3d2a9b91fc143e, type: 2} + _onDamagedEvent: {fileID: 11400000, guid: 6205baf386184bf4c879e8216918a90a, type: 2} +--- !u!135 &135838003564223064 +SphereCollider: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1881607898596468} + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.5 + m_Center: {x: 0, y: 0, z: 0} diff --git a/Architecture/ScriptableObjects/Examples/Prefabs/Sphere Of Pain With Event.prefab.meta b/Architecture/ScriptableObjects/Examples/Prefabs/Sphere Of Pain With Event.prefab.meta new file mode 100644 index 0000000..5b49f01 --- /dev/null +++ b/Architecture/ScriptableObjects/Examples/Prefabs/Sphere Of Pain With Event.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4be13ed8fe0751a4093279a926769b1b +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 100100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Examples/Prefabs/Sphere Of Pain.prefab b/Architecture/ScriptableObjects/Examples/Prefabs/Sphere Of Pain.prefab new file mode 100644 index 0000000..df377e8 --- /dev/null +++ b/Architecture/ScriptableObjects/Examples/Prefabs/Sphere Of Pain.prefab @@ -0,0 +1,114 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 0} + m_RootGameObject: {fileID: 1881607898596468} + m_IsPrefabAsset: 1 +--- !u!1 &1881607898596468 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4839017886741306} + - component: {fileID: 33320241699146126} + - component: {fileID: 23010049106258886} + - component: {fileID: 135838003564223064} + - component: {fileID: 114838005575915090} + m_Layer: 0 + m_Name: Sphere Of Pain + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4839017886741306 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1881607898596468} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2.11, y: 1.93, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &23010049106258886 +MeshRenderer: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1881607898596468} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &33320241699146126 +MeshFilter: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1881607898596468} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!114 &114838005575915090 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1881607898596468} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0a7bd50eba8549846a5c70229ab69aff, type: 3} + m_Name: + m_EditorClassIdentifier: + _damageAmount: + _useConstant: 0 + _constantValue: 0 + _variable: {fileID: 11400000, guid: 6a37932d0acd09746b3d2a9b91fc143e, type: 2} +--- !u!135 &135838003564223064 +SphereCollider: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1881607898596468} + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.5 + m_Center: {x: 0, y: 0, z: 0} diff --git a/Architecture/ScriptableObjects/Examples/Prefabs/Sphere Of Pain.prefab.meta b/Architecture/ScriptableObjects/Examples/Prefabs/Sphere Of Pain.prefab.meta new file mode 100644 index 0000000..a4e4c93 --- /dev/null +++ b/Architecture/ScriptableObjects/Examples/Prefabs/Sphere Of Pain.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4af3f7bae9508154aa309138a5831b06 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 100100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Examples/Scenes.meta b/Architecture/ScriptableObjects/Examples/Scenes.meta new file mode 100644 index 0000000..ea6a528 --- /dev/null +++ b/Architecture/ScriptableObjects/Examples/Scenes.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e7f435969415ad84385e64eb097a6c9c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Examples/Scenes/Example #01 - References.unity b/Architecture/ScriptableObjects/Examples/Scenes/Example #01 - References.unity new file mode 100644 index 0000000..d58b1f3 --- /dev/null +++ b/Architecture/ScriptableObjects/Examples/Scenes/Example #01 - References.unity @@ -0,0 +1,781 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 10 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringMode: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ShowResolutionOverlay: 1 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &147608476 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 147608479} + - component: {fileID: 147608478} + - component: {fileID: 147608477} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &147608477 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 147608476} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1077351063, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &147608478 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 147608476} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 10 +--- !u!4 &147608479 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 147608476} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &214446042 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 214446043} + - component: {fileID: 214446047} + - component: {fileID: 214446046} + - component: {fileID: 214446045} + - component: {fileID: 214446044} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &214446043 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 214446042} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2111935889} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: -190.94} + m_SizeDelta: {x: 371.04, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &214446044 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 214446042} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1741964061, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 0 + m_VerticalFit: 2 +--- !u!114 &214446045 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 214446042} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1573420865, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0, g: 0, b: 0, a: 0.5} + m_EffectDistance: {x: 1, y: -1} + m_UseGraphicAlpha: 1 +--- !u!114 &214446046 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 214446042} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 17 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 115 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'You can use WASD to move the cube into the spheres. Notice how the HP will + decrease. Take some time to explore the objects in the scene and their source + code. + + + You should get a picture of how the Scriptable Objects tie this together' +--- !u!222 &214446047 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 214446042} + m_CullTransparentMesh: 0 +--- !u!1 &598580665 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 598580667} + - component: {fileID: 598580666} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &598580666 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 598580665} + m_Enabled: 1 + serializedVersion: 8 + m_Type: 1 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &598580667 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 598580665} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1001 &1134496304 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 4839017886741306, guid: 4af3f7bae9508154aa309138a5831b06, type: 2} + propertyPath: m_LocalPosition.x + value: -2.11 + objectReference: {fileID: 0} + - target: {fileID: 4839017886741306, guid: 4af3f7bae9508154aa309138a5831b06, type: 2} + propertyPath: m_LocalPosition.y + value: 1.93 + objectReference: {fileID: 0} + - target: {fileID: 4839017886741306, guid: 4af3f7bae9508154aa309138a5831b06, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4839017886741306, guid: 4af3f7bae9508154aa309138a5831b06, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4839017886741306, guid: 4af3f7bae9508154aa309138a5831b06, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4839017886741306, guid: 4af3f7bae9508154aa309138a5831b06, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4839017886741306, guid: 4af3f7bae9508154aa309138a5831b06, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4839017886741306, guid: 4af3f7bae9508154aa309138a5831b06, type: 2} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 1881607898596468, guid: 4af3f7bae9508154aa309138a5831b06, type: 2} + propertyPath: m_Name + value: Sphere Of Pain (1) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 4af3f7bae9508154aa309138a5831b06, type: 2} + m_IsPrefabAsset: 0 +--- !u!1001 &1711526035 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 4790722713147504, guid: 3768c23610dfe9140af281dcf25e1b38, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4790722713147504, guid: 3768c23610dfe9140af281dcf25e1b38, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4790722713147504, guid: 3768c23610dfe9140af281dcf25e1b38, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4790722713147504, guid: 3768c23610dfe9140af281dcf25e1b38, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4790722713147504, guid: 3768c23610dfe9140af281dcf25e1b38, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4790722713147504, guid: 3768c23610dfe9140af281dcf25e1b38, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4790722713147504, guid: 3768c23610dfe9140af281dcf25e1b38, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4790722713147504, guid: 3768c23610dfe9140af281dcf25e1b38, type: 2} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 114212140993495922, guid: 3768c23610dfe9140af281dcf25e1b38, + type: 2} + propertyPath: PlayerHealth._useConstant + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 114212140993495922, guid: 3768c23610dfe9140af281dcf25e1b38, + type: 2} + propertyPath: PlayerHealth._variable + value: + objectReference: {fileID: 11400000, guid: 00040033833585f4b940c1e6c8d5d2e1, + type: 2} + - target: {fileID: 114212140993495922, guid: 3768c23610dfe9140af281dcf25e1b38, + type: 2} + propertyPath: Health._variable + value: + objectReference: {fileID: 11400000, guid: 00040033833585f4b940c1e6c8d5d2e1, + type: 2} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 3768c23610dfe9140af281dcf25e1b38, type: 2} + m_IsPrefabAsset: 0 +--- !u!224 &1728092915 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 224795495137418836, guid: 30898bb5526f8f542aa93bfaac20d996, + type: 2} + m_PrefabInternal: {fileID: 2066489708} +--- !u!1001 &1951695168 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 4839017886741306, guid: 4af3f7bae9508154aa309138a5831b06, type: 2} + propertyPath: m_LocalPosition.x + value: 2.11 + objectReference: {fileID: 0} + - target: {fileID: 4839017886741306, guid: 4af3f7bae9508154aa309138a5831b06, type: 2} + propertyPath: m_LocalPosition.y + value: 1.93 + objectReference: {fileID: 0} + - target: {fileID: 4839017886741306, guid: 4af3f7bae9508154aa309138a5831b06, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4839017886741306, guid: 4af3f7bae9508154aa309138a5831b06, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4839017886741306, guid: 4af3f7bae9508154aa309138a5831b06, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4839017886741306, guid: 4af3f7bae9508154aa309138a5831b06, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4839017886741306, guid: 4af3f7bae9508154aa309138a5831b06, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4839017886741306, guid: 4af3f7bae9508154aa309138a5831b06, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 135838003564223064, guid: 4af3f7bae9508154aa309138a5831b06, + type: 2} + propertyPath: m_IsTrigger + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 4af3f7bae9508154aa309138a5831b06, type: 2} + m_IsPrefabAsset: 0 +--- !u!1 &2032243762 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2032243765} + - component: {fileID: 2032243764} + - component: {fileID: 2032243763} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &2032243763 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2032243762} + m_Enabled: 1 +--- !u!20 &2032243764 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2032243762} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &2032243765 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2032243762} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &2066489708 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 2111935889} + m_Modifications: + - target: {fileID: 224795495137418836, guid: 30898bb5526f8f542aa93bfaac20d996, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224795495137418836, guid: 30898bb5526f8f542aa93bfaac20d996, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224795495137418836, guid: 30898bb5526f8f542aa93bfaac20d996, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224795495137418836, guid: 30898bb5526f8f542aa93bfaac20d996, + type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224795495137418836, guid: 30898bb5526f8f542aa93bfaac20d996, + type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224795495137418836, guid: 30898bb5526f8f542aa93bfaac20d996, + type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224795495137418836, guid: 30898bb5526f8f542aa93bfaac20d996, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224795495137418836, guid: 30898bb5526f8f542aa93bfaac20d996, + type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224795495137418836, guid: 30898bb5526f8f542aa93bfaac20d996, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 10 + objectReference: {fileID: 0} + - target: {fileID: 224795495137418836, guid: 30898bb5526f8f542aa93bfaac20d996, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -10 + objectReference: {fileID: 0} + - target: {fileID: 224795495137418836, guid: 30898bb5526f8f542aa93bfaac20d996, + type: 2} + propertyPath: m_SizeDelta.x + value: 400 + objectReference: {fileID: 0} + - target: {fileID: 224795495137418836, guid: 30898bb5526f8f542aa93bfaac20d996, + type: 2} + propertyPath: m_SizeDelta.y + value: 50 + objectReference: {fileID: 0} + - target: {fileID: 224795495137418836, guid: 30898bb5526f8f542aa93bfaac20d996, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224795495137418836, guid: 30898bb5526f8f542aa93bfaac20d996, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224795495137418836, guid: 30898bb5526f8f542aa93bfaac20d996, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224795495137418836, guid: 30898bb5526f8f542aa93bfaac20d996, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224795495137418836, guid: 30898bb5526f8f542aa93bfaac20d996, + type: 2} + propertyPath: m_Pivot.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224795495137418836, guid: 30898bb5526f8f542aa93bfaac20d996, + type: 2} + propertyPath: m_Pivot.y + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 30898bb5526f8f542aa93bfaac20d996, type: 2} + m_IsPrefabAsset: 0 +--- !u!1 &2111935885 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2111935889} + - component: {fileID: 2111935888} + - component: {fileID: 2111935887} + - component: {fileID: 2111935886} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &2111935886 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2111935885} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &2111935887 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2111935885} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!223 &2111935888 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2111935885} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &2111935889 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2111935885} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1728092915} + - {fileID: 214446043} + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} diff --git a/Architecture/ScriptableObjects/Examples/Scenes/Example #01 - References.unity.meta b/Architecture/ScriptableObjects/Examples/Scenes/Example #01 - References.unity.meta new file mode 100644 index 0000000..95063f0 --- /dev/null +++ b/Architecture/ScriptableObjects/Examples/Scenes/Example #01 - References.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: aa169694de7c0d046ad1b5fdb65c8cb5 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Examples/Scenes/Example #02 - Events.unity b/Architecture/ScriptableObjects/Examples/Scenes/Example #02 - Events.unity new file mode 100644 index 0000000..28feb57 --- /dev/null +++ b/Architecture/ScriptableObjects/Examples/Scenes/Example #02 - Events.unity @@ -0,0 +1,760 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 10 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringMode: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ShowResolutionOverlay: 1 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &147608476 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 147608479} + - component: {fileID: 147608478} + - component: {fileID: 147608477} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &147608477 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 147608476} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1077351063, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &147608478 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 147608476} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 10 +--- !u!4 &147608479 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 147608476} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &214446042 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 214446043} + - component: {fileID: 214446047} + - component: {fileID: 214446046} + - component: {fileID: 214446045} + - component: {fileID: 214446044} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &214446043 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 214446042} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2111935889} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: -190.94} + m_SizeDelta: {x: 371.04, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &214446044 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 214446042} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1741964061, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 0 + m_VerticalFit: 2 +--- !u!114 &214446045 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 214446042} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1573420865, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0, g: 0, b: 0, a: 0.5} + m_EffectDistance: {x: 1, y: -1} + m_UseGraphicAlpha: 1 +--- !u!114 &214446046 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 214446042} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 17 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 115 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'Now we''re going to add some particles whenever the player is damaged. + We obviously don''t want to check the player health every frame to see when this + occurs, so instead we''re going to implement an event using Scriptable Objects + + + Notice how the Particle System is hooked up without a single line of code being + written' +--- !u!222 &214446047 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 214446042} + m_CullTransparentMesh: 0 +--- !u!1 &598580665 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 598580667} + - component: {fileID: 598580666} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &598580666 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 598580665} + m_Enabled: 1 + serializedVersion: 8 + m_Type: 1 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &598580667 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 598580665} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!224 &1728092915 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 224795495137418836, guid: 30898bb5526f8f542aa93bfaac20d996, + type: 2} + m_PrefabInternal: {fileID: 2066489708} +--- !u!1001 &1771019333 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 4839017886741306, guid: 4be13ed8fe0751a4093279a926769b1b, type: 2} + propertyPath: m_LocalPosition.x + value: 2.11 + objectReference: {fileID: 0} + - target: {fileID: 4839017886741306, guid: 4be13ed8fe0751a4093279a926769b1b, type: 2} + propertyPath: m_LocalPosition.y + value: 1.93 + objectReference: {fileID: 0} + - target: {fileID: 4839017886741306, guid: 4be13ed8fe0751a4093279a926769b1b, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4839017886741306, guid: 4be13ed8fe0751a4093279a926769b1b, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4839017886741306, guid: 4be13ed8fe0751a4093279a926769b1b, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4839017886741306, guid: 4be13ed8fe0751a4093279a926769b1b, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4839017886741306, guid: 4be13ed8fe0751a4093279a926769b1b, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4839017886741306, guid: 4be13ed8fe0751a4093279a926769b1b, type: 2} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 1881607898596468, guid: 4be13ed8fe0751a4093279a926769b1b, type: 2} + propertyPath: m_Name + value: Sphere Of Pain With Event (1) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 4be13ed8fe0751a4093279a926769b1b, type: 2} + m_IsPrefabAsset: 0 +--- !u!1001 &1967340088 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 4790722713147504, guid: c478e907c947a8f4fbf1ac2ffce44704, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4790722713147504, guid: c478e907c947a8f4fbf1ac2ffce44704, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4790722713147504, guid: c478e907c947a8f4fbf1ac2ffce44704, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4790722713147504, guid: c478e907c947a8f4fbf1ac2ffce44704, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4790722713147504, guid: c478e907c947a8f4fbf1ac2ffce44704, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4790722713147504, guid: c478e907c947a8f4fbf1ac2ffce44704, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4790722713147504, guid: c478e907c947a8f4fbf1ac2ffce44704, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4790722713147504, guid: c478e907c947a8f4fbf1ac2ffce44704, type: 2} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: c478e907c947a8f4fbf1ac2ffce44704, type: 2} + m_IsPrefabAsset: 0 +--- !u!1001 &1991808075 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 4839017886741306, guid: 4be13ed8fe0751a4093279a926769b1b, type: 2} + propertyPath: m_LocalPosition.x + value: -2.11 + objectReference: {fileID: 0} + - target: {fileID: 4839017886741306, guid: 4be13ed8fe0751a4093279a926769b1b, type: 2} + propertyPath: m_LocalPosition.y + value: 1.93 + objectReference: {fileID: 0} + - target: {fileID: 4839017886741306, guid: 4be13ed8fe0751a4093279a926769b1b, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4839017886741306, guid: 4be13ed8fe0751a4093279a926769b1b, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4839017886741306, guid: 4be13ed8fe0751a4093279a926769b1b, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4839017886741306, guid: 4be13ed8fe0751a4093279a926769b1b, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4839017886741306, guid: 4be13ed8fe0751a4093279a926769b1b, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4839017886741306, guid: 4be13ed8fe0751a4093279a926769b1b, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 4be13ed8fe0751a4093279a926769b1b, type: 2} + m_IsPrefabAsset: 0 +--- !u!1 &2032243762 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2032243765} + - component: {fileID: 2032243764} + - component: {fileID: 2032243763} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &2032243763 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2032243762} + m_Enabled: 1 +--- !u!20 &2032243764 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2032243762} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &2032243765 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2032243762} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &2066489708 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 2111935889} + m_Modifications: + - target: {fileID: 224795495137418836, guid: 30898bb5526f8f542aa93bfaac20d996, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224795495137418836, guid: 30898bb5526f8f542aa93bfaac20d996, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224795495137418836, guid: 30898bb5526f8f542aa93bfaac20d996, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224795495137418836, guid: 30898bb5526f8f542aa93bfaac20d996, + type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224795495137418836, guid: 30898bb5526f8f542aa93bfaac20d996, + type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224795495137418836, guid: 30898bb5526f8f542aa93bfaac20d996, + type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224795495137418836, guid: 30898bb5526f8f542aa93bfaac20d996, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224795495137418836, guid: 30898bb5526f8f542aa93bfaac20d996, + type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224795495137418836, guid: 30898bb5526f8f542aa93bfaac20d996, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 10 + objectReference: {fileID: 0} + - target: {fileID: 224795495137418836, guid: 30898bb5526f8f542aa93bfaac20d996, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -10 + objectReference: {fileID: 0} + - target: {fileID: 224795495137418836, guid: 30898bb5526f8f542aa93bfaac20d996, + type: 2} + propertyPath: m_SizeDelta.x + value: 400 + objectReference: {fileID: 0} + - target: {fileID: 224795495137418836, guid: 30898bb5526f8f542aa93bfaac20d996, + type: 2} + propertyPath: m_SizeDelta.y + value: 50 + objectReference: {fileID: 0} + - target: {fileID: 224795495137418836, guid: 30898bb5526f8f542aa93bfaac20d996, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224795495137418836, guid: 30898bb5526f8f542aa93bfaac20d996, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224795495137418836, guid: 30898bb5526f8f542aa93bfaac20d996, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224795495137418836, guid: 30898bb5526f8f542aa93bfaac20d996, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224795495137418836, guid: 30898bb5526f8f542aa93bfaac20d996, + type: 2} + propertyPath: m_Pivot.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224795495137418836, guid: 30898bb5526f8f542aa93bfaac20d996, + type: 2} + propertyPath: m_Pivot.y + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 30898bb5526f8f542aa93bfaac20d996, type: 2} + m_IsPrefabAsset: 0 +--- !u!1 &2111935885 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2111935889} + - component: {fileID: 2111935888} + - component: {fileID: 2111935887} + - component: {fileID: 2111935886} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &2111935886 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2111935885} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &2111935887 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2111935885} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!223 &2111935888 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2111935885} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &2111935889 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2111935885} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1728092915} + - {fileID: 214446043} + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} diff --git a/Architecture/ScriptableObjects/Examples/Scenes/Example #02 - Events.unity.meta b/Architecture/ScriptableObjects/Examples/Scenes/Example #02 - Events.unity.meta new file mode 100644 index 0000000..d1c9458 --- /dev/null +++ b/Architecture/ScriptableObjects/Examples/Scenes/Example #02 - Events.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 576c8d711e4aec1478245fb49d7f0147 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Examples/Scenes/Example #03 - Collections.unity b/Architecture/ScriptableObjects/Examples/Scenes/Example #03 - Collections.unity new file mode 100644 index 0000000..68fb87f --- /dev/null +++ b/Architecture/ScriptableObjects/Examples/Scenes/Example #03 - Collections.unity @@ -0,0 +1,1369 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 10 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringMode: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ShowResolutionOverlay: 1 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &143058984 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 143058985} + - component: {fileID: 143058989} + - component: {fileID: 143058988} + - component: {fileID: 143058987} + - component: {fileID: 143058986} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &143058985 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 143058984} + m_LocalRotation: {x: -0.2658467, y: 0.3938678, z: 0.022657603, w: 0.87959105} + m_LocalPosition: {x: -1.4200001, y: 1.9000001, z: 11.01} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 386911664} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: -29.047, y: 51.15, z: -11.184001} +--- !u!114 &143058986 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 143058984} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e1e58c123a9f8b8418deb29f883e6e1a, type: 3} + m_Name: + m_EditorClassIdentifier: + _targetCollection: {fileID: 11400000, guid: 711814e21a7beb249833d6173e4082cc, type: 2} +--- !u!65 &143058987 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 143058984} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &143058988 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 143058984} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &143058989 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 143058984} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &194935388 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 194935390} + - component: {fileID: 194935389} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &194935389 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 194935388} + m_Enabled: 1 + serializedVersion: 8 + m_Type: 1 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &194935390 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 194935388} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &203921093 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 203921096} + - component: {fileID: 203921095} + - component: {fileID: 203921094} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &203921094 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 203921093} + m_Enabled: 1 +--- !u!20 &203921095 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 203921093} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0.21960786, g: 0.21960786, b: 0.21960786, a: 1} + m_projectionMatrixMode: 1 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &203921096 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 203921093} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1.21, y: -1.72, z: 1.17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &208817286 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 208817287} + - component: {fileID: 208817291} + - component: {fileID: 208817290} + - component: {fileID: 208817289} + - component: {fileID: 208817288} + m_Layer: 0 + m_Name: Cube (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &208817287 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 208817286} + m_LocalRotation: {x: -0.30734205, y: 0.30298218, z: -0.059703387, w: 0.90009904} + m_LocalPosition: {x: 0.07976246, y: -2.86, z: 9.471018} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 386911664} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: -31.138002, y: 42.853, z: -20.069} +--- !u!114 &208817288 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 208817286} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e1e58c123a9f8b8418deb29f883e6e1a, type: 3} + m_Name: + m_EditorClassIdentifier: + _targetCollection: {fileID: 11400000, guid: 711814e21a7beb249833d6173e4082cc, type: 2} +--- !u!65 &208817289 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 208817286} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &208817290 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 208817286} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &208817291 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 208817286} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &386911663 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 386911664} + m_Layer: 0 + m_Name: Things + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &386911664 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 386911663} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1.21, y: -1.72, z: 1.17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 143058985} + - {fileID: 208817287} + - {fileID: 1702463284} + - {fileID: 1698434810} + - {fileID: 2065690086} + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &456171950 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 456171951} + - component: {fileID: 456171953} + - component: {fileID: 456171952} + - component: {fileID: 456171954} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &456171951 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 456171950} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 562309166} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 40.9} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &456171952 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 456171950} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: There are 0 things +--- !u!222 &456171953 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 456171950} + m_CullTransparentMesh: 0 +--- !u!114 &456171954 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 456171950} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8664d5f52b89af247a1dd684a075694b, type: 3} + m_Name: + m_EditorClassIdentifier: + _textTarget: {fileID: 456171952} + _setTarget: {fileID: 11400000, guid: 711814e21a7beb249833d6173e4082cc, type: 2} + _textFormat: There are {0} things. +--- !u!1 &562309165 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 562309166} + - component: {fileID: 562309168} + - component: {fileID: 562309167} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &562309166 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 562309165} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 456171951} + - {fileID: 869005046} + m_Father: {fileID: 1986632949} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -259.25, y: -205.56} + m_SizeDelta: {x: 277.5, y: 142.88} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &562309167 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 562309165} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 0.30980393} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &562309168 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 562309165} + m_CullTransparentMesh: 0 +--- !u!1 &869005045 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 869005046} + - component: {fileID: 869005050} + - component: {fileID: 869005049} + - component: {fileID: 869005048} + m_Layer: 5 + m_Name: Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &869005046 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 869005045} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1205746815} + m_Father: {fileID: 562309166} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: -15.28} + m_SizeDelta: {x: 160, y: 60.55} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &869005048 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 869005045} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 869005049} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 11400000, guid: aa89c184710051e43b3123245794dda6, type: 2} + m_MethodName: Raise + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &869005049 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 869005045} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &869005050 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 869005045} + m_CullTransparentMesh: 0 +--- !u!1 &943850016 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 943850019} + - component: {fileID: 943850018} + - component: {fileID: 943850017} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &943850017 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 943850016} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1077351063, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &943850018 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 943850016} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 10 +--- !u!4 &943850019 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 943850016} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1205746814 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1205746815} + - component: {fileID: 1205746817} + - component: {fileID: 1205746816} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1205746815 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1205746814} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 869005046} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1205746816 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1205746814} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Disable Random +--- !u!222 &1205746817 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1205746814} + m_CullTransparentMesh: 0 +--- !u!1 &1698434809 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1698434810} + - component: {fileID: 1698434814} + - component: {fileID: 1698434813} + - component: {fileID: 1698434812} + - component: {fileID: 1698434811} + m_Layer: 0 + m_Name: Cube (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1698434810 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1698434809} + m_LocalRotation: {x: -0.35567194, y: -0.17583321, z: -0.27030697, w: 0.87721974} + m_LocalPosition: {x: -3.13, y: -0.18999994, z: 9.05} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 386911664} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: -45.977, y: -9.626, z: -30.161001} +--- !u!114 &1698434811 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1698434809} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e1e58c123a9f8b8418deb29f883e6e1a, type: 3} + m_Name: + m_EditorClassIdentifier: + _targetCollection: {fileID: 11400000, guid: 711814e21a7beb249833d6173e4082cc, type: 2} +--- !u!65 &1698434812 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1698434809} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1698434813 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1698434809} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &1698434814 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1698434809} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1702463283 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1702463284} + - component: {fileID: 1702463288} + - component: {fileID: 1702463287} + - component: {fileID: 1702463286} + - component: {fileID: 1702463285} + m_Layer: 0 + m_Name: Cube (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1702463284 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1702463283} + m_LocalRotation: {x: -0.078005016, y: 0.06665332, z: -0.021680418, w: 0.99448603} + m_LocalPosition: {x: 3.19, y: -0.78, z: 10.11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 386911664} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: -8.758, y: 7.9070005, z: -3.104} +--- !u!114 &1702463285 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1702463283} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e1e58c123a9f8b8418deb29f883e6e1a, type: 3} + m_Name: + m_EditorClassIdentifier: + _targetCollection: {fileID: 11400000, guid: 711814e21a7beb249833d6173e4082cc, type: 2} +--- !u!65 &1702463286 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1702463283} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1702463287 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1702463283} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &1702463288 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1702463283} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1986632945 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1986632949} + - component: {fileID: 1986632948} + - component: {fileID: 1986632947} + - component: {fileID: 1986632946} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1986632946 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1986632945} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &1986632947 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1986632945} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!223 &1986632948 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1986632945} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &1986632949 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1986632945} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 562309166} + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1 &2012918653 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2012918656} + - component: {fileID: 2012918655} + - component: {fileID: 2012918654} + m_Layer: 0 + m_Name: Disabler + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &2012918654 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2012918653} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5758ca93461aeeb4589456a052b07d74, type: 3} + m_Name: + m_EditorClassIdentifier: + DeveloperDescription: + _value: + _debugColor: {r: 0, g: 1, b: 1, a: 1} + _event: {fileID: 11400000, guid: aa89c184710051e43b3123245794dda6, type: 2} + _response: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 2012918655} + m_MethodName: DisableRandom + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.Events.UnityEvent, UnityEngine.CoreModule, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &2012918655 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2012918653} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 651639a1af81856448caf334816f4406, type: 3} + m_Name: + m_EditorClassIdentifier: + _targetSet: {fileID: 11400000, guid: 711814e21a7beb249833d6173e4082cc, type: 2} +--- !u!4 &2012918656 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2012918653} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 171.41136, y: 143.78856, z: -0.125} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2065690085 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2065690086} + - component: {fileID: 2065690090} + - component: {fileID: 2065690089} + - component: {fileID: 2065690088} + - component: {fileID: 2065690087} + m_Layer: 0 + m_Name: Cube (4) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2065690086 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2065690085} + m_LocalRotation: {x: -0.014305452, y: 0.57186216, z: 0.27356863, w: 0.7732589} + m_LocalPosition: {x: 3.55, y: 1.32, z: 11.33} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 386911664} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: -19.573002, y: 68.486, z: 25.573002} +--- !u!114 &2065690087 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2065690085} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e1e58c123a9f8b8418deb29f883e6e1a, type: 3} + m_Name: + m_EditorClassIdentifier: + _targetCollection: {fileID: 11400000, guid: 711814e21a7beb249833d6173e4082cc, type: 2} +--- !u!65 &2065690088 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2065690085} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &2065690089 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2065690085} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &2065690090 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2065690085} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} diff --git a/Architecture/ScriptableObjects/Examples/Scenes/Example #03 - Collections.unity.meta b/Architecture/ScriptableObjects/Examples/Scenes/Example #03 - Collections.unity.meta new file mode 100644 index 0000000..34b49ee --- /dev/null +++ b/Architecture/ScriptableObjects/Examples/Scenes/Example #03 - Collections.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: bdeea8d3973c52d40a7f13c01cf59f39 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Examples/Scripts.meta b/Architecture/ScriptableObjects/Examples/Scripts.meta new file mode 100644 index 0000000..145a163 --- /dev/null +++ b/Architecture/ScriptableObjects/Examples/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3cdd264f3ec77d142b7b8cfd496277a3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Examples/Scripts/CollectionCountDisplayer.cs b/Architecture/ScriptableObjects/Examples/Scripts/CollectionCountDisplayer.cs new file mode 100644 index 0000000..91eb576 --- /dev/null +++ b/Architecture/ScriptableObjects/Examples/Scripts/CollectionCountDisplayer.cs @@ -0,0 +1,20 @@ +using UnityEngine; +using UnityEngine.UI; + +namespace ScriptableObjectArchitecture.Examples +{ + public class CollectionCountDisplayer : MonoBehaviour + { + [SerializeField] + private Text _textTarget = default(Text); + [SerializeField] + private BaseCollection _setTarget = default(BaseCollection); + [SerializeField] + private string _textFormat = "There are {0} things."; + + private void Update() + { + _textTarget.text = string.Format(_textFormat, _setTarget.Count); + } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Examples/Scripts/CollectionCountDisplayer.cs.meta b/Architecture/ScriptableObjects/Examples/Scripts/CollectionCountDisplayer.cs.meta new file mode 100644 index 0000000..f28c003 --- /dev/null +++ b/Architecture/ScriptableObjects/Examples/Scripts/CollectionCountDisplayer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8664d5f52b89af247a1dd684a075694b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Examples/Scripts/DamageDealer.cs b/Architecture/ScriptableObjects/Examples/Scripts/DamageDealer.cs new file mode 100644 index 0000000..bd8ecc2 --- /dev/null +++ b/Architecture/ScriptableObjects/Examples/Scripts/DamageDealer.cs @@ -0,0 +1,22 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture.Examples +{ + public class DamageDealer : MonoBehaviour + { + [SerializeField] + private FloatReference _damageAmount = default(FloatReference); + + private void OnTriggerEnter(Collider other) + { + UnitHealth targetHealth = other.gameObject.GetComponent(); + + if (targetHealth != null) + DealDamage(targetHealth); + } + protected virtual void DealDamage(UnitHealth target) + { + target.Health.Value -= _damageAmount.Value; + } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Examples/Scripts/DamageDealer.cs.meta b/Architecture/ScriptableObjects/Examples/Scripts/DamageDealer.cs.meta new file mode 100644 index 0000000..211ab28 --- /dev/null +++ b/Architecture/ScriptableObjects/Examples/Scripts/DamageDealer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0a7bd50eba8549846a5c70229ab69aff +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Examples/Scripts/DamageDealerWithEvent.cs b/Architecture/ScriptableObjects/Examples/Scripts/DamageDealerWithEvent.cs new file mode 100644 index 0000000..637ab51 --- /dev/null +++ b/Architecture/ScriptableObjects/Examples/Scripts/DamageDealerWithEvent.cs @@ -0,0 +1,17 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture.Examples +{ + public class DamageDealerWithEvent : DamageDealer + { + [SerializeField] + private GameEvent _onDamagedEvent = default(GameEvent); + + protected override void DealDamage(UnitHealth target) + { + base.DealDamage(target); + + _onDamagedEvent.Raise(); + } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Examples/Scripts/DamageDealerWithEvent.cs.meta b/Architecture/ScriptableObjects/Examples/Scripts/DamageDealerWithEvent.cs.meta new file mode 100644 index 0000000..14bdcff --- /dev/null +++ b/Architecture/ScriptableObjects/Examples/Scripts/DamageDealerWithEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6091c23144d06c64b860bdfa9200353d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Examples/Scripts/Disabler.cs b/Architecture/ScriptableObjects/Examples/Scripts/Disabler.cs new file mode 100644 index 0000000..8b668f5 --- /dev/null +++ b/Architecture/ScriptableObjects/Examples/Scripts/Disabler.cs @@ -0,0 +1,21 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture.Examples +{ + public class Disabler : MonoBehaviour + { + [SerializeField] + private GameObjectCollection _targetSet = default(GameObjectCollection); + + public void DisableRandom() + { + if (_targetSet.Count > 0) + { + int index = Random.Range(0, _targetSet.Count); + + GameObject objToDisable = _targetSet[index]; + objToDisable.SetActive(false); + } + } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Examples/Scripts/Disabler.cs.meta b/Architecture/ScriptableObjects/Examples/Scripts/Disabler.cs.meta new file mode 100644 index 0000000..f44cda9 --- /dev/null +++ b/Architecture/ScriptableObjects/Examples/Scripts/Disabler.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 651639a1af81856448caf334816f4406 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Examples/Scripts/ImageFillSetter.cs b/Architecture/ScriptableObjects/Examples/Scripts/ImageFillSetter.cs new file mode 100644 index 0000000..d946681 --- /dev/null +++ b/Architecture/ScriptableObjects/Examples/Scripts/ImageFillSetter.cs @@ -0,0 +1,21 @@ +using UnityEngine; +using UnityEngine.UI; + +namespace ScriptableObjectArchitecture.Examples +{ + public class ImageFillSetter : MonoBehaviour + { + [SerializeField] + private FloatReference _variable = default(FloatReference); + [SerializeField] + private FloatReference _maxValue = default(FloatReference); + [SerializeField] + private Image _imageTarget = default(Image); + + private void Update() + { + _imageTarget.fillAmount = Mathf.Clamp01(_variable.Value / _maxValue.Value); + } + + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Examples/Scripts/ImageFillSetter.cs.meta b/Architecture/ScriptableObjects/Examples/Scripts/ImageFillSetter.cs.meta new file mode 100644 index 0000000..fdf474d --- /dev/null +++ b/Architecture/ScriptableObjects/Examples/Scripts/ImageFillSetter.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6b4a9d4ae717c8646a08e19ec31e859c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Examples/Scripts/KeyboardMover.cs b/Architecture/ScriptableObjects/Examples/Scripts/KeyboardMover.cs new file mode 100644 index 0000000..3bd9ea1 --- /dev/null +++ b/Architecture/ScriptableObjects/Examples/Scripts/KeyboardMover.cs @@ -0,0 +1,25 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture.Examples +{ + public class KeyboardMover : MonoBehaviour + { + [SerializeField] + private FloatReference _moveSpeed = default(FloatReference); + + private void Update() + { + if (Input.GetKey(KeyCode.W) || Input.GetKey(KeyCode.UpArrow)) + transform.position += Vector3.up * _moveSpeed.Value; + + if (Input.GetKey(KeyCode.S) || Input.GetKey(KeyCode.DownArrow)) + transform.position += Vector3.down * _moveSpeed.Value; + + if (Input.GetKey(KeyCode.D) || Input.GetKey(KeyCode.RightArrow)) + transform.position += Vector3.right * _moveSpeed.Value; + + if (Input.GetKey(KeyCode.A) || Input.GetKey(KeyCode.LeftArrow)) + transform.position += Vector3.left * _moveSpeed.Value; + } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Examples/Scripts/KeyboardMover.cs.meta b/Architecture/ScriptableObjects/Examples/Scripts/KeyboardMover.cs.meta new file mode 100644 index 0000000..d4360f2 --- /dev/null +++ b/Architecture/ScriptableObjects/Examples/Scripts/KeyboardMover.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8d7b74a36443f534fb69a2c2b26eb5ab +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Examples/Scripts/ObjectAdder.cs b/Architecture/ScriptableObjects/Examples/Scripts/ObjectAdder.cs new file mode 100644 index 0000000..7379eaa --- /dev/null +++ b/Architecture/ScriptableObjects/Examples/Scripts/ObjectAdder.cs @@ -0,0 +1,19 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture.Examples +{ + public class ObjectAdder : MonoBehaviour + { + [SerializeField] + private GameObjectCollection _targetCollection = default(GameObjectCollection); + + private void OnEnable() + { + _targetCollection.Add(gameObject); + } + private void OnDisable() + { + _targetCollection.Remove(gameObject); + } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Examples/Scripts/ObjectAdder.cs.meta b/Architecture/ScriptableObjects/Examples/Scripts/ObjectAdder.cs.meta new file mode 100644 index 0000000..4b28f9b --- /dev/null +++ b/Architecture/ScriptableObjects/Examples/Scripts/ObjectAdder.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e1e58c123a9f8b8418deb29f883e6e1a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Examples/Scripts/UnitHealth.cs b/Architecture/ScriptableObjects/Examples/Scripts/UnitHealth.cs new file mode 100644 index 0000000..b93dc41 --- /dev/null +++ b/Architecture/ScriptableObjects/Examples/Scripts/UnitHealth.cs @@ -0,0 +1,20 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture.Examples +{ + public class UnitHealth : MonoBehaviour + { + public FloatReference Health; + + [SerializeField] + private bool _resetOnStartup = true; + [SerializeField] + private FloatReference _startingHealth = default(FloatReference); + + private void Start() + { + if (_resetOnStartup) + Health.Value = _startingHealth.Value; + } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Examples/Scripts/UnitHealth.cs.meta b/Architecture/ScriptableObjects/Examples/Scripts/UnitHealth.cs.meta new file mode 100644 index 0000000..51bb946 --- /dev/null +++ b/Architecture/ScriptableObjects/Examples/Scripts/UnitHealth.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 96e1b83887e9c9d4e8300e77aaa4f9c6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Examples/Textures.meta b/Architecture/ScriptableObjects/Examples/Textures.meta new file mode 100644 index 0000000..b4178b8 --- /dev/null +++ b/Architecture/ScriptableObjects/Examples/Textures.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c433a440140e3944ab16a5a356a09d08 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Examples/Textures/White.png b/Architecture/ScriptableObjects/Examples/Textures/White.png new file mode 100644 index 0000000000000000000000000000000000000000..10d259818b07afc1f99efae46009333c60a8abdc GIT binary patch literal 17241 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 + /// Internal extension methods for . + /// + internal static class QuaternionExtensions + { + /// + /// Returns a instance where the component values are equal to this + /// 's components. + /// + /// + /// + public static Vector4 ToVector4(this Quaternion quaternion) + { + return new Vector4(quaternion.x, quaternion.y, quaternion.z, quaternion.w); + } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Extensions/QuaternionExtensions.cs.meta b/Architecture/ScriptableObjects/Extensions/QuaternionExtensions.cs.meta new file mode 100644 index 0000000..444b10e --- /dev/null +++ b/Architecture/ScriptableObjects/Extensions/QuaternionExtensions.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 519b10e3cd564520adb5118a5b996f43 +timeCreated: 1555707619 \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Extensions/Vector4Extensions.cs b/Architecture/ScriptableObjects/Extensions/Vector4Extensions.cs new file mode 100644 index 0000000..0b44468 --- /dev/null +++ b/Architecture/ScriptableObjects/Extensions/Vector4Extensions.cs @@ -0,0 +1,21 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + /// + /// Internal extension methods for . + /// + internal static class Vector4Extensions + { + /// + /// Returns a instance where the component values are equal to this + /// 's components. + /// + /// + /// + public static Quaternion ToQuaternion(this Vector4 vector4) + { + return new Quaternion(vector4.x, vector4.y, vector4.z, vector4.w); + } + } +} diff --git a/Architecture/ScriptableObjects/Extensions/Vector4Extensions.cs.meta b/Architecture/ScriptableObjects/Extensions/Vector4Extensions.cs.meta new file mode 100644 index 0000000..d2ac93a --- /dev/null +++ b/Architecture/ScriptableObjects/Extensions/Vector4Extensions.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f82581906385ab740af135269a99379d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/References.meta b/Architecture/ScriptableObjects/References.meta new file mode 100644 index 0000000..e54b63b --- /dev/null +++ b/Architecture/ScriptableObjects/References.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a6cc8d773c3664e4cbfb696cc7c4e072 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/References/AnimationCurveReference.cs b/Architecture/ScriptableObjects/References/AnimationCurveReference.cs new file mode 100644 index 0000000..8596f35 --- /dev/null +++ b/Architecture/ScriptableObjects/References/AnimationCurveReference.cs @@ -0,0 +1,11 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public sealed class AnimationCurveReference : BaseReference + { + public AnimationCurveReference() : base() { } + public AnimationCurveReference(AnimationCurve value) : base(value) { } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/References/AnimationCurveReference.cs.meta b/Architecture/ScriptableObjects/References/AnimationCurveReference.cs.meta new file mode 100644 index 0000000..57ec592 --- /dev/null +++ b/Architecture/ScriptableObjects/References/AnimationCurveReference.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 70979cb7a8fa57d4cb4faac1c2be5e03 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/References/AudioClipReference.cs b/Architecture/ScriptableObjects/References/AudioClipReference.cs new file mode 100644 index 0000000..f6f366b --- /dev/null +++ b/Architecture/ScriptableObjects/References/AudioClipReference.cs @@ -0,0 +1,11 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public sealed class AudioClipReference : BaseReference + { + public AudioClipReference() : base() { } + public AudioClipReference(AudioClip value) : base(value) { } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/References/AudioClipReference.cs.meta b/Architecture/ScriptableObjects/References/AudioClipReference.cs.meta new file mode 100644 index 0000000..73401fa --- /dev/null +++ b/Architecture/ScriptableObjects/References/AudioClipReference.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 52e7847854d0f4944a2d82290aa86222 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/References/BaseReference.cs b/Architecture/ScriptableObjects/References/BaseReference.cs new file mode 100644 index 0000000..78adbbf --- /dev/null +++ b/Architecture/ScriptableObjects/References/BaseReference.cs @@ -0,0 +1,86 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public class BaseReference : BaseReference where TVariable : BaseVariable + { + public BaseReference() { } + public BaseReference(TBase baseValue) + { + _useConstant = true; + _constantValue = baseValue; + } + + [SerializeField] + protected bool _useConstant = false; + [SerializeField] + protected TBase _constantValue = default(TBase); + [SerializeField] + protected TVariable _variable = default(TVariable); + + public TBase Value + { + get + { + return (_useConstant || _variable == null) ? _constantValue : _variable.Value; + } + set + { + if (!_useConstant && _variable != null) + { + _variable.Value = value; + } + else + { + _useConstant = true; + _constantValue = value; + } + } + } + public bool IsValueDefined + { + get + { + return _useConstant || _variable != null; + } + } + + public BaseReference CreateCopy() + { + BaseReference copy = (BaseReference)System.Activator.CreateInstance(GetType()); + copy._useConstant = _useConstant; + copy._constantValue = _constantValue; + copy._variable = _variable; + + return copy; + } + public void AddListener(IGameEventListener listener) + { + if (_variable != null) + _variable.AddListener(listener); + } + public void RemoveListener(IGameEventListener listener) + { + if (_variable != null) + _variable.RemoveListener(listener); + } + public void AddListener(System.Action action) + { + if (_variable != null) + _variable.AddListener(action); + } + public void RemoveListener(System.Action action) + { + if (_variable != null) + _variable.RemoveListener(action); + } + public override string ToString() + { + return Value.ToString(); + } + } + + //Can't get property drawer to work with generic arguments + public abstract class BaseReference { } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/References/BaseReference.cs.meta b/Architecture/ScriptableObjects/References/BaseReference.cs.meta new file mode 100644 index 0000000..2498057 --- /dev/null +++ b/Architecture/ScriptableObjects/References/BaseReference.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6738f50cc15d5ff4d8bc4791985d871d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/References/BoolReference.cs b/Architecture/ScriptableObjects/References/BoolReference.cs new file mode 100644 index 0000000..2deba03 --- /dev/null +++ b/Architecture/ScriptableObjects/References/BoolReference.cs @@ -0,0 +1,9 @@ +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public sealed class BoolReference : BaseReference + { + public BoolReference() : base() { } + public BoolReference(bool value) : base(value) { } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/References/BoolReference.cs.meta b/Architecture/ScriptableObjects/References/BoolReference.cs.meta new file mode 100644 index 0000000..ebf43e9 --- /dev/null +++ b/Architecture/ScriptableObjects/References/BoolReference.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e5582f02dce3df04b8b99a29cdcb7610 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/References/ByteReference.cs b/Architecture/ScriptableObjects/References/ByteReference.cs new file mode 100644 index 0000000..692095a --- /dev/null +++ b/Architecture/ScriptableObjects/References/ByteReference.cs @@ -0,0 +1,9 @@ +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public sealed class ByteReference : BaseReference + { + public ByteReference() : base() { } + public ByteReference(byte value) : base(value) { } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/References/ByteReference.cs.meta b/Architecture/ScriptableObjects/References/ByteReference.cs.meta new file mode 100644 index 0000000..afcfd4c --- /dev/null +++ b/Architecture/ScriptableObjects/References/ByteReference.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0bdcbd847bbed28459771965dd905377 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/References/CharReference.cs b/Architecture/ScriptableObjects/References/CharReference.cs new file mode 100644 index 0000000..707c48a --- /dev/null +++ b/Architecture/ScriptableObjects/References/CharReference.cs @@ -0,0 +1,9 @@ +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public sealed class CharReference : BaseReference + { + public CharReference() : base() { } + public CharReference(char value) : base(value) { } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/References/CharReference.cs.meta b/Architecture/ScriptableObjects/References/CharReference.cs.meta new file mode 100644 index 0000000..b18eb1a --- /dev/null +++ b/Architecture/ScriptableObjects/References/CharReference.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: dd41b15834f5a4044955f107ea10a6f6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/References/Color32Reference.cs b/Architecture/ScriptableObjects/References/Color32Reference.cs new file mode 100644 index 0000000..d507326 --- /dev/null +++ b/Architecture/ScriptableObjects/References/Color32Reference.cs @@ -0,0 +1,11 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public sealed class Color32Reference : BaseReference + { + public Color32Reference() : base() { } + public Color32Reference(Color32 value) : base(value) { } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/References/Color32Reference.cs.meta b/Architecture/ScriptableObjects/References/Color32Reference.cs.meta new file mode 100644 index 0000000..937ab8c --- /dev/null +++ b/Architecture/ScriptableObjects/References/Color32Reference.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ac6f79df808649f4d8eec1176cfe5a76 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/References/ColorReference.cs b/Architecture/ScriptableObjects/References/ColorReference.cs new file mode 100644 index 0000000..55319b8 --- /dev/null +++ b/Architecture/ScriptableObjects/References/ColorReference.cs @@ -0,0 +1,11 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public sealed class ColorReference : BaseReference + { + public ColorReference() : base() { } + public ColorReference(Color value) : base(value) { } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/References/ColorReference.cs.meta b/Architecture/ScriptableObjects/References/ColorReference.cs.meta new file mode 100644 index 0000000..6727c20 --- /dev/null +++ b/Architecture/ScriptableObjects/References/ColorReference.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5aec35cfb26f5ac408e7f6c0f77eb012 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/References/DoubleReference.cs b/Architecture/ScriptableObjects/References/DoubleReference.cs new file mode 100644 index 0000000..acc109e --- /dev/null +++ b/Architecture/ScriptableObjects/References/DoubleReference.cs @@ -0,0 +1,9 @@ +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public sealed class DoubleReference : BaseReference + { + public DoubleReference() : base() { } + public DoubleReference(double value) : base(value) { } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/References/DoubleReference.cs.meta b/Architecture/ScriptableObjects/References/DoubleReference.cs.meta new file mode 100644 index 0000000..9edd946 --- /dev/null +++ b/Architecture/ScriptableObjects/References/DoubleReference.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: bd3ad0d83631c3b4993f3486362f4f83 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/References/FloatReference.cs b/Architecture/ScriptableObjects/References/FloatReference.cs new file mode 100644 index 0000000..2478490 --- /dev/null +++ b/Architecture/ScriptableObjects/References/FloatReference.cs @@ -0,0 +1,9 @@ +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public sealed class FloatReference : BaseReference + { + public FloatReference() : base() { } + public FloatReference(float value) : base(value) { } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/References/FloatReference.cs.meta b/Architecture/ScriptableObjects/References/FloatReference.cs.meta new file mode 100644 index 0000000..ecae2d4 --- /dev/null +++ b/Architecture/ScriptableObjects/References/FloatReference.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 45e4e566bec8e294ebf9015daabbd47a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/References/GameObjectReference.cs b/Architecture/ScriptableObjects/References/GameObjectReference.cs new file mode 100644 index 0000000..60c43e6 --- /dev/null +++ b/Architecture/ScriptableObjects/References/GameObjectReference.cs @@ -0,0 +1,11 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public sealed class GameObjectReference : BaseReference + { + public GameObjectReference() : base() { } + public GameObjectReference(GameObject value) : base(value) { } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/References/GameObjectReference.cs.meta b/Architecture/ScriptableObjects/References/GameObjectReference.cs.meta new file mode 100644 index 0000000..e42b144 --- /dev/null +++ b/Architecture/ScriptableObjects/References/GameObjectReference.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e370b4c81b41e6b4fb53e08e9930022d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/References/IntReference.cs b/Architecture/ScriptableObjects/References/IntReference.cs new file mode 100644 index 0000000..531155b --- /dev/null +++ b/Architecture/ScriptableObjects/References/IntReference.cs @@ -0,0 +1,9 @@ +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public sealed class IntReference : BaseReference + { + public IntReference() : base() { } + public IntReference(int value) : base(value) { } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/References/IntReference.cs.meta b/Architecture/ScriptableObjects/References/IntReference.cs.meta new file mode 100644 index 0000000..995c38f --- /dev/null +++ b/Architecture/ScriptableObjects/References/IntReference.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 93ba956e2c53d574c95488ca50fde378 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/References/LayerMaskReference.cs b/Architecture/ScriptableObjects/References/LayerMaskReference.cs new file mode 100644 index 0000000..7e054ab --- /dev/null +++ b/Architecture/ScriptableObjects/References/LayerMaskReference.cs @@ -0,0 +1,11 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public sealed class LayerMaskReference : BaseReference + { + public LayerMaskReference() : base() { } + public LayerMaskReference(LayerMask value) : base(value) { } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/References/LayerMaskReference.cs.meta b/Architecture/ScriptableObjects/References/LayerMaskReference.cs.meta new file mode 100644 index 0000000..98b6c23 --- /dev/null +++ b/Architecture/ScriptableObjects/References/LayerMaskReference.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e390a6289e5530c4d8f4d38ccdbfcc5a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/References/LongReference.cs b/Architecture/ScriptableObjects/References/LongReference.cs new file mode 100644 index 0000000..37cad1e --- /dev/null +++ b/Architecture/ScriptableObjects/References/LongReference.cs @@ -0,0 +1,9 @@ +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public sealed class LongReference : BaseReference + { + public LongReference() : base() { } + public LongReference(long value) : base(value) { } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/References/LongReference.cs.meta b/Architecture/ScriptableObjects/References/LongReference.cs.meta new file mode 100644 index 0000000..274466f --- /dev/null +++ b/Architecture/ScriptableObjects/References/LongReference.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3a7a5d47dd727e84baafb293c8258762 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/References/ObjectReference.cs b/Architecture/ScriptableObjects/References/ObjectReference.cs new file mode 100644 index 0000000..657499b --- /dev/null +++ b/Architecture/ScriptableObjects/References/ObjectReference.cs @@ -0,0 +1,11 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public class ObjectReference : BaseReference + { + public ObjectReference() : base() { } + public ObjectReference(Object value) : base(value) { } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/References/ObjectReference.cs.meta b/Architecture/ScriptableObjects/References/ObjectReference.cs.meta new file mode 100644 index 0000000..0c86840 --- /dev/null +++ b/Architecture/ScriptableObjects/References/ObjectReference.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 87174a1877b3e9a458ac90765af07134 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/References/QuaternionReference.cs b/Architecture/ScriptableObjects/References/QuaternionReference.cs new file mode 100644 index 0000000..cd3db1d --- /dev/null +++ b/Architecture/ScriptableObjects/References/QuaternionReference.cs @@ -0,0 +1,11 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public sealed class QuaternionReference : BaseReference + { + public QuaternionReference() : base() { } + public QuaternionReference(Quaternion value) : base(value) { } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/References/QuaternionReference.cs.meta b/Architecture/ScriptableObjects/References/QuaternionReference.cs.meta new file mode 100644 index 0000000..9a57bf5 --- /dev/null +++ b/Architecture/ScriptableObjects/References/QuaternionReference.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d06b85eaff3bd7740a6f4fbf25c16af6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/References/SByteReference.cs b/Architecture/ScriptableObjects/References/SByteReference.cs new file mode 100644 index 0000000..65fce36 --- /dev/null +++ b/Architecture/ScriptableObjects/References/SByteReference.cs @@ -0,0 +1,9 @@ +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public sealed class SByteReference : BaseReference + { + public SByteReference() : base() { } + public SByteReference(sbyte value) : base(value) { } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/References/SByteReference.cs.meta b/Architecture/ScriptableObjects/References/SByteReference.cs.meta new file mode 100644 index 0000000..158299c --- /dev/null +++ b/Architecture/ScriptableObjects/References/SByteReference.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 39a0e4e41b487204893a43b7b46ff322 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/References/SceneReference.cs b/Architecture/ScriptableObjects/References/SceneReference.cs new file mode 100644 index 0000000..708de45 --- /dev/null +++ b/Architecture/ScriptableObjects/References/SceneReference.cs @@ -0,0 +1,13 @@ +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public sealed class SceneReference : BaseReference + { + public SceneReference() + { + } + public SceneReference(SceneInfo value) : base(value) + { + } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/References/SceneReference.cs.meta b/Architecture/ScriptableObjects/References/SceneReference.cs.meta new file mode 100644 index 0000000..a0244e1 --- /dev/null +++ b/Architecture/ScriptableObjects/References/SceneReference.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: dfdb025a7a4bc3c4e9314278ae0ae78d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/References/ShortReference.cs b/Architecture/ScriptableObjects/References/ShortReference.cs new file mode 100644 index 0000000..eb91fae --- /dev/null +++ b/Architecture/ScriptableObjects/References/ShortReference.cs @@ -0,0 +1,9 @@ +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public sealed class ShortReference : BaseReference + { + public ShortReference() : base() { } + public ShortReference(short value) : base(value) { } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/References/ShortReference.cs.meta b/Architecture/ScriptableObjects/References/ShortReference.cs.meta new file mode 100644 index 0000000..4072672 --- /dev/null +++ b/Architecture/ScriptableObjects/References/ShortReference.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1cc6dfafebc3ad6469a4b7f9bf0799ac +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/References/StringReference.cs b/Architecture/ScriptableObjects/References/StringReference.cs new file mode 100644 index 0000000..f526a7a --- /dev/null +++ b/Architecture/ScriptableObjects/References/StringReference.cs @@ -0,0 +1,9 @@ +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public sealed class StringReference : BaseReference + { + public StringReference() : base() { } + public StringReference(string value) : base(value) { } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/References/StringReference.cs.meta b/Architecture/ScriptableObjects/References/StringReference.cs.meta new file mode 100644 index 0000000..a19ab21 --- /dev/null +++ b/Architecture/ScriptableObjects/References/StringReference.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 921808a75f2595945b386e9913d022f7 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/References/UIntReference.cs b/Architecture/ScriptableObjects/References/UIntReference.cs new file mode 100644 index 0000000..3daa55c --- /dev/null +++ b/Architecture/ScriptableObjects/References/UIntReference.cs @@ -0,0 +1,9 @@ +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public sealed class UIntReference : BaseReference + { + public UIntReference() : base() { } + public UIntReference(uint value) : base(value) { } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/References/UIntReference.cs.meta b/Architecture/ScriptableObjects/References/UIntReference.cs.meta new file mode 100644 index 0000000..e452a82 --- /dev/null +++ b/Architecture/ScriptableObjects/References/UIntReference.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8775823ba8c3c3f43b2bc6b2e4a0d489 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/References/ULongReference.cs b/Architecture/ScriptableObjects/References/ULongReference.cs new file mode 100644 index 0000000..7250e43 --- /dev/null +++ b/Architecture/ScriptableObjects/References/ULongReference.cs @@ -0,0 +1,9 @@ +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public sealed class ULongReference : BaseReference + { + public ULongReference() : base() { } + public ULongReference(ulong value) : base(value) { } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/References/ULongReference.cs.meta b/Architecture/ScriptableObjects/References/ULongReference.cs.meta new file mode 100644 index 0000000..d91d23c --- /dev/null +++ b/Architecture/ScriptableObjects/References/ULongReference.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 77a1d06e9d3e2d04d850147e0c5da2aa +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/References/UShortReference.cs b/Architecture/ScriptableObjects/References/UShortReference.cs new file mode 100644 index 0000000..15d3815 --- /dev/null +++ b/Architecture/ScriptableObjects/References/UShortReference.cs @@ -0,0 +1,9 @@ +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public sealed class UShortReference : BaseReference + { + public UShortReference() : base() { } + public UShortReference(ushort value) : base(value) { } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/References/UShortReference.cs.meta b/Architecture/ScriptableObjects/References/UShortReference.cs.meta new file mode 100644 index 0000000..a0019b2 --- /dev/null +++ b/Architecture/ScriptableObjects/References/UShortReference.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d64b5a7ff70881b4a829380159685c6c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/References/Vector2Reference.cs b/Architecture/ScriptableObjects/References/Vector2Reference.cs new file mode 100644 index 0000000..56af7ff --- /dev/null +++ b/Architecture/ScriptableObjects/References/Vector2Reference.cs @@ -0,0 +1,11 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public sealed class Vector2Reference : BaseReference + { + public Vector2Reference() : base() { } + public Vector2Reference(Vector2 value) : base(value) { } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/References/Vector2Reference.cs.meta b/Architecture/ScriptableObjects/References/Vector2Reference.cs.meta new file mode 100644 index 0000000..2db02a3 --- /dev/null +++ b/Architecture/ScriptableObjects/References/Vector2Reference.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ef0936609868992419e6c4ea361c1a9e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/References/Vector3Reference.cs b/Architecture/ScriptableObjects/References/Vector3Reference.cs new file mode 100644 index 0000000..a33da6e --- /dev/null +++ b/Architecture/ScriptableObjects/References/Vector3Reference.cs @@ -0,0 +1,11 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public sealed class Vector3Reference : BaseReference + { + public Vector3Reference() : base() { } + public Vector3Reference(Vector3 value) : base(value) { } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/References/Vector3Reference.cs.meta b/Architecture/ScriptableObjects/References/Vector3Reference.cs.meta new file mode 100644 index 0000000..d29d7f6 --- /dev/null +++ b/Architecture/ScriptableObjects/References/Vector3Reference.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 20ec0092943f80b4eb02bd1816878998 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/References/Vector4Reference.cs b/Architecture/ScriptableObjects/References/Vector4Reference.cs new file mode 100644 index 0000000..a00cd69 --- /dev/null +++ b/Architecture/ScriptableObjects/References/Vector4Reference.cs @@ -0,0 +1,11 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public sealed class Vector4Reference : BaseReference + { + public Vector4Reference() : base() { } + public Vector4Reference(Vector4 value) : base(value) { } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/References/Vector4Reference.cs.meta b/Architecture/ScriptableObjects/References/Vector4Reference.cs.meta new file mode 100644 index 0000000..52b2803 --- /dev/null +++ b/Architecture/ScriptableObjects/References/Vector4Reference.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: cec4099000882f643916df3733445f2b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/RuntimeSets.meta b/Architecture/ScriptableObjects/RuntimeSets.meta new file mode 100644 index 0000000..8af21cc --- /dev/null +++ b/Architecture/ScriptableObjects/RuntimeSets.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5d4aeffddee253346bece1700851153d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/SOArchitecturePreferences.cs b/Architecture/ScriptableObjects/SOArchitecturePreferences.cs new file mode 100644 index 0000000..ed6075a --- /dev/null +++ b/Architecture/ScriptableObjects/SOArchitecturePreferences.cs @@ -0,0 +1,187 @@ +#if UNITY_EDITOR + +using UnityEditor; +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + /// + /// An editor class for managing project and user preferences for the SOArchitecture library. This is kept + /// in the runtime assembly for the purpose of enabling editor-only additional features when playing such as + /// gizmos and debugging. + /// + public static class SOArchitecturePreferences + { + /// + /// Returns true if debug features should be enabled, otherwise false. + /// + public static bool IsDebugEnabled + { + get { return GetBoolPref(ENABLE_DEBUG_PREF, ENABLE_DEBUG_DEFAULT); } + } + + /// + /// Returns true if Gizmos should be enabled, otherwise false. + /// + public static bool AreGizmosEnabled + { + get { return GetBoolPref(DRAW_EVENT_GIZMOS_PREF, DRAW_EVENT_GIZMOS_DEFAULT); } + } + + // UI + private const string PREFERENCES_TITLE_PATH = "Preferences/SOArchitecture"; + private const string PROJECT_TITLE_PATH = "Project/SOArchitecture"; + + private const string USER_PREFERENCES_HEADER = "User Preferences"; + private const string PROJECT_REFERENCES_HEADER = "Project Preferences"; + + private const string CODE_GEN_DIRECTORY_LABEL = "Code Generation Output Directory"; + private const string CODE_GEN_DIRECTORY_DESCRIPTION + = "The directory where the output of code generation will write to."; + + private const string ALLOW_OVERWRITE_LABEL = "Allow Code Generation to Overwrite"; + private const string ALLOW_OVERWRITE_DESCRIPTION = + "Allow newly generated code files to overwrite existing ones."; + + private const string ASSET_MENU_ORDER_LABEL = "Create Asset Menu Order"; + private const string ASSET_MENU_ORDER_DESCRIPTION = + "This determines the order in which the CreateAsset Context Menu will be placed into."; + + private static readonly GUILayoutOption MAX_WIDTH; + +#if UNITY_2018_3_OR_NEWER + // Searchable Fields + private static readonly string[] KEYWORDS = + { + "Scriptable", + "Architecture" + }; +#endif + + // User Editor Preferences + private const string DRAW_EVENT_GIZMOS_PREF = "SOArchitecture.DrawEventGizmoos"; + private const string ENABLE_DEBUG_PREF = "SOArchitecture.EnableDebug"; + + private const bool DRAW_EVENT_GIZMOS_DEFAULT = true; + private const bool ENABLE_DEBUG_DEFAULT = true; + + static SOArchitecturePreferences() + { + MAX_WIDTH = GUILayout.MaxWidth(200f); + } + +#if UNITY_2018_3_OR_NEWER + [SettingsProvider] + private static SettingsProvider CreateProjectPreferenceSettingsProvider() + { + return new SettingsProvider(PROJECT_TITLE_PATH, SettingsScope.Project) + { + guiHandler = DrawProjectGUI, + keywords = KEYWORDS + }; + } + + [SettingsProvider] + private static SettingsProvider CreatePersonalPreferenceSettingsProvider() + { + return new SettingsProvider(PREFERENCES_TITLE_PATH, SettingsScope.User) + { + guiHandler = DrawPersonalPrefsGUI, + keywords = KEYWORDS + }; + } +#endif + private static void DrawAllGUI() + { + DrawProjectGUI(); + DrawPersonalPrefsGUI(); + } + + private static void DrawProjectGUI(string value = "") + { + EditorGUILayout.LabelField(PROJECT_REFERENCES_HEADER, EditorStyles.boldLabel); + + var settings = SOArchitecture_Settings.Instance; + + GUI.changed = false; + + // Code Generation Target Directory + EditorGUILayout.HelpBox(CODE_GEN_DIRECTORY_DESCRIPTION, MessageType.Info); + using (new EditorGUILayout.HorizontalScope()) + { + EditorGUILayout.LabelField(new GUIContent(CODE_GEN_DIRECTORY_LABEL), MAX_WIDTH); + var directory = EditorGUILayout.TextField(settings.CodeGenerationTargetDirectory); + settings.CodeGenerationTargetDirectory = directory; + } + + // Code Generation Allow Overwrite + EditorGUILayout.HelpBox(ALLOW_OVERWRITE_DESCRIPTION, MessageType.Info); + using (new EditorGUILayout.HorizontalScope()) + { + EditorGUILayout.LabelField(new GUIContent(ALLOW_OVERWRITE_LABEL), MAX_WIDTH); + var newOverwrite = EditorGUILayout.Toggle(settings.CodeGenerationAllowOverwrite); + settings.CodeGenerationAllowOverwrite = newOverwrite; + } + + // Default Create Asset Menu Order + EditorGUILayout.HelpBox(ASSET_MENU_ORDER_DESCRIPTION, MessageType.Info); + using (new EditorGUILayout.HorizontalScope()) + { + EditorGUILayout.LabelField(ASSET_MENU_ORDER_LABEL, MAX_WIDTH); + var newMenuOrder = EditorGUILayout.IntField(settings.DefaultCreateAssetMenuOrder); + settings.DefaultCreateAssetMenuOrder = newMenuOrder; + } + + if (GUI.changed) + { + EditorUtility.SetDirty(settings); + } + } + + private static void DrawPersonalPrefsGUI(string value = "") + { + EditorGUILayout.LabelField(USER_PREFERENCES_HEADER, EditorStyles.boldLabel); + + // Draw Event Gizmo + var drawEventPref = GetBoolPref(DRAW_EVENT_GIZMOS_PREF, DRAW_EVENT_GIZMOS_DEFAULT); + + GUI.changed = false; + drawEventPref = EditorGUILayout.Toggle("Draw Event Gizmo", drawEventPref); + if (GUI.changed) + { + EditorPrefs.SetBool(DRAW_EVENT_GIZMOS_PREF, drawEventPref); + } + + // Enable Debug + EditorGUILayout.HelpBox("This will enable debug features for troubleshooting purposes such as " + + "game events collecting stack traces. This will decrease performance " + + "in-editor.", MessageType.Info); + var enableDebugPref = GetBoolPref(ENABLE_DEBUG_PREF, ENABLE_DEBUG_DEFAULT); + + GUI.changed = false; + enableDebugPref = EditorGUILayout.Toggle("Enable Debug", enableDebugPref); + if (GUI.changed) + { + EditorPrefs.SetBool(ENABLE_DEBUG_PREF, enableDebugPref); + } + } + + /// + /// Returns the current bool preference; if none exists, the default is set and returned. + /// + /// + /// + /// + private static bool GetBoolPref(string key, bool defaultValue) + { + if (!EditorPrefs.HasKey(key)) + { + EditorPrefs.SetBool(key, defaultValue); + } + + return EditorPrefs.GetBool(key); + } + } +} + +#endif diff --git a/Architecture/ScriptableObjects/SOArchitecturePreferences.cs.meta b/Architecture/ScriptableObjects/SOArchitecturePreferences.cs.meta new file mode 100644 index 0000000..0cb356a --- /dev/null +++ b/Architecture/ScriptableObjects/SOArchitecturePreferences.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 9d0c49fe7eab4d7ca757da94725d8a49 +timeCreated: 1572336723 \ No newline at end of file diff --git a/Architecture/ScriptableObjects/ScriptableObject-Architecture.asmdef b/Architecture/ScriptableObjects/ScriptableObject-Architecture.asmdef new file mode 100644 index 0000000..5d2a99e --- /dev/null +++ b/Architecture/ScriptableObjects/ScriptableObject-Architecture.asmdef @@ -0,0 +1,3 @@ +{ + "name": "ScriptableObject-Architecture" +} diff --git a/Architecture/ScriptableObjects/ScriptableObject-Architecture.asmdef.meta b/Architecture/ScriptableObjects/ScriptableObject-Architecture.asmdef.meta new file mode 100644 index 0000000..8083725 --- /dev/null +++ b/Architecture/ScriptableObjects/ScriptableObject-Architecture.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 63ebd60d5c68886498ecfee04b5d6a12 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Utility.meta b/Architecture/ScriptableObjects/Utility.meta new file mode 100644 index 0000000..9f25f9c --- /dev/null +++ b/Architecture/ScriptableObjects/Utility.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b6479980cb49bd94da3fcf1a66ad0bea +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Utility/IStackTraceObject.cs b/Architecture/ScriptableObjects/Utility/IStackTraceObject.cs new file mode 100644 index 0000000..61d3d9c --- /dev/null +++ b/Architecture/ScriptableObjects/Utility/IStackTraceObject.cs @@ -0,0 +1,12 @@ +using System.Collections.Generic; + +namespace ScriptableObjectArchitecture +{ + public interface IStackTraceObject + { + List StackTraces { get; } + + void AddStackTrace(); + void AddStackTrace(object value); + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Utility/IStackTraceObject.cs.meta b/Architecture/ScriptableObjects/Utility/IStackTraceObject.cs.meta new file mode 100644 index 0000000..f262de2 --- /dev/null +++ b/Architecture/ScriptableObjects/Utility/IStackTraceObject.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 62f02be7097541046bd8fa50148dd42c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Utility/SOArchitectureBaseMonobehaviour.cs b/Architecture/ScriptableObjects/Utility/SOArchitectureBaseMonobehaviour.cs new file mode 100644 index 0000000..7e6cbcd --- /dev/null +++ b/Architecture/ScriptableObjects/Utility/SOArchitectureBaseMonobehaviour.cs @@ -0,0 +1,11 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + /// + /// Base class for SOArchitecture assets + /// + public abstract class SOArchitectureBaseMonobehaviour : MonoBehaviour + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Utility/SOArchitectureBaseMonobehaviour.cs.meta b/Architecture/ScriptableObjects/Utility/SOArchitectureBaseMonobehaviour.cs.meta new file mode 100644 index 0000000..a17d54b --- /dev/null +++ b/Architecture/ScriptableObjects/Utility/SOArchitectureBaseMonobehaviour.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 092226688b5834b4f8fae4c6deee33be +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Utility/SOArchitectureBaseObject.cs b/Architecture/ScriptableObjects/Utility/SOArchitectureBaseObject.cs new file mode 100644 index 0000000..f7f5546 --- /dev/null +++ b/Architecture/ScriptableObjects/Utility/SOArchitectureBaseObject.cs @@ -0,0 +1,11 @@ +using UnityEngine; + +namespace ScriptableObjectArchitecture +{ + /// + /// Base class for SOArchitecture assets + /// + public abstract class SOArchitectureBaseObject : ScriptableObject + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Utility/SOArchitectureBaseObject.cs.meta b/Architecture/ScriptableObjects/Utility/SOArchitectureBaseObject.cs.meta new file mode 100644 index 0000000..e372c11 --- /dev/null +++ b/Architecture/ScriptableObjects/Utility/SOArchitectureBaseObject.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0cb41ac313513f9459c6e53f1a536e63 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Utility/SOArchitecture_Settings.cs b/Architecture/ScriptableObjects/Utility/SOArchitecture_Settings.cs new file mode 100644 index 0000000..1f4ae4c --- /dev/null +++ b/Architecture/ScriptableObjects/Utility/SOArchitecture_Settings.cs @@ -0,0 +1,111 @@ +using UnityEngine; +#if UNITY_EDITOR +using UnityEditor; +#endif + +namespace ScriptableObjectArchitecture +{ + public class SOArchitecture_Settings : ScriptableObject + { + #region Singleton + public static SOArchitecture_Settings Instance + { + get + { + if (_instance == null) + _instance = GetInstance(); + + return _instance; + } + } + private static SOArchitecture_Settings _instance; + + private static SOArchitecture_Settings GetInstance() + { +#if UNITY_EDITOR + SOArchitecture_Settings instance = FindInstanceInProject(); + + if (instance == null) + return CreateInstance(); + + return instance; +#else + return null; +#endif + } + private static SOArchitecture_Settings FindInstanceInProject() + { +#if UNITY_EDITOR + string[] settingsGUIDs = AssetDatabase.FindAssets(AssetDatabaseSearchString); + + if(settingsGUIDs.Length == 0) + { + return null; + } + else if(settingsGUIDs.Length > 1) + { + Debug.LogWarning("Found more than one instance of SOArchitecture_Settings, you've probably created several SOA settings objects." + + $"\nTo find all instances, type {AssetDatabaseSearchString} into the project view search bar"); + return null; + } + else + { + string settingsPath = AssetDatabase.GUIDToAssetPath(settingsGUIDs[0]); + return AssetDatabase.LoadAssetAtPath(settingsPath); + } +#else + throw new System.NullReferenceException(); +#endif + } + private static SOArchitecture_Settings CreateInstance() + { +#if UNITY_EDITOR + SOArchitecture_Settings newSettings = CreateInstance(); + + AssetDatabase.CreateAsset(newSettings, DefaultNewSettingsLocation + DefaultNewSettingsName); + AssetDatabase.SaveAssets(); + + Selection.activeObject = newSettings; + + Debug.LogWarning("No SOArchitecture_Settings asset found! " + + "Created new one at asset root, feel free to move it wherever you please in your project.", newSettings); + + return newSettings; +#else + throw new System.NullReferenceException(); +#endif + } + + private const string AssetDatabaseSearchString = "t:SOArchitecture_Settings"; + private const string DefaultNewSettingsLocation = "Assets\\"; + private const string DefaultNewSettingsName = "SOArchitecture_Settings.asset"; +#endregion + + public string CodeGenerationTargetDirectory + { + get { return _codeGenerationTargetDirectory; } + set { _codeGenerationTargetDirectory = value; } + } + + public bool CodeGenerationAllowOverwrite + { + get { return _codeGenerationAllowOverwrite; } + set { _codeGenerationAllowOverwrite = value; } + } + + public int DefaultCreateAssetMenuOrder + { + get { return _defualtCreateAssetMenuOrder; } + set { _defualtCreateAssetMenuOrder = value; } + } + + [SerializeField] + private string _codeGenerationTargetDirectory = "CODE_GENERATION"; + + [SerializeField, Tooltip("Allow newly generated code files to overwrite existing ones")] + private bool _codeGenerationAllowOverwrite = false; + + [SerializeField] + private int _defualtCreateAssetMenuOrder = 120; + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Utility/SOArchitecture_Settings.cs.meta b/Architecture/ScriptableObjects/Utility/SOArchitecture_Settings.cs.meta new file mode 100644 index 0000000..17bb5c4 --- /dev/null +++ b/Architecture/ScriptableObjects/Utility/SOArchitecture_Settings.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f351fc1a6cf09e6429d7fcee563de780 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Utility/SOArchitecture_Utility.cs b/Architecture/ScriptableObjects/Utility/SOArchitecture_Utility.cs new file mode 100644 index 0000000..ece87a1 --- /dev/null +++ b/Architecture/ScriptableObjects/Utility/SOArchitecture_Utility.cs @@ -0,0 +1,21 @@ +namespace ScriptableObjectArchitecture +{ + public static class SOArchitecture_Utility + { + public const int ASSET_MENU_ORDER_VARIABLES = 121; + public const int ASSET_MENU_ORDER_EVENTS = 122; + public const int ASSET_MENU_ORDER_COLLECTIONS = 123; + + public const string VARIABLE_SUBMENU = "Variables/"; + public const string COLLECTION_SUBMENU = "Collections/"; + public const string GAME_EVENT = "Game Events/"; + + public const string ADVANCED_GAME_EVENT = GAME_EVENT + "Advanced/"; + public const string ADVANCED_VARIABLE_SUBMENU = VARIABLE_SUBMENU + "Advanced/"; + public const string ADVANCED_VARIABLE_COLLECTION = COLLECTION_SUBMENU + "Advanced/"; + + // Add Component Menus + public const string ADD_COMPONENT_ROOT_MENU = "SO Architecture/"; + public const string EVENT_LISTENER_SUBMENU = ADD_COMPONENT_ROOT_MENU + "Event Listeners/"; + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Utility/SOArchitecture_Utility.cs.meta b/Architecture/ScriptableObjects/Utility/SOArchitecture_Utility.cs.meta new file mode 100644 index 0000000..117609f --- /dev/null +++ b/Architecture/ScriptableObjects/Utility/SOArchitecture_Utility.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 10c95056b93db0b4780f5945f99cca43 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Variables.meta b/Architecture/ScriptableObjects/Variables.meta new file mode 100644 index 0000000..9a06541 --- /dev/null +++ b/Architecture/ScriptableObjects/Variables.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0697a6a25a02260479fb4e5c315a2b94 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Variables/AnimationCurveVariable.cs b/Architecture/ScriptableObjects/Variables/AnimationCurveVariable.cs new file mode 100644 index 0000000..5e40101 --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/AnimationCurveVariable.cs @@ -0,0 +1,16 @@ +using UnityEngine; +using UnityEngine.Events; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public class AnimationCurveEvent : UnityEvent { } + + [CreateAssetMenu( + fileName = "AnimationCurveVariable.asset", + menuName = SOArchitecture_Utility.ADVANCED_VARIABLE_SUBMENU + "AnimationCurve", + order = 120)] + public class AnimationCurveVariable : BaseVariable + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Variables/AnimationCurveVariable.cs.meta b/Architecture/ScriptableObjects/Variables/AnimationCurveVariable.cs.meta new file mode 100644 index 0000000..bf432ca --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/AnimationCurveVariable.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 279a0d9baabc0c24ebe3232f4a6f1805 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 90a6a74456e4a2d43a54b14515ea4e93, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Variables/AudioClipVariable.cs b/Architecture/ScriptableObjects/Variables/AudioClipVariable.cs new file mode 100644 index 0000000..ef31b3e --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/AudioClipVariable.cs @@ -0,0 +1,16 @@ +using UnityEngine; +using UnityEngine.Events; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public class AudioClipEvent : UnityEvent { } + + [CreateAssetMenu( + fileName = "AudioClipVariable.asset", + menuName = SOArchitecture_Utility.ADVANCED_VARIABLE_SUBMENU + "AudioClip", + order = 120)] + public class AudioClipVariable : BaseVariable + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Variables/AudioClipVariable.cs.meta b/Architecture/ScriptableObjects/Variables/AudioClipVariable.cs.meta new file mode 100644 index 0000000..02aa662 --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/AudioClipVariable.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 10e15471fce300141a1607882e72703d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 790f683b8bdc21549844ccedf9d4af47, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Variables/BaseVariable.cs b/Architecture/ScriptableObjects/Variables/BaseVariable.cs new file mode 100644 index 0000000..35c5cc4 --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/BaseVariable.cs @@ -0,0 +1,154 @@ +using UnityEngine; +using UnityEngine.Events; + +namespace ScriptableObjectArchitecture +{ + public abstract class BaseVariable : GameEventBase + { + public abstract bool IsClamped { get; } + public abstract bool Clampable { get; } + public abstract bool ReadOnly { get; } + public abstract System.Type Type { get; } + public abstract object BaseValue { get; set; } + } + public abstract class BaseVariable : BaseVariable + { + public virtual T Value + { + get + { + return _value; + } + set + { + _value = SetValue(value); + Raise(); + } + } + public virtual T MinClampValue + { + get + { + if(Clampable) + { + return _minClampedValue; + } + else + { + return default(T); + } + } + } + public virtual T MaxClampValue + { + get + { + if(Clampable) + { + return _maxClampedValue; + } + else + { + return default(T); + } + } + } + + public override bool Clampable { get { return false; } } + public override bool ReadOnly { get { return _readOnly; } } + public override bool IsClamped { get { return _isClamped; } } + public override System.Type Type { get { return typeof(T); } } + public override object BaseValue + { + get + { + return _value; + } + set + { + _value = SetValue((T)value); + Raise(); + } + } + + [SerializeField] + protected T _value = default(T); + [SerializeField] + private bool _readOnly = false; + [SerializeField] + private bool _raiseWarning = true; + [SerializeField] + protected bool _isClamped = false; + [SerializeField] + protected T _minClampedValue = default(T); + [SerializeField] + protected T _maxClampedValue = default(T); + + public virtual T SetValue(BaseVariable value) + { + return SetValue(value.Value); + } + public virtual T SetValue(T value) + { + if (_readOnly) + { + RaiseReadonlyWarning(); + return _value; + } + else if(Clampable && IsClamped) + { + return ClampValue(value); + } + + return value; + } + protected virtual T ClampValue(T value) + { + return value; + } + private void RaiseReadonlyWarning() + { + if (!_readOnly || !_raiseWarning) + return; + + Debug.LogWarning("Tried to set value on " + name + ", but value is readonly!", this); + } + public override string ToString() + { + return _value == null ? "null" : _value.ToString(); + } + public static implicit operator T(BaseVariable variable) + { + return variable.Value; + } + } + public abstract class BaseVariable : BaseVariable where TEvent : UnityEvent + { + [SerializeField] + private TEvent _event = default; + + public override T SetValue(T value) + { + T oldValue = _value; + T newValue = base.SetValue(value); + + if (!newValue.Equals(oldValue)) + _event.Invoke(newValue); + + return newValue; + } + public void AddListener(UnityAction callback) + { + _event.AddListener(callback); + } + public void RemoveListener(UnityAction callback) + { + _event.RemoveListener(callback); + } + public override void RemoveAll() + { + base.RemoveAll(); + _event.RemoveAllListeners(); + } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Variables/BaseVariable.cs.meta b/Architecture/ScriptableObjects/Variables/BaseVariable.cs.meta new file mode 100644 index 0000000..eb5739b --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/BaseVariable.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 13734e69b3fe7d146b417327b51c47b5 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Variables/BoolVariable.cs b/Architecture/ScriptableObjects/Variables/BoolVariable.cs new file mode 100644 index 0000000..8993f51 --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/BoolVariable.cs @@ -0,0 +1,16 @@ +using UnityEngine; +using UnityEngine.Events; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public class BoolEvent : UnityEvent { } + + [CreateAssetMenu( + fileName = "BoolVariable.asset", + menuName = SOArchitecture_Utility.VARIABLE_SUBMENU + "bool", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_COLLECTIONS + 5)] + public sealed class BoolVariable : BaseVariable + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Variables/BoolVariable.cs.meta b/Architecture/ScriptableObjects/Variables/BoolVariable.cs.meta new file mode 100644 index 0000000..5395158 --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/BoolVariable.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 168ff32065cd13747a95ae8c9d2a0232 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 9415e294b3c3de24a9395373a02b5381, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Variables/ByteVariable.cs b/Architecture/ScriptableObjects/Variables/ByteVariable.cs new file mode 100644 index 0000000..f73485e --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/ByteVariable.cs @@ -0,0 +1,32 @@ +using UnityEngine; +using UnityEngine.Events; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public class ByteEvent : UnityEvent { } + + [CreateAssetMenu( + fileName = "ByteVariable.asset", + menuName = SOArchitecture_Utility.ADVANCED_VARIABLE_SUBMENU + "byte", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_COLLECTIONS + 6)] + public class ByteVariable : BaseVariable + { + public override bool Clampable { get { return true; } } + protected override byte ClampValue(byte value) + { + if (value.CompareTo(MinClampValue) < 0) + { + return MinClampValue; + } + else if (value.CompareTo(MaxClampValue) > 0) + { + return MaxClampValue; + } + else + { + return value; + } + } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Variables/ByteVariable.cs.meta b/Architecture/ScriptableObjects/Variables/ByteVariable.cs.meta new file mode 100644 index 0000000..0ba198d --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/ByteVariable.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f246d02ca9896ef4da3f5595979531c2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: f1f8f2ede6e8864479d57c5e218a4ae0, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Variables/CharVariable.cs b/Architecture/ScriptableObjects/Variables/CharVariable.cs new file mode 100644 index 0000000..2c95e78 --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/CharVariable.cs @@ -0,0 +1,16 @@ +using UnityEngine; +using UnityEngine.Events; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public class CharEvent : UnityEvent { } + + [CreateAssetMenu( + fileName = "CharVariable.asset", + menuName = SOArchitecture_Utility.ADVANCED_VARIABLE_SUBMENU + "char", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_COLLECTIONS + 7)] + public sealed class CharVariable : BaseVariable + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Variables/CharVariable.cs.meta b/Architecture/ScriptableObjects/Variables/CharVariable.cs.meta new file mode 100644 index 0000000..c846805 --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/CharVariable.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c05c58558375b6c4c9669531f002410c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 9c5ff1f386b89d5428acb123510d9d83, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Variables/Color32Variable.cs b/Architecture/ScriptableObjects/Variables/Color32Variable.cs new file mode 100644 index 0000000..8e3c0a9 --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/Color32Variable.cs @@ -0,0 +1,16 @@ +using UnityEngine; +using UnityEngine.Events; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public class Color32Event : UnityEvent { } + + [CreateAssetMenu( + fileName = "Color32Variable.asset", + menuName = SOArchitecture_Utility.VARIABLE_SUBMENU + "Structs/Color32", + order = 120)] + public class Color32Variable : BaseVariable + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Variables/Color32Variable.cs.meta b/Architecture/ScriptableObjects/Variables/Color32Variable.cs.meta new file mode 100644 index 0000000..8088697 --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/Color32Variable.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 64a430afdb376314fbd89f089f535933 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: ec6c4534cdd1d2544ad50302d7cfae05, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Variables/ColorVariable.cs b/Architecture/ScriptableObjects/Variables/ColorVariable.cs new file mode 100644 index 0000000..59b076d --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/ColorVariable.cs @@ -0,0 +1,16 @@ +using UnityEngine; +using UnityEngine.Events; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public class ColorEvent : UnityEvent { } + + [CreateAssetMenu( + fileName = "ColorVariable.asset", + menuName = SOArchitecture_Utility.VARIABLE_SUBMENU + "Structs/Color", + order = 120)] + public class ColorVariable : BaseVariable + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Variables/ColorVariable.cs.meta b/Architecture/ScriptableObjects/Variables/ColorVariable.cs.meta new file mode 100644 index 0000000..6026d5d --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/ColorVariable.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c37f7adeea8d5df4aa3f5c6e8ff76260 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: ec6c4534cdd1d2544ad50302d7cfae05, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Variables/DoubleVariable.cs b/Architecture/ScriptableObjects/Variables/DoubleVariable.cs new file mode 100644 index 0000000..525a782 --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/DoubleVariable.cs @@ -0,0 +1,32 @@ +using UnityEngine; +using UnityEngine.Events; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public class DoubleEvent : UnityEvent { } + + [CreateAssetMenu( + fileName = "DoubleVariable.asset", + menuName = SOArchitecture_Utility.ADVANCED_VARIABLE_SUBMENU + "double", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_COLLECTIONS + 8)] + public class DoubleVariable : BaseVariable + { + public override bool Clampable { get { return true; } } + protected override double ClampValue(double value) + { + if (value.CompareTo(MinClampValue) < 0) + { + return MinClampValue; + } + else if (value.CompareTo(MaxClampValue) > 0) + { + return MaxClampValue; + } + else + { + return value; + } + } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Variables/DoubleVariable.cs.meta b/Architecture/ScriptableObjects/Variables/DoubleVariable.cs.meta new file mode 100644 index 0000000..0aa8100 --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/DoubleVariable.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 286e3b61bce268347997b6dec5f26896 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 8c542e5e7854e2d4dbae9415a645693c, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Variables/FloatVariable.cs b/Architecture/ScriptableObjects/Variables/FloatVariable.cs new file mode 100644 index 0000000..aed706d --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/FloatVariable.cs @@ -0,0 +1,32 @@ +using UnityEngine; +using UnityEngine.Events; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public class FloatEvent : UnityEvent { } + + [CreateAssetMenu( + fileName = "FloatVariable.asset", + menuName = SOArchitecture_Utility.VARIABLE_SUBMENU + "float", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_COLLECTIONS + 3)] + public class FloatVariable : BaseVariable + { + public override bool Clampable { get { return true; } } + protected override float ClampValue(float value) + { + if (value.CompareTo(MinClampValue) < 0) + { + return MinClampValue; + } + else if (value.CompareTo(MaxClampValue) > 0) + { + return MaxClampValue; + } + else + { + return value; + } + } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Variables/FloatVariable.cs.meta b/Architecture/ScriptableObjects/Variables/FloatVariable.cs.meta new file mode 100644 index 0000000..f14a2c4 --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/FloatVariable.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f9377ffeb64ba30478a995a8ffc78ae8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 73168a42c0edd8e429fbbd32b0d928db, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Variables/GameObjectVariable.cs b/Architecture/ScriptableObjects/Variables/GameObjectVariable.cs new file mode 100644 index 0000000..2364422 --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/GameObjectVariable.cs @@ -0,0 +1,16 @@ +using UnityEngine; +using UnityEngine.Events; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public class GameObjectEvent : UnityEvent { } + + [CreateAssetMenu( + fileName = "GameObjectVariable.asset", + menuName = SOArchitecture_Utility.VARIABLE_SUBMENU + "GameObject", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_COLLECTIONS + 0)] + public sealed class GameObjectVariable : BaseVariable + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Variables/GameObjectVariable.cs.meta b/Architecture/ScriptableObjects/Variables/GameObjectVariable.cs.meta new file mode 100644 index 0000000..e5f1112 --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/GameObjectVariable.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: edc690a6e84028a488f0c8e94cbc98bd +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: a3544c3af310c8f44a5f4947b40c0d58, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Variables/IntVariable.cs b/Architecture/ScriptableObjects/Variables/IntVariable.cs new file mode 100644 index 0000000..b864d49 --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/IntVariable.cs @@ -0,0 +1,32 @@ +using UnityEngine; +using UnityEngine.Events; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public class IntEvent : UnityEvent { } + + [CreateAssetMenu( + fileName = "IntVariable.asset", + menuName = SOArchitecture_Utility.VARIABLE_SUBMENU + "int", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_COLLECTIONS + 4)] + public class IntVariable : BaseVariable + { + public override bool Clampable { get { return true; } } + protected override int ClampValue(int value) + { + if (value.CompareTo(MinClampValue) < 0) + { + return MinClampValue; + } + else if (value.CompareTo(MaxClampValue) > 0) + { + return MaxClampValue; + } + else + { + return value; + } + } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Variables/IntVariable.cs.meta b/Architecture/ScriptableObjects/Variables/IntVariable.cs.meta new file mode 100644 index 0000000..97a2eae --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/IntVariable.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a56a9b97a78f01f4b97f217c74f00246 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 13e475cb7912eeb4894a465fb6731c8c, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Variables/LayerMaskVariable.cs b/Architecture/ScriptableObjects/Variables/LayerMaskVariable.cs new file mode 100644 index 0000000..5481153 --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/LayerMaskVariable.cs @@ -0,0 +1,16 @@ +using UnityEngine; +using UnityEngine.Events; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public class LayerMaskEvent : UnityEvent { } + + [CreateAssetMenu( + fileName = "LayerMaskVariable.asset", + menuName = SOArchitecture_Utility.ADVANCED_VARIABLE_SUBMENU + "LayerMask", + order = 120)] + public class LayerMaskVariable : BaseVariable + { + } +} diff --git a/Architecture/ScriptableObjects/Variables/LayerMaskVariable.cs.meta b/Architecture/ScriptableObjects/Variables/LayerMaskVariable.cs.meta new file mode 100644 index 0000000..3f676a5 --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/LayerMaskVariable.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4b26aa8462eb624458ecacd922a870e8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 773e015a7b5b1d04b90d89056380b2dd, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Variables/LongVariable.cs b/Architecture/ScriptableObjects/Variables/LongVariable.cs new file mode 100644 index 0000000..2d22846 --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/LongVariable.cs @@ -0,0 +1,32 @@ +using UnityEngine; +using UnityEngine.Events; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public class LongEvent : UnityEvent { } + + [CreateAssetMenu( + fileName = "LongVariable.asset", + menuName = SOArchitecture_Utility.ADVANCED_VARIABLE_SUBMENU + "long", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_COLLECTIONS + 9)] + public class LongVariable : BaseVariable + { + public override bool Clampable { get { return true; } } + protected override long ClampValue(long value) + { + if (value.CompareTo(MinClampValue) < 0) + { + return MinClampValue; + } + else if (value.CompareTo(MaxClampValue) > 0) + { + return MaxClampValue; + } + else + { + return value; + } + } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Variables/LongVariable.cs.meta b/Architecture/ScriptableObjects/Variables/LongVariable.cs.meta new file mode 100644 index 0000000..eb66d95 --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/LongVariable.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 50e02b493210a474f8f6cde2ba9f6150 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 4263932218259524f8182efeb60b2bd8, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Variables/ObjectVariable.cs b/Architecture/ScriptableObjects/Variables/ObjectVariable.cs new file mode 100644 index 0000000..f418192 --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/ObjectVariable.cs @@ -0,0 +1,16 @@ +using UnityEngine; +using UnityEngine.Events; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public class ObjectEvent : UnityEvent { } + + [CreateAssetMenu( + fileName = "ObjectVariable.asset", + menuName = SOArchitecture_Utility.VARIABLE_SUBMENU + "Object", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_COLLECTIONS + 1)] + public class ObjectVariable : BaseVariable + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Variables/ObjectVariable.cs.meta b/Architecture/ScriptableObjects/Variables/ObjectVariable.cs.meta new file mode 100644 index 0000000..9a9fec1 --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/ObjectVariable.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d74bacc6470d5f64cbb226a9325213db +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: acd051de47773d84f9371e040d45f547, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Variables/QuaternionVariable.cs b/Architecture/ScriptableObjects/Variables/QuaternionVariable.cs new file mode 100644 index 0000000..414bd42 --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/QuaternionVariable.cs @@ -0,0 +1,16 @@ +using UnityEngine; +using UnityEngine.Events; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public class QuaternionEvent : UnityEvent { } + + [CreateAssetMenu( + fileName = "QuaternionVariable.asset", + menuName = SOArchitecture_Utility.VARIABLE_SUBMENU + "Structs/Quaternion", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_COLLECTIONS + 13)] + public sealed class QuaternionVariable : BaseVariable + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Variables/QuaternionVariable.cs.meta b/Architecture/ScriptableObjects/Variables/QuaternionVariable.cs.meta new file mode 100644 index 0000000..95be022 --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/QuaternionVariable.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f722081b3e7717849b9b80bdafe2891c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 33979cf2334958d41b7fc53c43132eda, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Variables/SByteVariable.cs b/Architecture/ScriptableObjects/Variables/SByteVariable.cs new file mode 100644 index 0000000..dbe9f87 --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/SByteVariable.cs @@ -0,0 +1,32 @@ +using UnityEngine; +using UnityEngine.Events; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public class SByteEvent : UnityEvent { } + + [CreateAssetMenu( + fileName = "SByteVariable.asset", + menuName = SOArchitecture_Utility.ADVANCED_VARIABLE_SUBMENU + "sbyte", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_COLLECTIONS + 15)] + public class SByteVariable : BaseVariable + { + public override bool Clampable { get { return true; } } + protected override sbyte ClampValue(sbyte value) + { + if (value.CompareTo(MinClampValue) < 0) + { + return MinClampValue; + } + else if (value.CompareTo(MaxClampValue) > 0) + { + return MaxClampValue; + } + else + { + return value; + } + } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Variables/SByteVariable.cs.meta b/Architecture/ScriptableObjects/Variables/SByteVariable.cs.meta new file mode 100644 index 0000000..5473838 --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/SByteVariable.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ae0f30c5c8add434d8922440346dbddf +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 16fe4ae2595371a4cbec816a6af044d0, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Variables/SceneVariable.cs b/Architecture/ScriptableObjects/Variables/SceneVariable.cs new file mode 100644 index 0000000..b87beed --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/SceneVariable.cs @@ -0,0 +1,131 @@ +using System; +using UnityEngine; +using UnityEngine.Events; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public class SceneInfoEvent : UnityEvent { } + + /// + /// is a scriptable constant variable whose scene values are assigned at + /// edit-time by assigning a instance to it. + /// + [CreateAssetMenu( + fileName = "SceneVariable.asset", + menuName = SOArchitecture_Utility.ADVANCED_VARIABLE_SUBMENU + "Scene", + order = 120)] + public sealed class SceneVariable : BaseVariable + { + /// + /// Returns the of this instance. + /// + public override SceneInfo Value + { + get { return _value; } + } + + public override bool ReadOnly + { + get + { + // A scene variable is essentially a constant for edit-time modification only; there is not + // any kind of expectation for a user to be able to set this at runtime. + return true; + } + } + } + + [Serializable] + [MultiLine] + public sealed class SceneInfo : ISerializationCallbackReceiver + { + /// + /// Returns the fully-qualified name of the scene. + /// + public string SceneName + { + get { return _sceneName; } + } + + /// + /// Returns the index of the scene in the build settings; if not present, -1 will be returned instead. + /// + public int SceneIndex + { + get { return _sceneIndex; } + internal set { _sceneIndex = value; } + } + + /// + /// Returns true if the scene is present in the build settings, otherwise false. + /// + public bool IsSceneInBuildSettings + { + get { return _sceneIndex != -1; } + } + + /// + /// Returns true if the scene is enabled in the build settings, otherwise false. + /// + public bool IsSceneEnabled + { + get { return _isSceneEnabled; } + internal set { _isSceneEnabled = value; } + } + + #if UNITY_EDITOR + internal UnityEditor.SceneAsset Scene + { + get { return UnityEditor.AssetDatabase.LoadAssetAtPath(_sceneName); } + } + #endif + + #pragma warning disable 0649 + + [SerializeField] + private string _sceneName; + + [SerializeField] + private int _sceneIndex; + + [SerializeField] + private bool _isSceneEnabled; + + #pragma warning restore 0649 + + public SceneInfo() + { + _sceneIndex = -1; + } + + #region ISerializationCallbackReceiver + + public void OnBeforeSerialize() + { + #if UNITY_EDITOR + if (Scene != null) + { + var sceneAssetPath = UnityEditor.AssetDatabase.GetAssetPath(Scene); + var sceneAssetGUID = UnityEditor.AssetDatabase.AssetPathToGUID(sceneAssetPath); + var scenes = UnityEditor.EditorBuildSettings.scenes; + + SceneIndex = -1; + for (var i = 0; i < scenes.Length; i++) + { + if (scenes[i].guid.ToString() == sceneAssetGUID) + { + SceneIndex = i; + IsSceneEnabled = scenes[i].enabled; + break; + } + } + } + #endif + } + + public void OnAfterDeserialize(){} + + #endregion + } +} diff --git a/Architecture/ScriptableObjects/Variables/SceneVariable.cs.meta b/Architecture/ScriptableObjects/Variables/SceneVariable.cs.meta new file mode 100644 index 0000000..269679a --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/SceneVariable.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2953c036c3bbfff4283215395edf0cd8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 9e50d8100875e98459ea1e86d378b9f8, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Variables/ShortVariable.cs b/Architecture/ScriptableObjects/Variables/ShortVariable.cs new file mode 100644 index 0000000..7de7363 --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/ShortVariable.cs @@ -0,0 +1,32 @@ +using UnityEngine; +using UnityEngine.Events; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public class ShortEvent : UnityEvent { } + + [CreateAssetMenu( + fileName = "ShortVariable.asset", + menuName = SOArchitecture_Utility.ADVANCED_VARIABLE_SUBMENU + "short", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_COLLECTIONS + 14)] + public class ShortVariable : BaseVariable + { + public override bool Clampable { get { return true; } } + protected override short ClampValue(short value) + { + if (value.CompareTo(MinClampValue) < 0) + { + return MinClampValue; + } + else if (value.CompareTo(MaxClampValue) > 0) + { + return MaxClampValue; + } + else + { + return value; + } + } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Variables/ShortVariable.cs.meta b/Architecture/ScriptableObjects/Variables/ShortVariable.cs.meta new file mode 100644 index 0000000..9ace80f --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/ShortVariable.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8c8c4010aabb6e64f9a0ea607a8730e0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 3fb47467c61128c46a353baea763fee2, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Variables/StringVariable.cs b/Architecture/ScriptableObjects/Variables/StringVariable.cs new file mode 100644 index 0000000..6ebe84b --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/StringVariable.cs @@ -0,0 +1,16 @@ +using UnityEngine; +using UnityEngine.Events; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public class StringEvent : UnityEvent { } + + [CreateAssetMenu( + fileName = "StringVariable.asset", + menuName = SOArchitecture_Utility.VARIABLE_SUBMENU + "string", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_COLLECTIONS + 2)] + public sealed class StringVariable : BaseVariable + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Variables/StringVariable.cs.meta b/Architecture/ScriptableObjects/Variables/StringVariable.cs.meta new file mode 100644 index 0000000..3a1eefe --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/StringVariable.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2474e5d1f7070d64da66908d8dabfce4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: d03fb38302613674e9ff6a910ad8ae52, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Variables/UIntVariable.cs b/Architecture/ScriptableObjects/Variables/UIntVariable.cs new file mode 100644 index 0000000..29d4591 --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/UIntVariable.cs @@ -0,0 +1,32 @@ +using UnityEngine; +using UnityEngine.Events; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public class UIntEvent : UnityEvent { } + + [CreateAssetMenu( + fileName = "UnsignedIntVariable.asset", + menuName = SOArchitecture_Utility.ADVANCED_VARIABLE_SUBMENU + "uint", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_COLLECTIONS + 16)] + public class UIntVariable : BaseVariable + { + public override bool Clampable { get { return true; } } + protected override uint ClampValue(uint value) + { + if (value.CompareTo(MinClampValue) < 0) + { + return MinClampValue; + } + else if (value.CompareTo(MaxClampValue) > 0) + { + return MaxClampValue; + } + else + { + return value; + } + } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Variables/UIntVariable.cs.meta b/Architecture/ScriptableObjects/Variables/UIntVariable.cs.meta new file mode 100644 index 0000000..e212136 --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/UIntVariable.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: dc7ac7cf86ca53c4f97e83018dbbfb99 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: f014dd179639d1e46a063ea6f84ee6d2, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Variables/ULongVariable.cs b/Architecture/ScriptableObjects/Variables/ULongVariable.cs new file mode 100644 index 0000000..e1a3238 --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/ULongVariable.cs @@ -0,0 +1,32 @@ +using UnityEngine; +using UnityEngine.Events; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public class ULongEvent : UnityEvent { } + + [CreateAssetMenu( + fileName = "UnsignedLongVariable.asset", + menuName = SOArchitecture_Utility.ADVANCED_VARIABLE_SUBMENU + "ulong", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_COLLECTIONS + 17)] + public class ULongVariable : BaseVariable + { + public override bool Clampable { get { return true; } } + protected override ulong ClampValue(ulong value) + { + if (value.CompareTo(MinClampValue) < 0) + { + return MinClampValue; + } + else if (value.CompareTo(MaxClampValue) > 0) + { + return MaxClampValue; + } + else + { + return value; + } + } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Variables/ULongVariable.cs.meta b/Architecture/ScriptableObjects/Variables/ULongVariable.cs.meta new file mode 100644 index 0000000..62883b4 --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/ULongVariable.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: afaa7230249496e4e81d9dafaadec42d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 10bd55e7ce1b4a649aa36f7defd21160, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Variables/UShortVariable.cs b/Architecture/ScriptableObjects/Variables/UShortVariable.cs new file mode 100644 index 0000000..673cf41 --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/UShortVariable.cs @@ -0,0 +1,32 @@ +using UnityEngine; +using UnityEngine.Events; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public class UShortEvent : UnityEvent { } + + [CreateAssetMenu( + fileName = "UnsignedShortVariable.asset", + menuName = SOArchitecture_Utility.ADVANCED_VARIABLE_SUBMENU + "ushort", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_COLLECTIONS + 18)] + public class UShortVariable : BaseVariable + { + public override bool Clampable { get { return true; } } + protected override ushort ClampValue(ushort value) + { + if (value.CompareTo(MinClampValue) < 0) + { + return MinClampValue; + } + else if (value.CompareTo(MaxClampValue) > 0) + { + return MaxClampValue; + } + else + { + return value; + } + } + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Variables/UShortVariable.cs.meta b/Architecture/ScriptableObjects/Variables/UShortVariable.cs.meta new file mode 100644 index 0000000..9aff9b2 --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/UShortVariable.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 38b4db19c88702e4f9fc8a0636c82fa3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 0e386ea6d4343594ca7fcd5e404ce74b, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Variables/Vector2Variable.cs b/Architecture/ScriptableObjects/Variables/Vector2Variable.cs new file mode 100644 index 0000000..49f43bb --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/Vector2Variable.cs @@ -0,0 +1,16 @@ +using UnityEngine; +using UnityEngine.Events; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public class Vector2Event : UnityEvent { } + + [CreateAssetMenu( + fileName = "Vector2Variable.asset", + menuName = SOArchitecture_Utility.VARIABLE_SUBMENU + "Structs/Vector2", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_COLLECTIONS + 10)] + public sealed class Vector2Variable : BaseVariable + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Variables/Vector2Variable.cs.meta b/Architecture/ScriptableObjects/Variables/Vector2Variable.cs.meta new file mode 100644 index 0000000..5f6b17b --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/Vector2Variable.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d6a231661af38844caae4ded01abd631 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 1149df5a9ef735d46a0403a67e3f9c6c, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Variables/Vector3Variable.cs b/Architecture/ScriptableObjects/Variables/Vector3Variable.cs new file mode 100644 index 0000000..1ed1d28 --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/Vector3Variable.cs @@ -0,0 +1,16 @@ +using UnityEngine; +using UnityEngine.Events; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public class Vector3Event : UnityEvent { } + + [CreateAssetMenu( + fileName = "Vector3Variable.asset", + menuName = SOArchitecture_Utility.VARIABLE_SUBMENU + "Structs/Vector3", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_COLLECTIONS + 11)] + public sealed class Vector3Variable : BaseVariable + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Variables/Vector3Variable.cs.meta b/Architecture/ScriptableObjects/Variables/Vector3Variable.cs.meta new file mode 100644 index 0000000..eca3c83 --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/Vector3Variable.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 55a1fbeb783df41428d5464d443e2265 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 330e0b02b1aba674ea99f0c98a4c582c, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/Variables/Vector4Variable.cs b/Architecture/ScriptableObjects/Variables/Vector4Variable.cs new file mode 100644 index 0000000..ace4f13 --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/Vector4Variable.cs @@ -0,0 +1,16 @@ +using UnityEngine; +using UnityEngine.Events; + +namespace ScriptableObjectArchitecture +{ + [System.Serializable] + public class Vector4Event : UnityEvent { } + + [CreateAssetMenu( + fileName = "Vector4Variable.asset", + menuName = SOArchitecture_Utility.VARIABLE_SUBMENU + "Structs/Vector4", + order = SOArchitecture_Utility.ASSET_MENU_ORDER_COLLECTIONS + 12)] + public sealed class Vector4Variable : BaseVariable + { + } +} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/Variables/Vector4Variable.cs.meta b/Architecture/ScriptableObjects/Variables/Vector4Variable.cs.meta new file mode 100644 index 0000000..99260c7 --- /dev/null +++ b/Architecture/ScriptableObjects/Variables/Vector4Variable.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9aafcfecb82f81d4bba4abd0e634e0a5 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: ce89773a8f26fff4daed8453bd00649e, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Architecture/ScriptableObjects/package.json b/Architecture/ScriptableObjects/package.json new file mode 100644 index 0000000..70847a0 --- /dev/null +++ b/Architecture/ScriptableObjects/package.json @@ -0,0 +1 @@ +{"name":"com.danieleverland.scriptableobjectarchitecture","displayName":"ScriptableObject-Architecture","version":"1.6.4","unity":"2019.2","description":"Makes using Scriptable Objects as a fundamental part of your architecture in Unity super easy","keywords":["scriptableobject","architecture"],"category":"Tools"} \ No newline at end of file diff --git a/Architecture/ScriptableObjects/package.json.meta b/Architecture/ScriptableObjects/package.json.meta new file mode 100644 index 0000000..2145bf5 --- /dev/null +++ b/Architecture/ScriptableObjects/package.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d16c742e3eb26354bad67e373cfd1609 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: