├── .gitattributes
├── .github
└── workflows
│ └── ci.yml
├── .gitignore
├── .images
├── add-variable-instancer.gif
├── assign-variable-instancer.gif
├── balloon-animated.gif
├── balloon-event-inspector.png
├── balloon-inspector.png
├── balloon-play-inspector.gif
├── balloon-pops.gif
├── balloon-variable.png
├── choose-variable-type.png
├── clamped-float-inspector.png
├── clamped-int-implicit-conversion.gif
├── create-scriptable-event.png
├── create-variable.png
├── drop-event-on-timeline.gif
├── enable-stack-trace-button.png
├── enemies-in-set.png
├── enemies-inspector-edit-mode.png
├── ext-event-named-argument.png
├── listeners-list.png
├── named-argument-example.png
├── pop-balloon-event.gif
├── reference-inspector.png
├── right-context-menu.png
├── scriptable-event-inspector.png
├── scriptable-event-listener-add.png
├── scriptable-event-listener-choose-type.png
├── scriptable-event-listener-variable-history.png
├── scriptable-event-listener-variable.png
├── scriptable-signal-relayer.png
├── stack-trace-inspector.png
├── stack-trace-project-settings.png
├── timeline-context-menu.png
├── variable-enable-initial-value.png
└── variable-with-history-previous-field.gif
├── .releaserc.json
├── CHANGELOG.md
├── CHANGELOG.md.meta
├── Editor.meta
├── Editor
├── AssemblyInfo.cs
├── AssemblyInfo.cs.meta
├── ClampedDrawers.meta
├── ClampedDrawers
│ ├── ClampedFloatDrawer.cs
│ ├── ClampedFloatDrawer.cs.meta
│ ├── ClampedIntDrawer.cs
│ ├── ClampedIntDrawer.cs.meta
│ ├── ClampedStructDrawer.cs
│ └── ClampedStructDrawer.cs.meta
├── EasyButtons.meta
├── EasyButtons
│ ├── Button.cs
│ ├── Button.cs.meta
│ ├── ButtonWithParams.cs
│ ├── ButtonWithParams.cs.meta
│ ├── ButtonWithoutParams.cs
│ ├── ButtonWithoutParams.cs.meta
│ ├── LICENSE.txt
│ ├── LICENSE.txt.meta
│ ├── NonSerializedError.cs
│ ├── NonSerializedError.cs.meta
│ ├── README.txt
│ ├── README.txt.meta
│ ├── Utils.meta
│ └── Utils
│ │ ├── DrawUtility.cs
│ │ ├── DrawUtility.cs.meta
│ │ ├── ScriptableObjectCache.cs
│ │ ├── ScriptableObjectCache.cs.meta
│ │ ├── StringExtensions.cs
│ │ └── StringExtensions.cs.meta
├── GeneratedComponentsDebugDrawer.cs
├── GeneratedComponentsDebugDrawer.cs.meta
├── GenericScriptableArchitecture.Editor.asmdef
├── GenericScriptableArchitecture.Editor.asmdef.meta
├── InlineEditorCache.cs
├── InlineEditorCache.cs.meta
├── InspectorGUIHelper.cs
├── InspectorGUIHelper.cs.meta
├── MultiValueDrawer.cs
├── MultiValueDrawer.cs.meta
├── ReferenceDrawer.cs
├── ReferenceDrawer.cs.meta
├── Resources.meta
├── Resources
│ ├── LICENSE
│ ├── LICENSE.meta
│ ├── generic-scriptable-architecture-constant.png
│ ├── generic-scriptable-architecture-constant.png.meta
│ ├── generic-scriptable-architecture-event-instancer.png
│ ├── generic-scriptable-architecture-event-instancer.png.meta
│ ├── generic-scriptable-architecture-event.png
│ ├── generic-scriptable-architecture-event.png.meta
│ ├── generic-scriptable-architecture-listener.png
│ ├── generic-scriptable-architecture-listener.png.meta
│ ├── generic-scriptable-architecture-runtime-set.png
│ ├── generic-scriptable-architecture-runtime-set.png.meta
│ ├── generic-scriptable-architecture-variable-history.png
│ ├── generic-scriptable-architecture-variable-history.png.meta
│ ├── generic-scriptable-architecture-variable-instancer-history.png
│ ├── generic-scriptable-architecture-variable-instancer-history.png.meta
│ ├── generic-scriptable-architecture-variable-instancer.png
│ ├── generic-scriptable-architecture-variable-instancer.png.meta
│ ├── generic-scriptable-architecture-variable.png
│ └── generic-scriptable-architecture-variable.png.meta
├── RuntimeSetEditor.cs
├── RuntimeSetEditor.cs.meta
├── ScriptableArchitectureDrawers.cs
├── ScriptableArchitectureDrawers.cs.meta
├── ScriptableEventListenerEditor.cs
├── ScriptableEventListenerEditor.cs.meta
├── ScriptableEvents.meta
├── ScriptableEvents
│ ├── EventInstancerEditor.cs
│ ├── EventInstancerEditor.cs.meta
│ ├── FoldoutList.cs
│ ├── FoldoutList.cs.meta
│ ├── ScriptableEventEditor.cs
│ ├── ScriptableEventEditor.cs.meta
│ ├── ScriptableEventHelperDrawer.cs
│ └── ScriptableEventHelperDrawer.cs.meta
├── StackTrace.meta
├── StackTrace
│ ├── SettingsDrawer.cs
│ ├── SettingsDrawer.cs.meta
│ ├── StackTraceDrawer.cs
│ ├── StackTraceDrawer.cs.meta
│ ├── StackTraceSettings.cs
│ └── StackTraceSettings.cs.meta
├── SymbolManager.cs
├── SymbolManager.cs.meta
├── VariableInstancerEditor.cs
├── VariableInstancerEditor.cs.meta
├── Variables.meta
├── Variables
│ ├── ConstantEditor.cs
│ ├── ConstantEditor.cs.meta
│ ├── PlayModeUpdateHelper.cs
│ ├── PlayModeUpdateHelper.cs.meta
│ ├── PropertyChangeObserver.cs
│ ├── PropertyChangeObserver.cs.meta
│ ├── VariableEditor.cs
│ ├── VariableEditor.cs.meta
│ ├── VariableHelperDrawer.cs
│ ├── VariableHelperDrawer.cs.meta
│ ├── VariableWithHistoryHelperDrawer.cs
│ └── VariableWithHistoryHelperDrawer.cs.meta
├── WildcardScriptableEventListenerEditor.cs
└── WildcardScriptableEventListenerEditor.cs.meta
├── LICENSE
├── LICENSE.meta
├── README.md
├── README.md.meta
├── Runtime.meta
├── Runtime
├── ApplicationUtil.cs
├── ApplicationUtil.cs.meta
├── AssemblyInfo.cs
├── AssemblyInfo.cs.meta
├── Config.cs
├── Config.cs.meta
├── CustomStructures.meta
├── CustomStructures
│ ├── ClampedFloat.cs
│ ├── ClampedFloat.cs.meta
│ ├── ClampedInt.cs
│ └── ClampedInt.cs.meta
├── EventHelpers.meta
├── EventHelpers
│ ├── EventHelper.cs
│ ├── EventHelper.cs.meta
│ ├── EventHelperWithDefaultValue`1.cs
│ ├── EventHelperWithDefaultValue`1.cs.meta
│ ├── EventHelperWithHistory`1.cs
│ ├── EventHelperWithHistory`1.cs.meta
│ ├── EventHelper`1.cs
│ ├── EventHelper`1.cs.meta
│ ├── EventHelper`2.cs
│ ├── EventHelper`2.cs.meta
│ ├── EventHelper`3.cs
│ ├── EventHelper`3.cs.meta
│ ├── IEventHelper.cs
│ ├── IEventHelper.cs.meta
│ ├── IEventHelperWithDefaultValue`1.cs
│ ├── IEventHelperWithDefaultValue`1.cs.meta
│ ├── IEventHelper`1.cs
│ ├── IEventHelper`1.cs.meta
│ ├── IEventHelper`2.cs
│ ├── IEventHelper`2.cs.meta
│ ├── IEventHelper`3.cs
│ └── IEventHelper`3.cs.meta
├── EventHolders.meta
├── EventHolders
│ ├── EventHolder.cs
│ ├── EventHolder.cs.meta
│ ├── EventHolder`1.cs
│ ├── EventHolder`1.cs.meta
│ ├── EventHolder`2.cs
│ ├── EventHolder`2.cs.meta
│ ├── EventHolder`3.cs
│ ├── EventHolder`3.cs.meta
│ ├── EventType.cs
│ └── EventType.cs.meta
├── EventListeners.meta
├── EventListeners
│ ├── IEventListener.cs
│ ├── IEventListener.cs.meta
│ ├── IListener.cs
│ ├── IListener.cs.meta
│ ├── IMultipleEventsListener.cs
│ └── IMultipleEventsListener.cs.meta
├── GenericScriptableArchitecture.asmdef
├── GenericScriptableArchitecture.asmdef.meta
├── IEvent.cs
├── IEvent.cs.meta
├── References.meta
├── References
│ ├── Reference`1.cs
│ └── Reference`1.cs.meta
├── RuntimeSets.meta
├── RuntimeSets
│ ├── BaseRuntimeSet.cs
│ ├── BaseRuntimeSet.cs.meta
│ ├── RuntimeSet`1.cs
│ └── RuntimeSet`1.cs.meta
├── ScriptableEventListeners.meta
├── ScriptableEventListeners
│ ├── BaseScriptableEventListener.cs
│ ├── BaseScriptableEventListener.cs.meta
│ ├── ScriptableEventListener.cs
│ ├── ScriptableEventListener.cs.meta
│ ├── ScriptableEventListener`1.cs
│ ├── ScriptableEventListener`1.cs.meta
│ ├── ScriptableEventListener`2.cs
│ ├── ScriptableEventListener`2.cs.meta
│ ├── ScriptableEventListener`3.cs
│ ├── ScriptableEventListener`3.cs.meta
│ ├── VoidScriptableEventListener.cs
│ └── VoidScriptableEventListener.cs.meta
├── ScriptableEvents.meta
├── ScriptableEvents
│ ├── BaseEventInstancer.cs
│ ├── BaseEventInstancer.cs.meta
│ ├── BaseScriptableEvent.cs
│ ├── BaseScriptableEvent.cs.meta
│ ├── EventInstancer.cs
│ ├── EventInstancer.cs.meta
│ ├── EventInstancer`1.cs
│ ├── EventInstancer`1.cs.meta
│ ├── EventInstancer`2.cs
│ ├── EventInstancer`2.cs.meta
│ ├── EventInstancer`3.cs
│ ├── EventInstancer`3.cs.meta
│ ├── EventReference.cs
│ ├── EventReference.cs.meta
│ ├── IScriptableEvent.cs
│ ├── IScriptableEvent.cs.meta
│ ├── ScriptableEvent.cs
│ ├── ScriptableEvent.cs.meta
│ ├── ScriptableEventHelper.cs
│ ├── ScriptableEventHelper.cs.meta
│ ├── ScriptableEvent`1.cs
│ ├── ScriptableEvent`1.cs.meta
│ ├── ScriptableEvent`2.cs
│ ├── ScriptableEvent`2.cs.meta
│ ├── ScriptableEvent`3.cs
│ └── ScriptableEvent`3.cs.meta
├── StackTrace.meta
├── StackTrace
│ ├── StackCollection.cs
│ ├── StackCollection.cs.meta
│ ├── StackTraceEntry.cs
│ ├── StackTraceEntry.cs.meta
│ ├── StackTraceProvider.cs
│ └── StackTraceProvider.cs.meta
├── UniRx.meta
├── UniRx
│ ├── ExceptionExtensions.cs
│ ├── ExceptionExtensions.cs.meta
│ ├── IObserverLinkedList.cs
│ ├── IObserverLinkedList.cs.meta
│ ├── IReactivePropertyWithHistory.cs
│ ├── IReactivePropertyWithHistory.cs.meta
│ ├── ObservableHelper.cs
│ ├── ObservableHelper.cs.meta
│ ├── ObserverHelper.cs
│ ├── ObserverHelper.cs.meta
│ ├── ObserverNode.cs
│ ├── ObserverNode.cs.meta
│ ├── ObserverUtil.cs
│ ├── ObserverUtil.cs.meta
│ ├── Stubs.cs
│ ├── Stubs.cs.meta
│ ├── UnityEqualityComparer.cs
│ └── UnityEqualityComparer.cs.meta
├── Values.meta
└── Values
│ ├── BaseEvent.cs
│ ├── BaseEvent.cs.meta
│ ├── BaseValue.cs
│ ├── BaseValue.cs.meta
│ ├── Constant`1.cs
│ ├── Constant`1.cs.meta
│ ├── SerializationHelper.cs
│ ├── SerializationHelper.cs.meta
│ ├── Variables.meta
│ └── Variables
│ ├── BaseVariable.cs
│ ├── BaseVariable.cs.meta
│ ├── BaseVariableInstancer.cs
│ ├── BaseVariableInstancer.cs.meta
│ ├── IVariable.cs
│ ├── IVariable.cs.meta
│ ├── IVariableWithHistory.cs
│ ├── IVariableWithHistory.cs.meta
│ ├── VariableHelper.cs
│ ├── VariableHelper.cs.meta
│ ├── VariableInstancerWithHistory.cs
│ ├── VariableInstancerWithHistory.cs.meta
│ ├── VariableInstancer`1.cs
│ ├── VariableInstancer`1.cs.meta
│ ├── VariableWithHistory`1.cs
│ ├── VariableWithHistory`1.cs.meta
│ ├── Variable`1.cs
│ └── Variable`1.cs.meta
├── Tests.meta
├── Tests
├── Editor.meta
└── Editor
│ ├── GenericScriptableArchitecture.EditorTests.asmdef
│ ├── GenericScriptableArchitecture.EditorTests.asmdef.meta
│ ├── ReferenceEquality.cs
│ ├── ReferenceEquality.cs.meta
│ ├── ReferenceValueEquality.cs
│ ├── ReferenceValueEquality.cs.meta
│ ├── VariableEquality.cs
│ └── VariableEquality.cs.meta
├── Timeline.meta
├── Timeline
├── .TimelineInternals
│ ├── .idea
│ │ └── .idea.TimelineInternals
│ │ │ └── .idea
│ │ │ ├── .gitignore
│ │ │ ├── .name
│ │ │ ├── encodings.xml
│ │ │ ├── indexLayout.xml
│ │ │ ├── projectSettingsUpdater.xml
│ │ │ └── vcs.xml
│ ├── TimelineInternals.sln
│ └── TimelineInternals
│ │ ├── AssemblyInfo.cs
│ │ ├── Properties
│ │ └── AssemblyInfo.cs
│ │ ├── TimeFieldAttribute.cs
│ │ └── TimelineInternals.csproj
├── Editor.meta
├── Editor
│ ├── EmitterGenerator.cs
│ ├── EmitterGenerator.cs.meta
│ ├── GenericScriptableArchitecture.Timeline.Editor.asmdef
│ ├── GenericScriptableArchitecture.Timeline.Editor.asmdef.meta
│ ├── OneEventCreator.cs
│ ├── OneEventCreator.cs.meta
│ ├── ScriptableEventCreator.cs
│ ├── ScriptableEventCreator.cs.meta
│ ├── ThreeEventsCreator.cs
│ ├── ThreeEventsCreator.cs.meta
│ ├── TwoEventsCreator.cs
│ ├── TwoEventsCreator.cs.meta
│ ├── VoidEventCreator.cs
│ └── VoidEventCreator.cs.meta
├── Runtime.meta
├── Runtime
│ ├── GenericScriptableArchitecture.Timeline.asmdef
│ ├── GenericScriptableArchitecture.Timeline.asmdef.meta
│ ├── ScriptableEventEmitters.meta
│ └── ScriptableEventEmitters
│ │ ├── BaseScriptableEventEmitter.cs
│ │ ├── BaseScriptableEventEmitter.cs.meta
│ │ ├── ScriptableEventEmitter.cs
│ │ ├── ScriptableEventEmitter.cs.meta
│ │ ├── ScriptableEventEmitter`1.cs
│ │ ├── ScriptableEventEmitter`1.cs.meta
│ │ ├── ScriptableEventEmitter`2.cs
│ │ ├── ScriptableEventEmitter`2.cs.meta
│ │ ├── ScriptableEventEmitter`3.cs
│ │ ├── ScriptableEventEmitter`3.cs.meta
│ │ ├── ScriptableSignalRelayer.cs
│ │ └── ScriptableSignalRelayer.cs.meta
├── TimelineInternals.dll
└── TimelineInternals.dll.meta
├── package.json
└── package.json.meta
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
--------------------------------------------------------------------------------
/.github/workflows/ci.yml:
--------------------------------------------------------------------------------
1 | name: CI
2 | on:
3 | push:
4 | branches:
5 | - main
6 | jobs:
7 | release:
8 | name: release
9 | runs-on: ubuntu-latest
10 | steps:
11 | - uses: actions/checkout@v2
12 | with:
13 | fetch-depth: 0
14 | - name: Release
15 | uses: cycjimmy/semantic-release-action@v2
16 | with:
17 | extra_plugins: |
18 | @semantic-release/changelog
19 | @semantic-release/git
20 | branch: main
21 | env:
22 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Derived From:
2 | # http://kleber-swf.com/the-definitive-gitignore-for-unity-projects/
3 |
4 | # ======= #
5 | # Private #
6 | # ======= #
7 | _private/
8 | Release/
9 | /Help/
10 | *.shfbproj_*
11 |
12 | /Assets/Zenject/Extras
13 |
14 | # =============== #
15 | # Unity generated #
16 | # =============== #
17 | Temp/
18 | Obj/
19 | UnityGenerated/
20 | Library/
21 |
22 | # ============ #
23 | # OS generated #
24 | # ============ #
25 | .DS_Store
26 | .DS_Store?
27 | ._*
28 | .Spotlight-V100
29 | .Trashes
30 | Icon?
31 | ehthumbs.db
32 | Thumbs.db
33 |
34 | # Common IntelliJ Platform excludes
35 |
36 | # Jetbrain Rider Cache
37 | # User specific
38 | **/.idea/**/workspace.xml
39 | **/.idea/**/tasks.xml
40 | **/.idea/shelf/*
41 | **/.idea/dictionaries
42 | **/.idea/httpRequests/
43 |
44 | # Sensitive or high-churn files
45 | **/.idea/**/dataSources/
46 | **/.idea/**/dataSources.ids
47 | **/.idea/**/dataSources.xml
48 | **/.idea/**/dataSources.local.xml
49 | **/.idea/**/sqlDataSources.xml
50 | **/.idea/**/dynamic.xml
51 |
52 | # Rider
53 | # Rider auto-generates .iml files, and contentModel.xml
54 | **/.idea/**/*.iml
55 | **/.idea/**/contentModel.xml
56 | **/.idea/**/modules.xml
57 |
58 | *.suo
59 | *.user
60 | .vs/
61 | [Bb]in/
62 | [Oo]bj/
63 | _UpgradeReport_Files/
64 | [Pp]ackages/
65 |
66 | Thumbs.db
67 | Desktop.ini
68 | .DS_Store
69 |
70 | # The file being generated in root directory instead of obj/debug https://github.com/dotnet/roslyn/issues/48430
71 | *.GeneratedMSBuildEditorConfig.editorconfig
72 |
73 | *.csproj.DotSettings
--------------------------------------------------------------------------------
/.images/add-variable-instancer.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidAlloy/GenericScriptableArchitecture/0149ffeac47b8170da8026735988c8c629f30af3/.images/add-variable-instancer.gif
--------------------------------------------------------------------------------
/.images/assign-variable-instancer.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidAlloy/GenericScriptableArchitecture/0149ffeac47b8170da8026735988c8c629f30af3/.images/assign-variable-instancer.gif
--------------------------------------------------------------------------------
/.images/balloon-animated.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidAlloy/GenericScriptableArchitecture/0149ffeac47b8170da8026735988c8c629f30af3/.images/balloon-animated.gif
--------------------------------------------------------------------------------
/.images/balloon-event-inspector.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidAlloy/GenericScriptableArchitecture/0149ffeac47b8170da8026735988c8c629f30af3/.images/balloon-event-inspector.png
--------------------------------------------------------------------------------
/.images/balloon-inspector.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidAlloy/GenericScriptableArchitecture/0149ffeac47b8170da8026735988c8c629f30af3/.images/balloon-inspector.png
--------------------------------------------------------------------------------
/.images/balloon-play-inspector.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidAlloy/GenericScriptableArchitecture/0149ffeac47b8170da8026735988c8c629f30af3/.images/balloon-play-inspector.gif
--------------------------------------------------------------------------------
/.images/balloon-pops.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidAlloy/GenericScriptableArchitecture/0149ffeac47b8170da8026735988c8c629f30af3/.images/balloon-pops.gif
--------------------------------------------------------------------------------
/.images/balloon-variable.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidAlloy/GenericScriptableArchitecture/0149ffeac47b8170da8026735988c8c629f30af3/.images/balloon-variable.png
--------------------------------------------------------------------------------
/.images/choose-variable-type.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidAlloy/GenericScriptableArchitecture/0149ffeac47b8170da8026735988c8c629f30af3/.images/choose-variable-type.png
--------------------------------------------------------------------------------
/.images/clamped-float-inspector.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidAlloy/GenericScriptableArchitecture/0149ffeac47b8170da8026735988c8c629f30af3/.images/clamped-float-inspector.png
--------------------------------------------------------------------------------
/.images/clamped-int-implicit-conversion.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidAlloy/GenericScriptableArchitecture/0149ffeac47b8170da8026735988c8c629f30af3/.images/clamped-int-implicit-conversion.gif
--------------------------------------------------------------------------------
/.images/create-scriptable-event.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidAlloy/GenericScriptableArchitecture/0149ffeac47b8170da8026735988c8c629f30af3/.images/create-scriptable-event.png
--------------------------------------------------------------------------------
/.images/create-variable.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidAlloy/GenericScriptableArchitecture/0149ffeac47b8170da8026735988c8c629f30af3/.images/create-variable.png
--------------------------------------------------------------------------------
/.images/drop-event-on-timeline.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidAlloy/GenericScriptableArchitecture/0149ffeac47b8170da8026735988c8c629f30af3/.images/drop-event-on-timeline.gif
--------------------------------------------------------------------------------
/.images/enable-stack-trace-button.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidAlloy/GenericScriptableArchitecture/0149ffeac47b8170da8026735988c8c629f30af3/.images/enable-stack-trace-button.png
--------------------------------------------------------------------------------
/.images/enemies-in-set.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidAlloy/GenericScriptableArchitecture/0149ffeac47b8170da8026735988c8c629f30af3/.images/enemies-in-set.png
--------------------------------------------------------------------------------
/.images/enemies-inspector-edit-mode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidAlloy/GenericScriptableArchitecture/0149ffeac47b8170da8026735988c8c629f30af3/.images/enemies-inspector-edit-mode.png
--------------------------------------------------------------------------------
/.images/ext-event-named-argument.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidAlloy/GenericScriptableArchitecture/0149ffeac47b8170da8026735988c8c629f30af3/.images/ext-event-named-argument.png
--------------------------------------------------------------------------------
/.images/listeners-list.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidAlloy/GenericScriptableArchitecture/0149ffeac47b8170da8026735988c8c629f30af3/.images/listeners-list.png
--------------------------------------------------------------------------------
/.images/named-argument-example.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidAlloy/GenericScriptableArchitecture/0149ffeac47b8170da8026735988c8c629f30af3/.images/named-argument-example.png
--------------------------------------------------------------------------------
/.images/pop-balloon-event.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidAlloy/GenericScriptableArchitecture/0149ffeac47b8170da8026735988c8c629f30af3/.images/pop-balloon-event.gif
--------------------------------------------------------------------------------
/.images/reference-inspector.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidAlloy/GenericScriptableArchitecture/0149ffeac47b8170da8026735988c8c629f30af3/.images/reference-inspector.png
--------------------------------------------------------------------------------
/.images/right-context-menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidAlloy/GenericScriptableArchitecture/0149ffeac47b8170da8026735988c8c629f30af3/.images/right-context-menu.png
--------------------------------------------------------------------------------
/.images/scriptable-event-inspector.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidAlloy/GenericScriptableArchitecture/0149ffeac47b8170da8026735988c8c629f30af3/.images/scriptable-event-inspector.png
--------------------------------------------------------------------------------
/.images/scriptable-event-listener-add.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidAlloy/GenericScriptableArchitecture/0149ffeac47b8170da8026735988c8c629f30af3/.images/scriptable-event-listener-add.png
--------------------------------------------------------------------------------
/.images/scriptable-event-listener-choose-type.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidAlloy/GenericScriptableArchitecture/0149ffeac47b8170da8026735988c8c629f30af3/.images/scriptable-event-listener-choose-type.png
--------------------------------------------------------------------------------
/.images/scriptable-event-listener-variable-history.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidAlloy/GenericScriptableArchitecture/0149ffeac47b8170da8026735988c8c629f30af3/.images/scriptable-event-listener-variable-history.png
--------------------------------------------------------------------------------
/.images/scriptable-event-listener-variable.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidAlloy/GenericScriptableArchitecture/0149ffeac47b8170da8026735988c8c629f30af3/.images/scriptable-event-listener-variable.png
--------------------------------------------------------------------------------
/.images/scriptable-signal-relayer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidAlloy/GenericScriptableArchitecture/0149ffeac47b8170da8026735988c8c629f30af3/.images/scriptable-signal-relayer.png
--------------------------------------------------------------------------------
/.images/stack-trace-inspector.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidAlloy/GenericScriptableArchitecture/0149ffeac47b8170da8026735988c8c629f30af3/.images/stack-trace-inspector.png
--------------------------------------------------------------------------------
/.images/stack-trace-project-settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidAlloy/GenericScriptableArchitecture/0149ffeac47b8170da8026735988c8c629f30af3/.images/stack-trace-project-settings.png
--------------------------------------------------------------------------------
/.images/timeline-context-menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidAlloy/GenericScriptableArchitecture/0149ffeac47b8170da8026735988c8c629f30af3/.images/timeline-context-menu.png
--------------------------------------------------------------------------------
/.images/variable-enable-initial-value.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidAlloy/GenericScriptableArchitecture/0149ffeac47b8170da8026735988c8c629f30af3/.images/variable-enable-initial-value.png
--------------------------------------------------------------------------------
/.images/variable-with-history-previous-field.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidAlloy/GenericScriptableArchitecture/0149ffeac47b8170da8026735988c8c629f30af3/.images/variable-with-history-previous-field.gif
--------------------------------------------------------------------------------
/.releaserc.json:
--------------------------------------------------------------------------------
1 | {
2 | "tagFormat": "${version}",
3 | "plugins": [
4 | ["@semantic-release/commit-analyzer", { "preset": "angular" }],
5 | "@semantic-release/release-notes-generator",
6 | ["@semantic-release/changelog", { "preset": "angular" }],
7 | ["@semantic-release/npm", { "npmPublish": false }],
8 | ["@semantic-release/git", {
9 | "assets": ["package.json", "CHANGELOG.md"],
10 | "message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
11 | }],
12 | "@semantic-release/github"
13 | ]
14 | }
--------------------------------------------------------------------------------
/CHANGELOG.md.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9f9454b0ecf37d547b9123fee3b8f8b1
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Editor.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2ee8f368481a46359807e57d9a5deae1
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Editor/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Runtime.CompilerServices;
2 |
3 | [assembly: InternalsVisibleTo("GenericScriptableArchitecture.Editor")]
--------------------------------------------------------------------------------
/Editor/AssemblyInfo.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0e78da5b563c447aa946aefdf67d1d9d
3 | timeCreated: 1613824805
--------------------------------------------------------------------------------
/Editor/ClampedDrawers.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 080800ba28fd4892ad69d1bea7ef3b95
3 | timeCreated: 1627123181
--------------------------------------------------------------------------------
/Editor/ClampedDrawers/ClampedFloatDrawer.cs:
--------------------------------------------------------------------------------
1 | namespace GenericScriptableArchitecture.Editor
2 | {
3 | using UnityEditor;
4 | using UnityEngine;
5 |
6 | [CustomPropertyDrawer(typeof(ClampedFloat))]
7 | internal class ClampedFloatDrawer : ClampedStructDrawer
8 | {
9 | private const float InspectorMinFloat = 0.00001f;
10 |
11 | protected override void DrawSlider(Rect valueRect)
12 | {
13 | EditorGUI.Slider(valueRect, ValueProperty, MinProperty.floatValue, MaxProperty.floatValue, GUIContent.none);
14 | }
15 |
16 | protected override void LimitMinValueIfNeeded()
17 | {
18 | float maxAllowedValue = MaxProperty.floatValue - InspectorMinFloat;
19 |
20 | if (MinProperty.floatValue > maxAllowedValue)
21 | MinProperty.floatValue = maxAllowedValue;
22 | }
23 |
24 | protected override void LimitMaxValueIfNeeded()
25 | {
26 | float minAllowedValue = MinProperty.floatValue + InspectorMinFloat;
27 |
28 | if (MaxProperty.floatValue < minAllowedValue)
29 | MaxProperty.floatValue = minAllowedValue;
30 | }
31 | }
32 | }
--------------------------------------------------------------------------------
/Editor/ClampedDrawers/ClampedFloatDrawer.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 74b58a4d24ff4be8b3cb9a010102672b
3 | timeCreated: 1619546929
--------------------------------------------------------------------------------
/Editor/ClampedDrawers/ClampedIntDrawer.cs:
--------------------------------------------------------------------------------
1 | namespace GenericScriptableArchitecture.Editor
2 | {
3 | using UnityEditor;
4 | using UnityEngine;
5 |
6 | [CustomPropertyDrawer(typeof(ClampedInt))]
7 | internal class ClampedIntDrawer : ClampedStructDrawer
8 | {
9 | protected override void DrawSlider(Rect valueRect)
10 | {
11 | EditorGUI.IntSlider(valueRect, ValueProperty, MinProperty.intValue, MaxProperty.intValue, GUIContent.none);
12 | }
13 |
14 | protected override void LimitMinValueIfNeeded()
15 | {
16 | int maxAllowedValue = MaxProperty.intValue - 1;
17 |
18 | if (MinProperty.intValue > maxAllowedValue)
19 | MinProperty.intValue = maxAllowedValue;
20 | }
21 |
22 | protected override void LimitMaxValueIfNeeded()
23 | {
24 | int minAllowedValue = MinProperty.intValue + 1;
25 |
26 | if (MaxProperty.intValue < minAllowedValue)
27 | MaxProperty.intValue = minAllowedValue;
28 | }
29 | }
30 | }
--------------------------------------------------------------------------------
/Editor/ClampedDrawers/ClampedIntDrawer.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8c29d7b65105473f9d84d2c4939119ed
3 | timeCreated: 1619365454
--------------------------------------------------------------------------------
/Editor/ClampedDrawers/ClampedStructDrawer.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b6e9d85798764e3c8afaaa88e6f493f5
3 | timeCreated: 1619546758
--------------------------------------------------------------------------------
/Editor/EasyButtons.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2eb59dfc265bac64590ff150f231551b
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Editor/EasyButtons/Button.cs:
--------------------------------------------------------------------------------
1 | namespace EasyButtons.Editor
2 | {
3 | using System;
4 | using System.Reflection;
5 | using JetBrains.Annotations;
6 | using UnityEditor;
7 | using Utils;
8 | using System.Collections.Generic;
9 | using System.Linq;
10 | using UnityEngine.Assertions;
11 |
12 | ///
13 | /// A class that holds information about a button and can draw it in the inspector.
14 | ///
15 | public abstract class Button
16 | {
17 | /// Display name of the button.
18 | [PublicAPI] public readonly string DisplayName;
19 |
20 | /// MethodInfo object the button is attached to.
21 | [PublicAPI] public readonly MethodInfo Method;
22 |
23 | protected Button(MethodInfo method)
24 | {
25 | DisplayName = ObjectNames.NicifyVariableName(method.Name);
26 | Method = method;
27 | }
28 |
29 | public void Draw(IEnumerable