├── .gitignore ├── .vscode └── settings.json ├── Assets ├── Global.uss ├── Global.uss.meta ├── Main.uxml ├── Main.uxml.meta ├── Panel Settings.asset ├── Panel Settings.asset.meta ├── Stateless.meta ├── Stateless │ ├── LICENSE.md │ ├── LICENSE.md.meta │ ├── README.md │ ├── README.md.meta │ ├── Runtime.meta │ ├── Runtime │ │ ├── Stateless.dll │ │ ├── Stateless.dll.meta │ │ ├── Stateless.xml │ │ └── Stateless.xml.meta │ ├── Samples~ │ │ ├── Animations.meta │ │ ├── Animations │ │ │ ├── Chest Close Clip.anim │ │ │ ├── Chest Close Clip.anim.meta │ │ │ ├── Chest Open Clip.anim │ │ │ └── Chest Open Clip.anim.meta │ │ ├── Example 1.meta │ │ ├── Example 1 │ │ │ ├── Chest.cs │ │ │ ├── Chest.cs.meta │ │ │ ├── Constants.cs │ │ │ ├── Constants.cs.meta │ │ │ ├── _Example 1.unity │ │ │ ├── _Example 1.unity.meta │ │ │ ├── _Example 1Settings.lighting │ │ │ └── _Example 1Settings.lighting.meta │ │ ├── Example 2.meta │ │ ├── Example 2 │ │ │ ├── Chest.cs │ │ │ ├── Chest.cs.meta │ │ │ ├── Constants.cs │ │ │ ├── Constants.cs.meta │ │ │ ├── _Example 2.unity │ │ │ ├── _Example 2.unity.meta │ │ │ ├── _Example 2Settings.lighting │ │ │ └── _Example 2Settings.lighting.meta │ │ ├── Example 3.meta │ │ ├── Example 3 │ │ │ ├── Chest.cs │ │ │ ├── Chest.cs.meta │ │ │ ├── ChestAnimation.cs │ │ │ ├── ChestAnimation.cs.meta │ │ │ ├── Constants.cs │ │ │ ├── Constants.cs.meta │ │ │ ├── _Example 3.unity │ │ │ ├── _Example 3.unity.meta │ │ │ ├── _Example 3Settings.lighting │ │ │ └── _Example 3Settings.lighting.meta │ │ ├── Example 4.meta │ │ ├── Example 4 │ │ │ ├── Chest.cs │ │ │ ├── Chest.cs.meta │ │ │ ├── ChestAnimation.cs │ │ │ ├── ChestAnimation.cs.meta │ │ │ ├── Constants.cs │ │ │ ├── Constants.cs.meta │ │ │ ├── IInteractable.cs │ │ │ ├── IInteractable.cs.meta │ │ │ ├── InputMonitor.cs │ │ │ ├── InputMonitor.cs.meta │ │ │ ├── InteractionMonitor.cs │ │ │ ├── InteractionMonitor.cs.meta │ │ │ ├── _Example 4.unity │ │ │ ├── _Example 4.unity.meta │ │ │ ├── _Example 4Settings.lighting │ │ │ └── _Example 4Settings.lighting.meta │ │ ├── Player.meta │ │ └── Player │ │ │ ├── PlayerBase.cs │ │ │ └── PlayerBase.cs.meta │ ├── package.json │ └── package.json.meta ├── UI Toolkit.meta ├── UI Toolkit │ ├── UnityThemes.meta │ └── UnityThemes │ │ ├── UnityDefaultRuntimeTheme.tss │ │ └── UnityDefaultRuntimeTheme.tss.meta ├── UniRx.meta ├── UniRx │ ├── MessageBroker.meta │ ├── MessageBroker │ │ ├── Gbros.UniRx.MessageBroker.asmdef │ │ ├── Gbros.UniRx.MessageBroker.asmdef.meta │ │ ├── LICENSE.md │ │ ├── LICENSE.md.meta │ │ ├── README.md │ │ ├── README.md.meta │ │ ├── Samples~ │ │ │ ├── Example 1.meta │ │ │ ├── Example 1 │ │ │ │ ├── ColorDisplay.cs │ │ │ │ ├── ColorDisplay.cs.meta │ │ │ │ ├── ColorGenerator.cs │ │ │ │ ├── ColorGenerator.cs.meta │ │ │ │ ├── ColorSwitchMessage.cs │ │ │ │ ├── ColorSwitchMessage.cs.meta │ │ │ │ ├── ColorSwitcher.cs │ │ │ │ ├── ColorSwitcher.cs.meta │ │ │ │ ├── Constants.cs │ │ │ │ ├── Constants.cs.meta │ │ │ │ ├── _Example 1.unity │ │ │ │ └── _Example 1.unity.meta │ │ │ ├── Example 2.meta │ │ │ ├── Example 2 │ │ │ │ ├── ColorDisplay.cs │ │ │ │ ├── ColorDisplay.cs.meta │ │ │ │ ├── ColorGenerator.cs │ │ │ │ ├── ColorGenerator.cs.meta │ │ │ │ ├── ColorSwitchMessage.asset │ │ │ │ ├── ColorSwitchMessage.asset.meta │ │ │ │ ├── ColorSwitchMessage.cs │ │ │ │ ├── ColorSwitchMessage.cs.meta │ │ │ │ ├── ColorSwitchMessageEditor.cs │ │ │ │ ├── ColorSwitchMessageEditor.cs.meta │ │ │ │ ├── ColorSwitcher.cs │ │ │ │ ├── ColorSwitcher.cs.meta │ │ │ │ ├── Constants.cs │ │ │ │ ├── Constants.cs.meta │ │ │ │ ├── _Example 2.unity │ │ │ │ └── _Example 2.unity.meta │ │ │ ├── Example 3.meta │ │ │ ├── Example 3 │ │ │ │ ├── AudioPlayer.cs │ │ │ │ ├── AudioPlayer.cs.meta │ │ │ │ ├── Constants.cs │ │ │ │ ├── Constants.cs.meta │ │ │ │ ├── Player.cs │ │ │ │ ├── Player.cs.meta │ │ │ │ ├── Zone.cs │ │ │ │ ├── Zone.cs.meta │ │ │ │ ├── ZoneDisplay.cs │ │ │ │ ├── ZoneDisplay.cs.meta │ │ │ │ ├── ZoneEnterMessage.asset │ │ │ │ ├── ZoneEnterMessage.asset.meta │ │ │ │ ├── ZoneEnterMessage.cs │ │ │ │ ├── ZoneEnterMessage.cs.meta │ │ │ │ ├── ZoneType.cs │ │ │ │ ├── ZoneType.cs.meta │ │ │ │ ├── _Example 3.unity │ │ │ │ └── _Example 3.unity.meta │ │ │ ├── Example 4.meta │ │ │ ├── Example 4 │ │ │ │ ├── ActivateOnGameEvent.cs │ │ │ │ ├── ActivateOnGameEvent.cs.meta │ │ │ │ ├── Constants.cs │ │ │ │ ├── Constants.cs.meta │ │ │ │ ├── Dragon GameEventMessage.asset │ │ │ │ ├── Dragon GameEventMessage.asset.meta │ │ │ │ ├── GameEventMessage.asset │ │ │ │ ├── GameEventMessage.asset.meta │ │ │ │ ├── GameEventMessage.cs │ │ │ │ ├── GameEventMessage.cs.meta │ │ │ │ ├── GameManager.cs │ │ │ │ ├── GameManager.cs.meta │ │ │ │ ├── GameStartMessage.asset │ │ │ │ ├── GameStartMessage.asset.meta │ │ │ │ ├── GameStartMessage.cs │ │ │ │ ├── GameStartMessage.cs.meta │ │ │ │ ├── _Example 4.unity │ │ │ │ └── _Example 4.unity.meta │ │ │ ├── Player.meta │ │ │ └── Player │ │ │ │ ├── PlayerBase.cs │ │ │ │ └── PlayerBase.cs.meta │ │ ├── Scripts.meta │ │ ├── Scripts │ │ │ ├── IMessage.cs │ │ │ ├── IMessage.cs.meta │ │ │ ├── Message.cs │ │ │ ├── Message.cs.meta │ │ │ ├── MessageBrokerExtensions.cs │ │ │ ├── MessageBrokerExtensions.cs.meta │ │ │ ├── MessageEditor.cs │ │ │ ├── MessageEditor.cs.meta │ │ │ ├── Utilities.meta │ │ │ └── Utilities │ │ │ │ ├── ActivateOnMessage.cs │ │ │ │ └── ActivateOnMessage.cs.meta │ │ ├── package.json │ │ └── package.json.meta │ ├── PowerObservables.meta │ └── PowerObservables │ │ ├── Gbros.UniRx.PowerObservables.asmdef │ │ ├── Gbros.UniRx.PowerObservables.asmdef.meta │ │ ├── LICENSE.md │ │ ├── LICENSE.md.meta │ │ ├── README.md │ │ ├── README.md.meta │ │ ├── Samples~ │ │ ├── Example 1.meta │ │ ├── Example 1 │ │ │ ├── Constants.cs │ │ │ ├── Constants.cs.meta │ │ │ ├── CountedInterval.cs │ │ │ ├── CountedInterval.cs.meta │ │ │ ├── _Example 1.unity │ │ │ └── _Example 1.unity.meta │ │ ├── Example 2.meta │ │ └── Example 2 │ │ │ ├── Constants.cs │ │ │ ├── Constants.cs.meta │ │ │ ├── Countdown.cs │ │ │ ├── Countdown.cs.meta │ │ │ ├── _Example 2.unity │ │ │ └── _Example 2.unity.meta │ │ ├── Scripts.meta │ │ ├── Scripts │ │ ├── Countdown.cs │ │ ├── Countdown.cs.meta │ │ ├── CountedInterval.cs │ │ ├── CountedInterval.cs.meta │ │ ├── ObservableExtensions.cs │ │ ├── ObservableExtensions.cs.meta │ │ ├── PausableInterval.cs │ │ ├── PausableInterval.cs.meta │ │ ├── PowerObservable.cs │ │ ├── PowerObservable.cs.meta │ │ ├── TimerCountedInterval.cs │ │ ├── TimerCountedInterval.cs.meta │ │ ├── TimerInterval.cs │ │ └── TimerInterval.cs.meta │ │ ├── package.json │ │ └── package.json.meta ├── Watchers.meta └── Watchers │ ├── Editor.meta │ ├── Editor │ ├── Extensions.meta │ ├── Extensions │ │ ├── ExpressionExtensions.cs │ │ ├── ExpressionExtensions.cs.meta │ │ ├── UIElementsExtensions.cs │ │ ├── UIElementsExtensions.cs.meta │ │ ├── UIElementsFunctionPropertyExtensions.cs │ │ ├── UIElementsFunctionPropertyExtensions.cs.meta │ │ ├── UIElementsObservablePropertyExtensions.cs │ │ ├── UIElementsObservablePropertyExtensions.cs.meta │ │ ├── UIElementsPropertyBindingExtensions.cs │ │ ├── UIElementsPropertyBindingExtensions.cs.meta │ │ ├── Utilities.cs │ │ ├── Utilities.cs.meta │ │ ├── WatcherExtensions.cs │ │ ├── WatcherExtensions.cs.meta │ │ ├── WatcherUIElementsFunctionPropertyExtensions.cs │ │ ├── WatcherUIElementsFunctionPropertyExtensions.cs.meta │ │ ├── WatcherUIElementsObservablePropertyExtensions.cs │ │ ├── WatcherUIElementsObservablePropertyExtensions.cs.meta │ │ ├── WatcherUIElementsSerializedPropertyExtensions.cs │ │ └── WatcherUIElementsSerializedPropertyExtensions.cs.meta │ ├── IWatcherElement.cs │ ├── IWatcherElement.cs.meta │ ├── Watcher.cs │ ├── Watcher.cs.meta │ ├── WatcherBoard.cs │ ├── WatcherBoard.cs.meta │ ├── WatcherCard.cs │ ├── WatcherCard.cs.meta │ ├── WatcherCardContainer.cs │ ├── WatcherCardContainer.cs.meta │ ├── WatcherEditor.cs │ ├── WatcherEditor.cs.meta │ ├── WatcherEditor.uss │ ├── WatcherEditor.uss.meta │ ├── WatcherEditor.uxml │ ├── WatcherEditor.uxml.meta │ ├── WatcherSelector.cs │ ├── WatcherSelector.cs.meta │ ├── WatcherSplitView.cs │ ├── WatcherSplitView.cs.meta │ ├── Watchers.cs │ └── Watchers.cs.meta │ ├── Examples.meta │ ├── Examples~ │ ├── Example 1.meta │ └── Example 1 │ │ ├── Constants.cs │ │ ├── Constants.cs.meta │ │ ├── SomeComponent.cs │ │ ├── SomeComponent.cs.meta │ │ ├── _Example 1.unity │ │ └── _Example 1.unity.meta │ ├── Gbros.Watchers.asmdef │ ├── Gbros.Watchers.asmdef.meta │ ├── LICENSE.md │ ├── LICENSE.md.meta │ ├── README.md │ ├── README.md.meta │ ├── package.json │ └── package.json.meta ├── LICENSE ├── Packages ├── manifest.json └── packages-lock.json ├── ProjectSettings ├── AudioManager.asset ├── ClusterInputManager.asset ├── DynamicsManager.asset ├── EditorBuildSettings.asset ├── EditorSettings.asset ├── GraphicsSettings.asset ├── InputManager.asset ├── MemorySettings.asset ├── NavMeshAreas.asset ├── PackageManagerSettings.asset ├── Physics2DSettings.asset ├── PresetManager.asset ├── ProjectSettings.asset ├── ProjectVersion.txt ├── QualitySettings.asset ├── SceneTemplateSettings.json ├── TagManager.asset ├── TimeManager.asset ├── UnityConnectSettings.asset ├── VFXManager.asset └── VersionControlSettings.asset ├── README.md ├── UIElementsSchema ├── GlobalNamespace.xsd ├── UIElements.xsd ├── Unity.Profiling.Editor.xsd ├── Unity.UI.Builder.xsd ├── UnityEditor.Experimental.GraphView.xsd ├── UnityEditor.Overlays.xsd ├── UnityEditor.PackageManager.UI.Internal.xsd ├── UnityEditor.Search.xsd ├── UnityEditor.ShortcutManagement.xsd ├── UnityEditor.UIElements.Debugger.xsd ├── UnityEditor.UIElements.xsd └── UnityEngine.UIElements.xsd └── UserSettings └── Layouts ├── CurrentMaximizeLayout.dwlt ├── default-2021.dwlt └── default-2022.dwlt /.gitignore: -------------------------------------------------------------------------------- 1 | # This .gitignore file should be placed at the root of your Unity project directory 2 | # 3 | # Get latest from https://github.com/github/gitignore/blob/master/Unity.gitignore 4 | # 5 | /[Ll]ibrary/ 6 | /[Tt]emp/ 7 | /[Oo]bj/ 8 | /[Bb]uild/ 9 | /[Bb]uilds/ 10 | /[Ll]ogs/ 11 | /[Mm]emoryCaptures/ 12 | /[Uu]ser[Ssettings]/ 13 | 14 | # Asset meta data should only be ignored when the corresponding asset is also ignored 15 | !/[Aa]ssets/**/*.meta 16 | 17 | # Uncomment this line if you wish to ignore the asset store tools plugin 18 | # /[Aa]ssets/AssetStoreTools* 19 | 20 | # Autogenerated Jetbrains Rider plugin 21 | [Aa]ssets/Plugins/Editor/JetBrains* 22 | 23 | # Visual Studio cache directory 24 | .vs/ 25 | 26 | # Gradle cache directory 27 | .gradle/ 28 | 29 | # Autogenerated VS/MD/Consulo solution and project files 30 | ExportedObj/ 31 | .consulo/ 32 | *.csproj 33 | *.unityproj 34 | *.sln 35 | *.suo 36 | *.tmp 37 | *.user 38 | *.userprefs 39 | *.pidb 40 | *.booproj 41 | *.svd 42 | *.pdb 43 | *.mdb 44 | *.opendb 45 | *.VC.db 46 | 47 | # Unity3D generated meta files 48 | *.pidb.meta 49 | *.pdb.meta 50 | *.mdb.meta 51 | 52 | # Unity3D generated file on crash reports 53 | sysinfo.txt 54 | 55 | # Builds 56 | *.apk 57 | *.unitypackage 58 | 59 | # Crashlytics generated file 60 | crashlytics-build.properties 61 | 62 | 63 | UserSettings/EditorUserSettings.asset 64 | **/[Ss]amples* 65 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "files.exclude": 3 | { 4 | "**/.DS_Store":true, 5 | "**/.git":true, 6 | "**/.gitignore":true, 7 | "**/.gitmodules":true, 8 | "**/*.booproj":true, 9 | "**/*.pidb":true, 10 | "**/*.suo":true, 11 | "**/*.user":true, 12 | "**/*.userprefs":true, 13 | "**/*.unityproj":true, 14 | "**/*.dll":true, 15 | "**/*.exe":true, 16 | "**/*.pdf":true, 17 | "**/*.mid":true, 18 | "**/*.midi":true, 19 | "**/*.wav":true, 20 | "**/*.gif":true, 21 | "**/*.ico":true, 22 | "**/*.jpg":true, 23 | "**/*.jpeg":true, 24 | "**/*.png":true, 25 | "**/*.psd":true, 26 | "**/*.tga":true, 27 | "**/*.tif":true, 28 | "**/*.tiff":true, 29 | "**/*.3ds":true, 30 | "**/*.3DS":true, 31 | "**/*.fbx":true, 32 | "**/*.FBX":true, 33 | "**/*.lxo":true, 34 | "**/*.LXO":true, 35 | "**/*.ma":true, 36 | "**/*.MA":true, 37 | "**/*.obj":true, 38 | "**/*.OBJ":true, 39 | "**/*.asset":true, 40 | "**/*.cubemap":true, 41 | "**/*.flare":true, 42 | "**/*.mat":true, 43 | "**/*.meta":true, 44 | "**/*.prefab":true, 45 | "**/*.unity":true, 46 | "build/":true, 47 | "Build/":true, 48 | "Library/":true, 49 | "library/":true, 50 | "obj/":true, 51 | "Obj/":true, 52 | "ProjectSettings/":true, 53 | "temp/":true, 54 | "Temp/":true 55 | } 56 | } -------------------------------------------------------------------------------- /Assets/Global.uss: -------------------------------------------------------------------------------- 1 | Slot { 2 | margin: 5px; 3 | background-color: rgb(9, 19, 21); 4 | border-top-left-radius: 3px; 5 | border-bottom-left-radius: 3px; 6 | border-top-right-radius: 3px; 7 | border-bottom-right-radius: 3px; 8 | } 9 | 10 | Container { 11 | flex-shrink: 0; 12 | flex-grow: 1; 13 | flex-direction: row; 14 | flex-wrap: wrap; 15 | } 16 | 17 | -------------------------------------------------------------------------------- /Assets/Global.uss.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 88c17a75bbfa3e74d9d4b6c5a175dcf6 3 | ScriptedImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 2 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0} 11 | disableValidation: 0 12 | -------------------------------------------------------------------------------- /Assets/Main.uxml: -------------------------------------------------------------------------------- 1 | 2 |