diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md
new file mode 100644
index 0000000..438ec7a
--- /dev/null
+++ b/.github/CONTRIBUTING.md
@@ -0,0 +1,7 @@
+# Contributing
+If you found a bug or want to add a feature, you are more than welcome to make a Pull Request!
+
+When doing so, make sure to:
+- Follow similar code style which is used in other scripts.
+- Add tests cases under [ScriptableEventAttributeTestSource](../Packages/com.chark.scriptable-events/Tests/Editor/ScriptableEventAttributeTestSource.cs) and [ScriptableEventTestSource](../Packages/com.chark.scriptable-events/Tests/Runtime/ScriptableEventTestSource.cs) when adding new event types.
+- Add tests for additional features, for example how [SimpleScriptableEventTest](../Packages/com.chark.scriptable-events/Tests/Runtime/SimpleScriptableEventTest.cs) does it for an additional method that is not covered in [ScriptableEventTest](../Packages/com.chark.scriptable-events/Tests/Runtime/ScriptableEventTest.cs).
diff --git a/.github/README.md b/.github/README.md
new file mode 100644
index 0000000..ce1f672
--- /dev/null
+++ b/.github/README.md
@@ -0,0 +1,32 @@
+# Scriptable Events
+[](https://unity3d.com/get-unity/download)
+[](https://github.com/chark/scriptable-events/actions)
+
+Simple and extensible event system implemented via `ScriptableObject`, based on [Unite2017](https://github.com/roboryantron/Unite2017).
+
+
+
+
+
+
+## Features
+- Can be used with minimal or no code at all.
+- Default event and listener implementations for commonly used types.
+- Strongly typed.
+- Ability to easily add custom events and inspector GUIs.
+
+## Installation
+This package can be installed via the Unity Package Manager by [Installing from a Git URL](https://docs.unity3d.com/Manual/upm-ui-giturl.html):
+```text
+https://github.com/chark/scriptable-events.git#upm
+```
+
+Alternatively, you can also install it by adding the following dependency to `Packages/manifest.json`:
+```text
+"com.chark.scriptable-events": "https://github.com/chark/scriptable-events.git#upm"
+```
+
+## Documentation
+- [Usage documentation](../Packages/com.chark.scriptable-events/Documentation~/README.md)
+- [Contributing](CONTRIBUTING.md)
+- [Changelog](../Packages/com.chark.scriptable-events/CHANGELOG.md)
diff --git a/.github/event-listener.png b/.github/event-listener.png
new file mode 100644
index 0000000..11ec95a
Binary files /dev/null and b/.github/event-listener.png differ
diff --git a/.github/event.png b/.github/event.png
new file mode 100644
index 0000000..0c2477d
Binary files /dev/null and b/.github/event.png differ
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index e66476c..c2dac06 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -1,3 +1,4 @@
+# TODO: automate based on https://medium.com/openupm/how-to-maintain-upm-package-part-1-7b4daf88d4c4
name: CI
on:
diff --git a/Assets/CHANGELOG.md b/Assets/CHANGELOG.md
deleted file mode 100644
index f5f26bc..0000000
--- a/Assets/CHANGELOG.md
+++ /dev/null
@@ -1,98 +0,0 @@
-# Changelog
-All notable changes to this project will be documented in this file.
-
-The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
-and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
-
-## [1.1.0] - 2020-10-24
-
-### Changed
-- Exposed `OnValidate` and `OnEnable` methods to children of `MutableObject`.
-
-## [1.0.0] - 2020-10-13
-
-### Changed
-- Made game event editors more user-friendly.
-- Naming in asset menus for game events.
-- Listeners are now exposed as an unmodifiable `ICollection`.
-
-## [1.0.0-rc.1] - 2020-10-11
-
-## [0.7.0] - 2020-10-11
-
-### Added
-- List of references to event listeners on game events will be drawn during play mode.
-- Exposed listener enumerable.
-- Editors for all built-in game event types.
-- More tests!
-
-### Changed
-- `Persisting` flag was changed to `ResetType` enum which allows more customization.
-
-### Removed
-- Game event null checks on enable and disable.
-
-## [0.6.0] - 2020-10-07
-
-### Changed
-- Updated rendering settings for samples.
-- Fixed version in `package.json`.
-
-## [0.5.0] - 2020-10-07
-
-### Added
-- Tests for game events and their listeners.
-- Tests for mutable objects.
-
-### Changed
-- **Renamed** event and listener trigger functions (`OnGameEvent` -> `RaiseGameEvent`).
-- **Renamed** `GameEvents.Vector2.Vector3GameEvent` to `GameEvents.Vector2.Vector2GameEvent`, fixed typo.
-- Made `MutableObjectHandler` more extensible.
-- Exposed `GameEvent` and `OnGameEvent` on listeners via properties.
-- `MutableObject` instances are now reset using `SceneManager.activeSceneChanged`.
-
-## [0.4.0] - 2020-10-06
-
-### Added
-- `MutableObjectHandler` which would automate the process of resetting `MutableObjects`.
-- `Persisting` property on `IMutableObject` which determines how resetting should be handled.
-
-### Changed
-- Cleaned up `MutableObject` sample.
-- Updated documentation.
-
-### Removed
-- `MutableObjectExtensions` as its purpose is now automated.
-
-## [0.3.0] - 2020-10-05
-
-### Added
-- Added `MutableBool`.
-
-### Changed
-- Updated documentation.
-- Cleaned up some classes to match the code style of the project.
-- Updated assemblies.
-
-## [0.2.1] - 2020-10-03
-
-### Added
-- Images to documentation.
-
-## [0.2.0] - 2020-10-03
-
-### Added
-- Mutable objects.
-- Samples for mutable objects.
-
-### Added
-- Assembly definition for samples.
-
-## [0.1.0] - 2020-10-03
-
-### Added
-- Game events and listener components.
-- Game events with arguments and listener components.
-- Editors for raising game events and game events with arguments.
-- Samples on how to use game events.
-- Documentation.
diff --git a/Assets/Documentation~/README.md b/Assets/Documentation~/README.md
deleted file mode 100644
index 9eba67f..0000000
--- a/Assets/Documentation~/README.md
+++ /dev/null
@@ -1,126 +0,0 @@
-## Documentation
-
-### Game events
-
-
-
-
-
-Game events are scriptable objects (_Right Click -> Create -> Game Events -> ..._) which can be subscribed to via listener components (_Add Component -> Game Events -> ..._). Events allow to decouple scripts and instead rely on intermediate `ScriptableObject` assets for communication.
-
-Available game events:
-- `GameEvent` - simple event which doesn't accept any arguments.
-- `BoolGameEvent` - event with a `bool` argument.
-- `IntGameEvent` - event with an `int` argument.
-- `FloatGameEvent` - event with a `float` argument.
-- `StringGameEvent` - event with a `string` argument.
-- `Vector2GameEvent` - event with a `Vector2` argument.
-- `Vector3GameEvent` - event with a `Vector3` argument.
-- `TransformGameEvent` - event with a `Transform` argument.
-- `GameObjectGameEvent` - event with a `GameObject` argument.
-
-### Mutable objects
-
-
-Mutable objects are used for storing and editing data on `ScriptableObject` assets at runtime. This data can be referenced, observed and used as a bridge by various scripts. Mutable objects are useful in situations where `ScriptableObject` data needs to be reset when the [active scene changes](https://docs.unity3d.com/ScriptReference/SceneManagement.SceneManager-activeSceneChanged.html).
-
-Available mutable objects:
-- `MutableBool` - encapsulates a `bool` value.
-- `MutableInt` - encapsulates an `int` value.
-- `MutableFloat` - encapsulates a `float` value.
-- `MutableString` - encapsulates a `string` value.
-- `MutableVector2` - encapsulates a `Vector2` value.
-- `MutableVector3` - encapsulates a `Vector3` value.
-
-Each mutable object has a `ResetType` property. This allows specifying when data in the mutable object should be reset. The following modes are available:
-- `None` - do not reset (default).
-- `ActiveSceneChange` - when the active (focused) scene changes.
-- `SceneUnloaded` - when the current scene gets unloaded.
-- `SceneLoaded` - when the scene is loaded.
-
-### Custom game events
-In some situations, built-in game events might not suffice. For example if a custom type needs to be passed as an argument to the event. In this case, a custom game event can be created which would carry all the necessary data.
-
-To create a custom game event, first create a regular `UnityEvent`:
-```cs
-[Serializable]
-public class CustomEvent : UnityEvent
-{
-}
-```
-
-After that is ready, create a game event by extending `GameEvents.Generic.ArgumentGameEvent`:
-```cs
-[CreateAssetMenu(fileName = "CustomEvent", menuName = "Game Events/Custom Event")]
-public class CustomGameEvent : ArgumentGameEvent
-{
-}
-```
-
-Finally, create a game event listener by extending `GameEvents.Generic.ArgumentGameEventListener`:
-```cs
-[AddComponentMenu("Game Events/Custom Game Event Listener")]
-public class CustomGameEventListener : ArgumentGameEventListener
-{
-}
-```
-
-, add a custom editor so that the event could be raised, and the listeners which reference the event get displayed in the inspector.
-```cs
-[CustomEditor(typeof(CustomGameEvent))]
-public class GameObjectGameEventEditor : ArgumentGameEventEditor
-{
- protected override Custom DrawArgumentField(Custom value)
- {
- var fieldValue = EditorGUILayout
- .ObjectField(value, typeof(Custom), true);
-
- return fieldValue as Custom;
- }
-}
-```
-
-### Custom mutable objects
-In some cases, littering the script code with loads of `MutableObject` references can be inconvenient. To avoid this, a single object can be used which encompasses multiple fields.
-
-To create a custom mutable object, extend `MutableObjects.Generic.MutableObject` and override `ResetValues()` method, e.g:
-```cs
-[CreateAssetMenu(fileName = "MutableCustom", menuName = "Mutable Objects/Mutable Custom")]
-public class MutableCustom : MutableObject
-{
- [SerializeField]
- private int health = default;
-
- [SerializeField]
- private int armor = default;
-
- [SerializeField]
- private int xp = default;
-
- public int Health { get; set; }
-
- public int Armor { get; set; }
-
- public int Xp { get; set; }
-
- // This will set property values when mutable object is enabled or if the values change in the
- // inspector.
- public override void ResetValues()
- {
- Health = health;
- Armor = armor;
- Xp = xp;
- }
-}
-```
-
-[Unity Package Manager]: https://docs.unity3d.com/Packages/com.unity.package-manager-ui@2.0/manual/index.html
diff --git a/Assets/Documentation~/game-events.png b/Assets/Documentation~/game-events.png
deleted file mode 100644
index 1eb1443..0000000
Binary files a/Assets/Documentation~/game-events.png and /dev/null differ
diff --git a/Assets/Documentation~/listeners.png b/Assets/Documentation~/listeners.png
deleted file mode 100644
index 33e5cc2..0000000
Binary files a/Assets/Documentation~/listeners.png and /dev/null differ
diff --git a/Assets/Documentation~/mutable-objects.png b/Assets/Documentation~/mutable-objects.png
deleted file mode 100644
index b11443c..0000000
Binary files a/Assets/Documentation~/mutable-objects.png and /dev/null differ
diff --git a/Assets/Editor/Chark.UnityScriptableObjects.Editor.asmdef b/Assets/Editor/Chark.UnityScriptableObjects.Editor.asmdef
deleted file mode 100644
index f9e66aa..0000000
--- a/Assets/Editor/Chark.UnityScriptableObjects.Editor.asmdef
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "name": "Chark.UnityScriptableObjects.Editor",
- "references": [
- "Chark.UnityScriptableObjects"
- ],
- "includePlatforms": [
- "Editor"
- ]
-}
diff --git a/Assets/Editor/GameEvents/Bool.meta b/Assets/Editor/GameEvents/Bool.meta
deleted file mode 100644
index 8767f2c..0000000
--- a/Assets/Editor/GameEvents/Bool.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: 34167708c84442588aafd6c7ff8808dd
-timeCreated: 1601721644
\ No newline at end of file
diff --git a/Assets/Editor/GameEvents/Bool/BoolGameEventEditor.cs b/Assets/Editor/GameEvents/Bool/BoolGameEventEditor.cs
deleted file mode 100644
index cc9a469..0000000
--- a/Assets/Editor/GameEvents/Bool/BoolGameEventEditor.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using GameEvents.Generic;
-using UnityEditor;
-
-namespace GameEvents.Bool
-{
- [CustomEditor(typeof(BoolGameEvent))]
- public class BoolGameEventEditor : ArgumentGameEventEditor
- {
- protected override bool DrawArgumentField(bool value)
- {
- return EditorGUILayout.Toggle(value);
- }
- }
-}
diff --git a/Assets/Editor/GameEvents/Float.meta b/Assets/Editor/GameEvents/Float.meta
deleted file mode 100644
index 41f6e4f..0000000
--- a/Assets/Editor/GameEvents/Float.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: 78bb1224441446668ebad91d1301bd49
-timeCreated: 1601721624
\ No newline at end of file
diff --git a/Assets/Editor/GameEvents/Float/FloatGameEventEditor.cs b/Assets/Editor/GameEvents/Float/FloatGameEventEditor.cs
deleted file mode 100644
index 1348e12..0000000
--- a/Assets/Editor/GameEvents/Float/FloatGameEventEditor.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using GameEvents.Generic;
-using UnityEditor;
-
-namespace GameEvents.Float
-{
- [CustomEditor(typeof(FloatGameEvent))]
- public class FloatGameEventEditor : ArgumentGameEventEditor
- {
- protected override float DrawArgumentField(float value)
- {
- return EditorGUILayout.FloatField(value);
- }
- }
-}
diff --git a/Assets/Editor/GameEvents/Game.meta b/Assets/Editor/GameEvents/Game.meta
deleted file mode 100644
index 1654493..0000000
--- a/Assets/Editor/GameEvents/Game.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: 552df535d6024270b6dbdabd6cd01ed9
-timeCreated: 1601721674
\ No newline at end of file
diff --git a/Assets/Editor/GameEvents/Game/GameEventEditor.cs b/Assets/Editor/GameEvents/Game/GameEventEditor.cs
deleted file mode 100644
index 8507006..0000000
--- a/Assets/Editor/GameEvents/Game/GameEventEditor.cs
+++ /dev/null
@@ -1,44 +0,0 @@
-using GameEvents.Generic;
-using UnityEditor;
-using UnityEngine;
-
-namespace GameEvents.Game
-{
- [CanEditMultipleObjects]
- [CustomEditor(typeof(GameEvent))]
- public class GameEventEditor : Editor
- {
- public override void OnInspectorGUI()
- {
- base.OnInspectorGUI();
-
- var gameEvent = target as GameEvent;
- if (gameEvent == null)
- {
- return;
- }
-
- GUI.enabled = Application.isPlaying;
- EditorGUILayout.Space();
-
- DrawRaise(gameEvent);
-
- if (!Application.isPlaying)
- {
- return;
- }
-
- EditorGUILayout.Space();
- GameEventEditors.DrawReferences(gameEvent);
- }
-
- private static void DrawRaise(IGameEvent gameEvent)
- {
- GameEventEditors.DrawPlaymodeLabel("Raise event");
- if (GUILayout.Button("Raise"))
- {
- gameEvent.RaiseGameEvent();
- }
- }
- }
-}
diff --git a/Assets/Editor/GameEvents/Game/GameEventEditor.cs.meta b/Assets/Editor/GameEvents/Game/GameEventEditor.cs.meta
deleted file mode 100644
index 2cc8ebe..0000000
--- a/Assets/Editor/GameEvents/Game/GameEventEditor.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: aefbcf645ce54017af595ee80a2b6aaf
-timeCreated: 1601505993
\ No newline at end of file
diff --git a/Assets/Editor/GameEvents/GameEventEditors.cs b/Assets/Editor/GameEvents/GameEventEditors.cs
deleted file mode 100644
index f867f83..0000000
--- a/Assets/Editor/GameEvents/GameEventEditors.cs
+++ /dev/null
@@ -1,69 +0,0 @@
-using System.Collections.Generic;
-using GameEvents.Generic;
-using UnityEditor;
-using UnityEngine;
-
-namespace GameEvents
-{
- public static class GameEventEditors
- {
- ///
- /// Draw a list of argument game event listener references.
- ///
- public static void DrawReferences(
- IArgumentGameEvent gameEvent
- )
- {
- DrawListeners(gameEvent.Listeners);
- }
-
- ///
- /// Draw a list of game event listener references.
- ///
- public static void DrawReferences(IGameEvent gameEvent)
- {
- DrawListeners(gameEvent.Listeners);
- }
-
- ///
- /// Draw a label which changes its suffix based on play mode state.
- ///
- public static void DrawPlaymodeLabel(string text)
- {
- var labelSuffix = Application.isPlaying ? "" : "(play mode only)";
- GUILayout.Label($"{text} {labelSuffix}");
- }
-
- private static void DrawListeners(ICollection listeners)
- {
- DrawPlaymodeLabel("Listeners");
- if (Application.isPlaying)
- {
- if (listeners.Count == 0)
- {
- EditorGUILayout.HelpBox(
- "There are no listeners on this event",
- MessageType.Warning
- );
-
- return;
- }
-
- foreach (var listener in listeners)
- {
- if (listener is MonoBehaviour behaviour)
- {
- EditorGUILayout.ObjectField(behaviour, typeof(Object), true);
- }
- }
- }
- else
- {
- EditorGUILayout.HelpBox(
- "Registered listeners will be displayed here",
- MessageType.Info
- );
- }
- }
- }
-}
diff --git a/Assets/Editor/GameEvents/GameEventEditors.cs.meta b/Assets/Editor/GameEvents/GameEventEditors.cs.meta
deleted file mode 100644
index b52dc18..0000000
--- a/Assets/Editor/GameEvents/GameEventEditors.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: 0b8ab43a41cc4902a452e98af8e27a04
-timeCreated: 1602580628
\ No newline at end of file
diff --git a/Assets/Editor/GameEvents/GameObject/GameObjectGameEventEditor.cs b/Assets/Editor/GameEvents/GameObject/GameObjectGameEventEditor.cs
deleted file mode 100644
index 5c17342..0000000
--- a/Assets/Editor/GameEvents/GameObject/GameObjectGameEventEditor.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using GameEvents.Generic;
-using UnityEditor;
-
-namespace GameEvents.GameObject
-{
- [CustomEditor(typeof(GameObjectGameEvent))]
- public class GameObjectGameEventEditor
- : ArgumentGameEventEditor
- {
- protected override UnityEngine.GameObject DrawArgumentField(UnityEngine.GameObject value)
- {
- var fieldValue = EditorGUILayout
- .ObjectField(value, typeof(UnityEngine.GameObject), true);
-
- return fieldValue as UnityEngine.GameObject;
- }
- }
-}
diff --git a/Assets/Editor/GameEvents/Generic/ArgumentGameEventEditor.cs b/Assets/Editor/GameEvents/Generic/ArgumentGameEventEditor.cs
deleted file mode 100644
index 27ac0a8..0000000
--- a/Assets/Editor/GameEvents/Generic/ArgumentGameEventEditor.cs
+++ /dev/null
@@ -1,49 +0,0 @@
-using UnityEditor;
-using UnityEngine;
-
-namespace GameEvents.Generic
-{
- [CanEditMultipleObjects]
- public abstract class ArgumentGameEventEditor : Editor
- where TGameEvent : class, IArgumentGameEvent
- {
- private TArgument argumentValue = default;
-
- public override void OnInspectorGUI()
- {
- base.OnInspectorGUI();
-
- if (!(target is TGameEvent gameEvent))
- {
- return;
- }
-
- GUI.enabled = Application.isPlaying;
- EditorGUILayout.Space();
-
- DrawRaise(gameEvent);
-
- EditorGUILayout.Space();
- GameEventEditors.DrawReferences(gameEvent);
- }
-
- private void DrawRaise(TGameEvent gameEvent)
- {
- GameEventEditors.DrawPlaymodeLabel("Raise event");
- GUILayout.BeginHorizontal();
-
- argumentValue = DrawArgumentField(argumentValue);
- if (GUILayout.Button("Raise"))
- {
- gameEvent.RaiseGameEvent(argumentValue);
- }
-
- GUILayout.EndHorizontal();
- }
-
- ///
- /// Value that is entered in the argument field.
- ///
- protected abstract TArgument DrawArgumentField(TArgument value);
- }
-}
diff --git a/Assets/Editor/GameEvents/Generic/ArgumentGameEventEditor.cs.meta b/Assets/Editor/GameEvents/Generic/ArgumentGameEventEditor.cs.meta
deleted file mode 100644
index a73e45f..0000000
--- a/Assets/Editor/GameEvents/Generic/ArgumentGameEventEditor.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: c1612c78d6e34250a68141b82ff6d894
-timeCreated: 1601501695
diff --git a/Assets/Editor/GameEvents/Int.meta b/Assets/Editor/GameEvents/Int.meta
deleted file mode 100644
index 9f549af..0000000
--- a/Assets/Editor/GameEvents/Int.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: 49b514db2c774b26a87cea2ef32b4687
-timeCreated: 1601721604
\ No newline at end of file
diff --git a/Assets/Editor/GameEvents/Int/IntGameEventEditor.cs b/Assets/Editor/GameEvents/Int/IntGameEventEditor.cs
deleted file mode 100644
index f9e838f..0000000
--- a/Assets/Editor/GameEvents/Int/IntGameEventEditor.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using GameEvents.Generic;
-using UnityEditor;
-
-namespace GameEvents.Int
-{
- [CustomEditor(typeof(IntGameEvent))]
- public class IntGameEventEditor : ArgumentGameEventEditor
- {
- protected override int DrawArgumentField(int value)
- {
- return EditorGUILayout.IntField(value);
- }
- }
-}
diff --git a/Assets/Editor/GameEvents/String.meta b/Assets/Editor/GameEvents/String.meta
deleted file mode 100644
index c4b2133..0000000
--- a/Assets/Editor/GameEvents/String.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: a6ec7806d24c4a288012c9db2307e9ef
-timeCreated: 1601721579
\ No newline at end of file
diff --git a/Assets/Editor/GameEvents/String/StringGameEventEditor.cs b/Assets/Editor/GameEvents/String/StringGameEventEditor.cs
deleted file mode 100644
index e95da81..0000000
--- a/Assets/Editor/GameEvents/String/StringGameEventEditor.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using GameEvents.Generic;
-using UnityEditor;
-
-namespace GameEvents.String
-{
- [CustomEditor(typeof(StringGameEvent))]
- public class StringGameEventEditor : ArgumentGameEventEditor
- {
- protected override string DrawArgumentField(string value)
- {
- return EditorGUILayout.TextField(value);
- }
- }
-}
diff --git a/Assets/Editor/GameEvents/Transform.meta b/Assets/Editor/GameEvents/Transform.meta
deleted file mode 100644
index 22bb00f..0000000
--- a/Assets/Editor/GameEvents/Transform.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: 703e3d5cb1cc43d181567521f66b2b99
-timeCreated: 1602360189
\ No newline at end of file
diff --git a/Assets/Editor/GameEvents/Transform/GameObjectGameEventEditor.cs b/Assets/Editor/GameEvents/Transform/GameObjectGameEventEditor.cs
deleted file mode 100644
index 48083fe..0000000
--- a/Assets/Editor/GameEvents/Transform/GameObjectGameEventEditor.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using GameEvents.Generic;
-using UnityEditor;
-
-namespace GameEvents.Transform
-{
- [CustomEditor(typeof(TransformGameEvent))]
- public class TransformGameEventEditor
- : ArgumentGameEventEditor
- {
- protected override UnityEngine.Transform DrawArgumentField(UnityEngine.Transform value)
- {
- var fieldValue = EditorGUILayout
- .ObjectField(value, typeof(UnityEngine.Transform), true);
-
- return fieldValue as UnityEngine.Transform;
- }
- }
-}
diff --git a/Assets/Editor/GameEvents/Vector2.meta b/Assets/Editor/GameEvents/Vector2.meta
deleted file mode 100644
index 513a646..0000000
--- a/Assets/Editor/GameEvents/Vector2.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: ddf1da149e354e49867cd11e27b6dbe4
-timeCreated: 1601721543
\ No newline at end of file
diff --git a/Assets/Editor/GameEvents/Vector2/Vector2GameEventEditor.cs b/Assets/Editor/GameEvents/Vector2/Vector2GameEventEditor.cs
deleted file mode 100644
index 9572d82..0000000
--- a/Assets/Editor/GameEvents/Vector2/Vector2GameEventEditor.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-using GameEvents.Generic;
-using UnityEditor;
-using UnityEngine;
-
-namespace GameEvents.Vector2
-{
- [CustomEditor(typeof(Vector2GameEvent))]
- public class Vector2GameEventEditor
- : ArgumentGameEventEditor
- {
- protected override UnityEngine.Vector2 DrawArgumentField(UnityEngine.Vector2 value)
- {
- return EditorGUILayout.Vector2Field(GUIContent.none, value);
- }
- }
-}
diff --git a/Assets/Editor/GameEvents/Vector3.meta b/Assets/Editor/GameEvents/Vector3.meta
deleted file mode 100644
index 1b31307..0000000
--- a/Assets/Editor/GameEvents/Vector3.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: 5bc1c7979217484f816520ba3c2e374d
-timeCreated: 1601721475
\ No newline at end of file
diff --git a/Assets/Editor/GameEvents/Vector3/Vector3GameEventEditor.cs b/Assets/Editor/GameEvents/Vector3/Vector3GameEventEditor.cs
deleted file mode 100644
index f304492..0000000
--- a/Assets/Editor/GameEvents/Vector3/Vector3GameEventEditor.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-using GameEvents.Generic;
-using UnityEditor;
-using UnityEngine;
-
-namespace GameEvents.Vector3
-{
- [CustomEditor(typeof(Vector3GameEvent))]
- public class Vector3GameEventEditor
- : ArgumentGameEventEditor
- {
- protected override UnityEngine.Vector3 DrawArgumentField(UnityEngine.Vector3 value)
- {
- return EditorGUILayout.Vector3Field(GUIContent.none, value);
- }
- }
-}
diff --git a/Assets/Runtime/Chark.UnityScriptableObjects.asmdef b/Assets/Runtime/Chark.UnityScriptableObjects.asmdef
deleted file mode 100644
index e23f533..0000000
--- a/Assets/Runtime/Chark.UnityScriptableObjects.asmdef
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "name": "Chark.UnityScriptableObjects",
- "references": [],
- "includePlatforms": [],
- "excludePlatforms": [],
- "allowUnsafeCode": false,
- "overrideReferences": false,
- "precompiledReferences": [],
- "autoReferenced": true,
- "defineConstraints": [],
- "versionDefines": [],
- "noEngineReferences": false
-}
\ No newline at end of file
diff --git a/Assets/Runtime/GameEvents/Bool/BoolEvent.cs b/Assets/Runtime/GameEvents/Bool/BoolEvent.cs
deleted file mode 100644
index 915028b..0000000
--- a/Assets/Runtime/GameEvents/Bool/BoolEvent.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-using System;
-using UnityEngine.Events;
-
-namespace GameEvents.Bool
-{
- [Serializable]
- public class BoolEvent : UnityEvent
- {
- }
-}
diff --git a/Assets/Runtime/GameEvents/Bool/BoolGameEvent.cs b/Assets/Runtime/GameEvents/Bool/BoolGameEvent.cs
deleted file mode 100644
index a7d2470..0000000
--- a/Assets/Runtime/GameEvents/Bool/BoolGameEvent.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-using GameEvents.Generic;
-using UnityEngine;
-
-namespace GameEvents.Bool
-{
- [CreateAssetMenu(fileName = "BoolGameEvent", menuName = "Game Events/Bool Game Event")]
- public class BoolGameEvent : ArgumentGameEvent
- {
- }
-}
diff --git a/Assets/Runtime/GameEvents/Bool/BoolGameEventListener.cs b/Assets/Runtime/GameEvents/Bool/BoolGameEventListener.cs
deleted file mode 100644
index 8d6112e..0000000
--- a/Assets/Runtime/GameEvents/Bool/BoolGameEventListener.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-using GameEvents.Generic;
-using UnityEngine;
-
-namespace GameEvents.Bool
-{
- [AddComponentMenu("Game Events/Bool Game Event Listener")]
- public class BoolGameEventListener : ArgumentGameEventListener
- {
- }
-}
diff --git a/Assets/Runtime/GameEvents/Float/FloatEvent.cs b/Assets/Runtime/GameEvents/Float/FloatEvent.cs
deleted file mode 100644
index 19a4f29..0000000
--- a/Assets/Runtime/GameEvents/Float/FloatEvent.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-using System;
-using UnityEngine.Events;
-
-namespace GameEvents.Float
-{
- [Serializable]
- public class FloatEvent : UnityEvent
- {
- }
-}
diff --git a/Assets/Runtime/GameEvents/Float/FloatGameEvent.cs b/Assets/Runtime/GameEvents/Float/FloatGameEvent.cs
deleted file mode 100644
index 03208ee..0000000
--- a/Assets/Runtime/GameEvents/Float/FloatGameEvent.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-using GameEvents.Generic;
-using UnityEngine;
-
-namespace GameEvents.Float
-{
- [CreateAssetMenu(fileName = "FloatGameEvent", menuName = "Game Events/Float Game Event")]
- public class FloatGameEvent : ArgumentGameEvent
- {
- }
-}
diff --git a/Assets/Runtime/GameEvents/Float/FloatGameEventListener.cs b/Assets/Runtime/GameEvents/Float/FloatGameEventListener.cs
deleted file mode 100644
index aa18044..0000000
--- a/Assets/Runtime/GameEvents/Float/FloatGameEventListener.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-using GameEvents.Generic;
-using UnityEngine;
-
-namespace GameEvents.Float
-{
- [AddComponentMenu("Game Events/Float Game Event Listener")]
- public class
- FloatGameEventListener : ArgumentGameEventListener
- {
- }
-}
diff --git a/Assets/Runtime/GameEvents/Game/GameEvent.cs b/Assets/Runtime/GameEvents/Game/GameEvent.cs
deleted file mode 100644
index 109fe2b..0000000
--- a/Assets/Runtime/GameEvents/Game/GameEvent.cs
+++ /dev/null
@@ -1,75 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Collections.ObjectModel;
-using GameEvents.Generic;
-using UnityEngine;
-
-namespace GameEvents.Game
-{
- [CreateAssetMenu(fileName = "GameEvent", menuName = "Game Events/Game Event")]
- public class GameEvent : ScriptableObject, IGameEvent
- {
- [SerializeField]
- [Tooltip("Should debug messages be logged for this event")]
- private bool debug = false;
-
- private readonly ReadOnlyCollection readListeners;
-
- private readonly List listeners =
- new List();
-
- public ICollection Listeners => readListeners;
-
- public GameEvent()
- {
- readListeners = listeners.AsReadOnly();
- }
-
- public void RaiseGameEvent()
- {
- if (debug)
- {
- Debug.Log($"Raise event: {name}");
- }
-
- for (var i = listeners.Count - 1; i >= 0; i--)
- {
- var listener = listeners[i];
- if (debug)
- {
- Debug.Log($"Raise event: {name}, listener: {listener}");
- }
-
- try
- {
- listener.RaiseGameEvent();
- }
- catch (Exception e)
- {
- Debug.Log($"Listener: {listener} of event: {name} has thrown an exception.");
- Debug.LogException(e, this);
- }
- }
- }
-
- public void RegisterListener(IGameEventListener listener)
- {
- if (debug)
- {
- Debug.Log($"Registering listener: {listener}");
- }
-
- listeners.Add(listener);
- }
-
- public void UnregisterListener(IGameEventListener listener)
- {
- if (debug)
- {
- Debug.Log($"Unregistering listener: {listener}");
- }
-
- listeners.Remove(listener);
- }
- }
-}
diff --git a/Assets/Runtime/GameEvents/Game/GameEvent.cs.meta b/Assets/Runtime/GameEvents/Game/GameEvent.cs.meta
deleted file mode 100644
index e3511ef..0000000
--- a/Assets/Runtime/GameEvents/Game/GameEvent.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: 21db6c450dc447148ebdd67c2a7c553d
-timeCreated: 1601505560
\ No newline at end of file
diff --git a/Assets/Runtime/GameEvents/Game/GameEventListener.cs b/Assets/Runtime/GameEvents/Game/GameEventListener.cs
deleted file mode 100644
index 9631544..0000000
--- a/Assets/Runtime/GameEvents/Game/GameEventListener.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-using GameEvents.Generic;
-using UnityEngine;
-
-namespace GameEvents.Game
-{
- [AddComponentMenu("Game Events/Game Event Listener")]
- public class GameEventListener : BaseGameEventListener
- {
- }
-}
diff --git a/Assets/Runtime/GameEvents/Game/GameEventListener.cs.meta b/Assets/Runtime/GameEvents/Game/GameEventListener.cs.meta
deleted file mode 100644
index 719d6f6..0000000
--- a/Assets/Runtime/GameEvents/Game/GameEventListener.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: a0b2f85583a54b21922069d1d0951342
-timeCreated: 1601742453
\ No newline at end of file
diff --git a/Assets/Runtime/GameEvents/GameObject/GameObjectEvent.cs b/Assets/Runtime/GameEvents/GameObject/GameObjectEvent.cs
deleted file mode 100644
index 61f48ce..0000000
--- a/Assets/Runtime/GameEvents/GameObject/GameObjectEvent.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-using System;
-using UnityEngine.Events;
-
-namespace GameEvents.GameObject
-{
- [Serializable]
- public class GameObjectEvent : UnityEvent
- {
- }
-}
diff --git a/Assets/Runtime/GameEvents/GameObject/GameObjectGameEvent.cs b/Assets/Runtime/GameEvents/GameObject/GameObjectGameEvent.cs
deleted file mode 100644
index 7cce532..0000000
--- a/Assets/Runtime/GameEvents/GameObject/GameObjectGameEvent.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-using GameEvents.Generic;
-using UnityEngine;
-
-namespace GameEvents.GameObject
-{
- [CreateAssetMenu(fileName = "GameObjectEvent", menuName = "Game Events/Game Object Event")]
- public class GameObjectGameEvent : ArgumentGameEvent
- {
- }
-}
diff --git a/Assets/Runtime/GameEvents/GameObject/GameObjectGameEventListener.cs b/Assets/Runtime/GameEvents/GameObject/GameObjectGameEventListener.cs
deleted file mode 100644
index 070afd0..0000000
--- a/Assets/Runtime/GameEvents/GameObject/GameObjectGameEventListener.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-using GameEvents.Generic;
-using UnityEngine;
-
-namespace GameEvents.GameObject
-{
- [AddComponentMenu("Game Events/Game Object Game Event Listener")]
- public class GameObjectGameEventListener
- : ArgumentGameEventListener
- {
- }
-}
diff --git a/Assets/Runtime/GameEvents/Generic.meta b/Assets/Runtime/GameEvents/Generic.meta
deleted file mode 100644
index 047b9f2..0000000
--- a/Assets/Runtime/GameEvents/Generic.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: 133ae890956e447e848186dd54bab7dd
-timeCreated: 1601497071
\ No newline at end of file
diff --git a/Assets/Runtime/GameEvents/Generic/ArgumentGameEvent.cs b/Assets/Runtime/GameEvents/Generic/ArgumentGameEvent.cs
deleted file mode 100644
index a89fdf0..0000000
--- a/Assets/Runtime/GameEvents/Generic/ArgumentGameEvent.cs
+++ /dev/null
@@ -1,74 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Collections.ObjectModel;
-using UnityEngine;
-
-namespace GameEvents.Generic
-{
- public abstract class ArgumentGameEvent
- : ScriptableObject, IArgumentGameEvent
- {
- [SerializeField]
- [Tooltip("Should debug messages be logged for this event")]
- private bool debug = false;
-
- private readonly ReadOnlyCollection> readListeners;
-
- private readonly List> listeners =
- new List>();
-
- public ICollection> Listeners => readListeners;
-
- public ArgumentGameEvent()
- {
- readListeners = listeners.AsReadOnly();
- }
-
- public void RaiseGameEvent(TArgument argument)
- {
- if (debug)
- {
- Debug.Log($"Raise event: {name} with an argument: {argument}");
- }
-
- for (var i = listeners.Count - 1; i >= 0; i--)
- {
- var listener = listeners[i];
- if (debug)
- {
- Debug.Log($"Raise event: {name}, listener: {listener}, argument: {argument}");
- }
-
- try
- {
- listener.RaiseGameEvent(argument);
- }
- catch (Exception e)
- {
- Debug.Log($"Listener: {listener} of event: {name} has thrown an exception.");
- Debug.LogException(e, this);
- }
- }
- }
-
- public void RegisterListener(IArgumentGameEventListener listener)
- {
- if (debug)
- {
- Debug.Log($"Registering listener: {listener}");
- }
-
- listeners.Add(listener);
- }
-
- public void UnregisterListener(IArgumentGameEventListener listener)
- {
- if (debug)
- {
- Debug.Log($"Unregistering listener: {listener}");
- }
-
- listeners.Remove(listener);
- }
- }
-}
diff --git a/Assets/Runtime/GameEvents/Generic/ArgumentGameEventListener.cs b/Assets/Runtime/GameEvents/Generic/ArgumentGameEventListener.cs
deleted file mode 100644
index 21b36f0..0000000
--- a/Assets/Runtime/GameEvents/Generic/ArgumentGameEventListener.cs
+++ /dev/null
@@ -1,57 +0,0 @@
-using UnityEngine;
-using UnityEngine.Events;
-
-namespace GameEvents.Generic
-{
- public abstract class ArgumentGameEventListener
- : MonoBehaviour, IArgumentGameEventListener
- where TGameEvent : IArgumentGameEvent
- where TUnityEvent : UnityEvent
- {
- [SerializeField]
- [Tooltip("Game event to listen to which will trigger the onGameEvent event")]
- private TGameEvent gameEvent = default;
-
- // ReSharper disable once Unity.RedundantSerializeFieldAttribute
- // ReSharper disable once FieldCanBeMadeReadOnly.Local
- [SerializeField]
- [Tooltip("Called when the listener is triggered with an argument")]
- private TUnityEvent onGameEvent = default;
-
- ///
- /// Get or set the underlying GameEvent.
- ///
- public TGameEvent GameEvent
- {
- get => gameEvent;
- set => gameEvent = value;
- }
-
- ///
- /// Get or set the underlying UnityEvent.
- ///
- public TUnityEvent OnGameEvent
- {
- get => onGameEvent;
- set => onGameEvent = value;
- }
-
- ///
- /// Trigger this listener with an argument.
- ///
- public void RaiseGameEvent(TArgument argument)
- {
- onGameEvent.Invoke(argument);
- }
-
- private void OnEnable()
- {
- gameEvent.RegisterListener(this);
- }
-
- private void OnDisable()
- {
- gameEvent.UnregisterListener(this);
- }
- }
-}
diff --git a/Assets/Runtime/GameEvents/Generic/ArgumentGameEventListener.cs.meta b/Assets/Runtime/GameEvents/Generic/ArgumentGameEventListener.cs.meta
deleted file mode 100644
index bb0294a..0000000
--- a/Assets/Runtime/GameEvents/Generic/ArgumentGameEventListener.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: a56f032f967a4020adcd19a17ba06e54
-timeCreated: 1601496583
\ No newline at end of file
diff --git a/Assets/Runtime/GameEvents/Generic/BaseGameEventListener.cs b/Assets/Runtime/GameEvents/Generic/BaseGameEventListener.cs
deleted file mode 100644
index 7e40fdd..0000000
--- a/Assets/Runtime/GameEvents/Generic/BaseGameEventListener.cs
+++ /dev/null
@@ -1,51 +0,0 @@
-using UnityEngine;
-using UnityEngine.Events;
-
-namespace GameEvents.Generic
-{
- public abstract class BaseGameEventListener
- : MonoBehaviour, IGameEventListener
- where TGameEvent : IGameEvent
- {
- [SerializeField]
- [Tooltip("Game event to listen to which will trigger the onGameEvent event")]
- private TGameEvent gameEvent = default;
-
- [SerializeField]
- [Tooltip("Called when the listener is triggered with an argument")]
- private UnityEvent onGameEvent = default;
-
- ///
- /// Get or set the underlying GameEvent.
- ///
- public TGameEvent GameEvent
- {
- get => gameEvent;
- set => gameEvent = value;
- }
-
- ///
- /// Get or set the underlying UnityEvent.
- ///
- public UnityEvent OnGameEvent
- {
- get => onGameEvent;
- set => onGameEvent = value;
- }
-
- public void RaiseGameEvent()
- {
- onGameEvent.Invoke();
- }
-
- private void OnEnable()
- {
- gameEvent.RegisterListener(this);
- }
-
- private void OnDisable()
- {
- gameEvent.UnregisterListener(this);
- }
- }
-}
diff --git a/Assets/Runtime/GameEvents/Generic/IArgumentGameEvent.cs b/Assets/Runtime/GameEvents/Generic/IArgumentGameEvent.cs
deleted file mode 100644
index d473a55..0000000
--- a/Assets/Runtime/GameEvents/Generic/IArgumentGameEvent.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-using System.Collections.Generic;
-
-namespace GameEvents.Generic
-{
- public interface IArgumentGameEvent
- {
- ///
- /// Currently registered listeners.
- ///
- ICollection> Listeners { get; }
-
- ///
- /// Raise this event with an argument.
- ///
- void RaiseGameEvent(TArgument argument);
-
- ///
- /// Register a listener with an argument to this event.
- ///
- void RegisterListener(IArgumentGameEventListener listener);
-
- ///
- /// Unregister a listener with an argument from this event.
- ///
- void UnregisterListener(IArgumentGameEventListener listener);
- }
-}
diff --git a/Assets/Runtime/GameEvents/Generic/IArgumentGameEvent.cs.meta b/Assets/Runtime/GameEvents/Generic/IArgumentGameEvent.cs.meta
deleted file mode 100644
index 943916a..0000000
--- a/Assets/Runtime/GameEvents/Generic/IArgumentGameEvent.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: a2c094d73e984a8a8c3f5c6aa06da650
-timeCreated: 1601504434
\ No newline at end of file
diff --git a/Assets/Runtime/GameEvents/Generic/IArgumentGameEventListener.cs b/Assets/Runtime/GameEvents/Generic/IArgumentGameEventListener.cs
deleted file mode 100644
index 8bf8402..0000000
--- a/Assets/Runtime/GameEvents/Generic/IArgumentGameEventListener.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-namespace GameEvents.Generic
-{
- public interface IArgumentGameEventListener
- {
- ///
- /// Trigger this listener with an argument.
- ///
- void RaiseGameEvent(TArgument argument);
- }
-}
diff --git a/Assets/Runtime/GameEvents/Generic/IArgumentGameEventListener.cs.meta b/Assets/Runtime/GameEvents/Generic/IArgumentGameEventListener.cs.meta
deleted file mode 100644
index 9bfe625..0000000
--- a/Assets/Runtime/GameEvents/Generic/IArgumentGameEventListener.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: 46728124ea394601833d952b6563f90f
-timeCreated: 1601504669
\ No newline at end of file
diff --git a/Assets/Runtime/GameEvents/Generic/IGameEvent.cs b/Assets/Runtime/GameEvents/Generic/IGameEvent.cs
deleted file mode 100644
index af1467c..0000000
--- a/Assets/Runtime/GameEvents/Generic/IGameEvent.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-using System.Collections.Generic;
-
-namespace GameEvents.Generic
-{
- public interface IGameEvent
- {
- ///
- /// Currently registered listeners.
- ///
- ICollection Listeners { get; }
-
- ///
- /// Raise this event.
- ///
- void RaiseGameEvent();
-
- ///
- /// Register a listener to this event.
- ///
- void RegisterListener(IGameEventListener listener);
-
- ///
- /// Unregister a listener from this event.
- ///
- void UnregisterListener(IGameEventListener listener);
- }
-}
diff --git a/Assets/Runtime/GameEvents/Generic/IGameEvent.cs.meta b/Assets/Runtime/GameEvents/Generic/IGameEvent.cs.meta
deleted file mode 100644
index 349f8a6..0000000
--- a/Assets/Runtime/GameEvents/Generic/IGameEvent.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: d4028bf2eaa644448f5cc6c883dfe8fb
-timeCreated: 1601500047
\ No newline at end of file
diff --git a/Assets/Runtime/GameEvents/Generic/IGameEventListener.cs b/Assets/Runtime/GameEvents/Generic/IGameEventListener.cs
deleted file mode 100644
index f248236..0000000
--- a/Assets/Runtime/GameEvents/Generic/IGameEventListener.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-namespace GameEvents.Generic
-{
- public interface IGameEventListener
- {
- ///
- /// Trigger this listener.
- ///
- void RaiseGameEvent();
- }
-}
diff --git a/Assets/Runtime/GameEvents/Generic/IGameEventListener.cs.meta b/Assets/Runtime/GameEvents/Generic/IGameEventListener.cs.meta
deleted file mode 100644
index 2d28477..0000000
--- a/Assets/Runtime/GameEvents/Generic/IGameEventListener.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: 92f33ef0400e4dc9868b6d2ba4f0336b
-timeCreated: 1601500241
\ No newline at end of file
diff --git a/Assets/Runtime/GameEvents/Int/IntEvent.cs b/Assets/Runtime/GameEvents/Int/IntEvent.cs
deleted file mode 100644
index c7c96b5..0000000
--- a/Assets/Runtime/GameEvents/Int/IntEvent.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-using System;
-using UnityEngine.Events;
-
-namespace GameEvents.Int
-{
- [Serializable]
- public class IntEvent : UnityEvent
- {
- }
-}
diff --git a/Assets/Runtime/GameEvents/Int/IntGameEvent.cs b/Assets/Runtime/GameEvents/Int/IntGameEvent.cs
deleted file mode 100644
index 5fd24e0..0000000
--- a/Assets/Runtime/GameEvents/Int/IntGameEvent.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-using GameEvents.Generic;
-using UnityEngine;
-
-namespace GameEvents.Int
-{
- [CreateAssetMenu(fileName = "IntGameEvent", menuName = "Game Events/Int Game Event")]
- public class IntGameEvent : ArgumentGameEvent
- {
- }
-}
diff --git a/Assets/Runtime/GameEvents/Int/IntGameEventListener.cs b/Assets/Runtime/GameEvents/Int/IntGameEventListener.cs
deleted file mode 100644
index 7259412..0000000
--- a/Assets/Runtime/GameEvents/Int/IntGameEventListener.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-using GameEvents.Generic;
-using UnityEngine;
-
-namespace GameEvents.Int
-{
- [AddComponentMenu("Game Events/Int Game Event Listener")]
- public class IntGameEventListener : ArgumentGameEventListener
- {
- }
-}
diff --git a/Assets/Runtime/GameEvents/String/StringEvent.cs b/Assets/Runtime/GameEvents/String/StringEvent.cs
deleted file mode 100644
index 157bd13..0000000
--- a/Assets/Runtime/GameEvents/String/StringEvent.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-using System;
-using UnityEngine.Events;
-
-namespace GameEvents.String
-{
- [Serializable]
- public class StringEvent : UnityEvent
- {
- }
-}
diff --git a/Assets/Runtime/GameEvents/String/StringGameEvent.cs b/Assets/Runtime/GameEvents/String/StringGameEvent.cs
deleted file mode 100644
index cdcabd0..0000000
--- a/Assets/Runtime/GameEvents/String/StringGameEvent.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-using GameEvents.Generic;
-using UnityEngine;
-
-namespace GameEvents.String
-{
- [CreateAssetMenu(fileName = "StringGameEvent", menuName = "Game Events/String Game Event")]
- public class StringGameEvent : ArgumentGameEvent
- {
- }
-}
diff --git a/Assets/Runtime/GameEvents/String/StringGameEventListener.cs b/Assets/Runtime/GameEvents/String/StringGameEventListener.cs
deleted file mode 100644
index 6d78850..0000000
--- a/Assets/Runtime/GameEvents/String/StringGameEventListener.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-using GameEvents.Generic;
-using UnityEngine;
-
-namespace GameEvents.String
-{
- [AddComponentMenu("Game Events/String Game Event Listener")]
- public class
- StringGameEventListener : ArgumentGameEventListener
- {
- }
-}
diff --git a/Assets/Runtime/GameEvents/Transform/TransformEvent.cs b/Assets/Runtime/GameEvents/Transform/TransformEvent.cs
deleted file mode 100644
index 2b79745..0000000
--- a/Assets/Runtime/GameEvents/Transform/TransformEvent.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-using System;
-using UnityEngine.Events;
-
-namespace GameEvents.Transform
-{
- [Serializable]
- public class TransformEvent : UnityEvent
- {
- }
-}
diff --git a/Assets/Runtime/GameEvents/Transform/TransformGameEvent.cs b/Assets/Runtime/GameEvents/Transform/TransformGameEvent.cs
deleted file mode 100644
index 5a0ffc0..0000000
--- a/Assets/Runtime/GameEvents/Transform/TransformGameEvent.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using GameEvents.Generic;
-using UnityEngine;
-
-namespace GameEvents.Transform
-{
- [CreateAssetMenu(
- fileName = "TransformGameEvent",
- menuName = "Game Events/Transform Game Event"
- )]
- public class TransformGameEvent : ArgumentGameEvent
- {
- }
-}
diff --git a/Assets/Runtime/GameEvents/Transform/TransformGameEventListener.cs b/Assets/Runtime/GameEvents/Transform/TransformGameEventListener.cs
deleted file mode 100644
index e2d086c..0000000
--- a/Assets/Runtime/GameEvents/Transform/TransformGameEventListener.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-using GameEvents.Generic;
-using UnityEngine;
-
-namespace GameEvents.Transform
-{
- [AddComponentMenu("Game Events/Transform Game Event Listener")]
- public class TransformGameEventListener
- : ArgumentGameEventListener
- {
- }
-}
diff --git a/Assets/Runtime/GameEvents/Vector2/Vector2Event.cs b/Assets/Runtime/GameEvents/Vector2/Vector2Event.cs
deleted file mode 100644
index 398676f..0000000
--- a/Assets/Runtime/GameEvents/Vector2/Vector2Event.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-using System;
-using UnityEngine.Events;
-
-namespace GameEvents.Vector2
-{
- [Serializable]
- public class Vector2Event : UnityEvent
- {
- }
-}
diff --git a/Assets/Runtime/GameEvents/Vector2/Vector2GameEvent.cs b/Assets/Runtime/GameEvents/Vector2/Vector2GameEvent.cs
deleted file mode 100644
index 125d954..0000000
--- a/Assets/Runtime/GameEvents/Vector2/Vector2GameEvent.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-using GameEvents.Generic;
-using UnityEngine;
-
-namespace GameEvents.Vector2
-{
- [CreateAssetMenu(fileName = "Vector2GameEvent", menuName = "Game Events/Vector2 Game Event")]
- public class Vector2GameEvent : ArgumentGameEvent
- {
- }
-}
diff --git a/Assets/Runtime/GameEvents/Vector2/Vector2GameEventListener.cs b/Assets/Runtime/GameEvents/Vector2/Vector2GameEventListener.cs
deleted file mode 100644
index e89ad9f..0000000
--- a/Assets/Runtime/GameEvents/Vector2/Vector2GameEventListener.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-using GameEvents.Generic;
-using UnityEngine;
-
-namespace GameEvents.Vector2
-{
- [AddComponentMenu("Game Events/Vector2 Game Event Listener")]
- public class Vector2GameEventListener
- : ArgumentGameEventListener
- {
- }
-}
diff --git a/Assets/Runtime/GameEvents/Vector3/Vector3Event.cs b/Assets/Runtime/GameEvents/Vector3/Vector3Event.cs
deleted file mode 100644
index b089736..0000000
--- a/Assets/Runtime/GameEvents/Vector3/Vector3Event.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-using System;
-using UnityEngine.Events;
-
-namespace GameEvents.Vector3
-{
- [Serializable]
- public class Vector3Event : UnityEvent
- {
- }
-}
diff --git a/Assets/Runtime/GameEvents/Vector3/Vector3GameEvent.cs b/Assets/Runtime/GameEvents/Vector3/Vector3GameEvent.cs
deleted file mode 100644
index 06316b4..0000000
--- a/Assets/Runtime/GameEvents/Vector3/Vector3GameEvent.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-using GameEvents.Generic;
-using UnityEngine;
-
-namespace GameEvents.Vector3
-{
- [CreateAssetMenu(fileName = "Vector3GameEvent", menuName = "Game Events/Vector3 Game Event")]
- public class Vector3GameEvent : ArgumentGameEvent
- {
- }
-}
diff --git a/Assets/Runtime/GameEvents/Vector3/Vector3GameEventListener.cs b/Assets/Runtime/GameEvents/Vector3/Vector3GameEventListener.cs
deleted file mode 100644
index 2fdc4f4..0000000
--- a/Assets/Runtime/GameEvents/Vector3/Vector3GameEventListener.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-using GameEvents.Generic;
-using UnityEngine;
-
-namespace GameEvents.Vector3
-{
- [AddComponentMenu("Game Events/Vector3 Game Event Listener")]
- public class Vector3GameEventListener
- : ArgumentGameEventListener
- {
- }
-}
diff --git a/Assets/Runtime/MutableObjects.meta b/Assets/Runtime/MutableObjects.meta
deleted file mode 100644
index 4dad3c5..0000000
--- a/Assets/Runtime/MutableObjects.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 2ea4f42a83854093888d1eb0445f14e7
-folderAsset: yes
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Runtime/MutableObjects/Bool.meta b/Assets/Runtime/MutableObjects/Bool.meta
deleted file mode 100644
index e773051..0000000
--- a/Assets/Runtime/MutableObjects/Bool.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: 2b602cbfff2146469cc800fdfd2d77c4
-timeCreated: 1601914554
\ No newline at end of file
diff --git a/Assets/Runtime/MutableObjects/Bool/MutableBool.cs b/Assets/Runtime/MutableObjects/Bool/MutableBool.cs
deleted file mode 100644
index 895c21b..0000000
--- a/Assets/Runtime/MutableObjects/Bool/MutableBool.cs
+++ /dev/null
@@ -1,19 +0,0 @@
-using MutableObjects.Generic;
-using UnityEngine;
-
-namespace MutableObjects.Bool
-{
- [CreateAssetMenu(fileName = "MutableBool", menuName = "Mutable Objects/Mutable Bool")]
- public class MutableBool : MutableObject
- {
- [SerializeField]
- private bool value = default;
-
- public bool Value { get; set; }
-
- public override void ResetValues()
- {
- Value = value;
- }
- }
-}
diff --git a/Assets/Runtime/MutableObjects/Bool/MutableBool.cs.meta b/Assets/Runtime/MutableObjects/Bool/MutableBool.cs.meta
deleted file mode 100644
index 3a404a9..0000000
--- a/Assets/Runtime/MutableObjects/Bool/MutableBool.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: e3b0adfed72642e4a860b3de85741e11
-timeCreated: 1601914554
\ No newline at end of file
diff --git a/Assets/Runtime/MutableObjects/Float.meta b/Assets/Runtime/MutableObjects/Float.meta
deleted file mode 100644
index b226992..0000000
--- a/Assets/Runtime/MutableObjects/Float.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: ffa1662b22ac4a6d9b9f384ba273ef48
-timeCreated: 1601743192
\ No newline at end of file
diff --git a/Assets/Runtime/MutableObjects/Float/MutableFloat.cs b/Assets/Runtime/MutableObjects/Float/MutableFloat.cs
deleted file mode 100644
index a4f149f..0000000
--- a/Assets/Runtime/MutableObjects/Float/MutableFloat.cs
+++ /dev/null
@@ -1,19 +0,0 @@
-using MutableObjects.Generic;
-using UnityEngine;
-
-namespace MutableObjects.Float
-{
- [CreateAssetMenu(fileName = "MutableFloat", menuName = "Mutable Objects/Mutable Float")]
- public class MutableFloat : MutableObject
- {
- [SerializeField]
- private float value = default;
-
- public float Value { get; set; }
-
- public override void ResetValues()
- {
- Value = value;
- }
- }
-}
diff --git a/Assets/Runtime/MutableObjects/Float/MutableFloat.cs.meta b/Assets/Runtime/MutableObjects/Float/MutableFloat.cs.meta
deleted file mode 100644
index b3ece7c..0000000
--- a/Assets/Runtime/MutableObjects/Float/MutableFloat.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: fe56b70473a64c369b9ed218633feb0c
-timeCreated: 1601743192
\ No newline at end of file
diff --git a/Assets/Runtime/MutableObjects/Generic.meta b/Assets/Runtime/MutableObjects/Generic.meta
deleted file mode 100644
index 788cdf6..0000000
--- a/Assets/Runtime/MutableObjects/Generic.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: c89a661ef9e94b6ab72f968a3e2c2cc7
-timeCreated: 1601742725
\ No newline at end of file
diff --git a/Assets/Runtime/MutableObjects/Generic/IMutableObject.cs b/Assets/Runtime/MutableObjects/Generic/IMutableObject.cs
deleted file mode 100644
index 3372983..0000000
--- a/Assets/Runtime/MutableObjects/Generic/IMutableObject.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-namespace MutableObjects.Generic
-{
- public interface IMutableObject
- {
- ///
- /// When this mutable object should be reset.
- ///
- ResetType ResetType { get; }
-
- ///
- /// Reset values on this mutable object to their original ones.
- ///
- void ResetValues();
- }
-}
diff --git a/Assets/Runtime/MutableObjects/Generic/IMutableObject.cs.meta b/Assets/Runtime/MutableObjects/Generic/IMutableObject.cs.meta
deleted file mode 100644
index 048cc03..0000000
--- a/Assets/Runtime/MutableObjects/Generic/IMutableObject.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: 09be57a60c2b49698c09a6a1babd15b2
-timeCreated: 1601742710
\ No newline at end of file
diff --git a/Assets/Runtime/MutableObjects/Generic/MutableObject.cs b/Assets/Runtime/MutableObjects/Generic/MutableObject.cs
deleted file mode 100644
index f82c070..0000000
--- a/Assets/Runtime/MutableObjects/Generic/MutableObject.cs
+++ /dev/null
@@ -1,25 +0,0 @@
-using UnityEngine;
-
-namespace MutableObjects.Generic
-{
- public abstract class MutableObject : ScriptableObject, IMutableObject
- {
- [SerializeField]
- [Tooltip("When reset should be called for this object")]
- private ResetType resetType = ResetType.None;
-
- public ResetType ResetType => resetType;
-
- public abstract void ResetValues();
-
- protected virtual void OnValidate()
- {
- ResetValues();
- }
-
- protected virtual void OnEnable()
- {
- ResetValues();
- }
- }
-}
diff --git a/Assets/Runtime/MutableObjects/Generic/MutableObject.cs.meta b/Assets/Runtime/MutableObjects/Generic/MutableObject.cs.meta
deleted file mode 100644
index aed6db6..0000000
--- a/Assets/Runtime/MutableObjects/Generic/MutableObject.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: e1df6005a214430c9e8cbbf1366da9ff
-timeCreated: 1601742868
\ No newline at end of file
diff --git a/Assets/Runtime/MutableObjects/Generic/ResetType.cs b/Assets/Runtime/MutableObjects/Generic/ResetType.cs
deleted file mode 100644
index 130de40..0000000
--- a/Assets/Runtime/MutableObjects/Generic/ResetType.cs
+++ /dev/null
@@ -1,19 +0,0 @@
-using UnityEngine;
-
-namespace MutableObjects.Generic
-{
- public enum ResetType
- {
- [Tooltip("Do not reset")]
- None,
-
- [Tooltip("Reset when the active (focused) scene changes")]
- ActiveSceneChange,
-
- [Tooltip("Reset when the current scene gets unloaded")]
- SceneUnloaded,
-
- [Tooltip("Reset when the scene is loaded")]
- SceneLoaded
- }
-}
diff --git a/Assets/Runtime/MutableObjects/Generic/ResetType.cs.meta b/Assets/Runtime/MutableObjects/Generic/ResetType.cs.meta
deleted file mode 100644
index 637096d..0000000
--- a/Assets/Runtime/MutableObjects/Generic/ResetType.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: f61a23a3d27a495ba161056ee0f552e2
-timeCreated: 1602362226
\ No newline at end of file
diff --git a/Assets/Runtime/MutableObjects/Int.meta b/Assets/Runtime/MutableObjects/Int.meta
deleted file mode 100644
index d1108e8..0000000
--- a/Assets/Runtime/MutableObjects/Int.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: e245b06a03f14b96b9c89499acf5852c
-timeCreated: 1601742950
\ No newline at end of file
diff --git a/Assets/Runtime/MutableObjects/Int/MutableInt.cs b/Assets/Runtime/MutableObjects/Int/MutableInt.cs
deleted file mode 100644
index d782a84..0000000
--- a/Assets/Runtime/MutableObjects/Int/MutableInt.cs
+++ /dev/null
@@ -1,19 +0,0 @@
-using MutableObjects.Generic;
-using UnityEngine;
-
-namespace MutableObjects.Int
-{
- [CreateAssetMenu(fileName = "MutableInt", menuName = "Mutable Objects/Mutable Int")]
- public class MutableInt : MutableObject
- {
- [SerializeField]
- private int value = default;
-
- public int Value { get; set; }
-
- public override void ResetValues()
- {
- Value = value;
- }
- }
-}
diff --git a/Assets/Runtime/MutableObjects/Int/MutableInt.cs.meta b/Assets/Runtime/MutableObjects/Int/MutableInt.cs.meta
deleted file mode 100644
index a9b93e0..0000000
--- a/Assets/Runtime/MutableObjects/Int/MutableInt.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: eb4c1ad19b56486ca2a4e9514f8b7acc
-timeCreated: 1601742962
\ No newline at end of file
diff --git a/Assets/Runtime/MutableObjects/MutableObjectHandler.cs b/Assets/Runtime/MutableObjects/MutableObjectHandler.cs
deleted file mode 100644
index fbe816b..0000000
--- a/Assets/Runtime/MutableObjects/MutableObjectHandler.cs
+++ /dev/null
@@ -1,63 +0,0 @@
-using System.Collections.Generic;
-using System.Linq;
-using MutableObjects.Generic;
-
-namespace MutableObjects
-{
- public class MutableObjectHandler
- {
- private readonly List mutableObjects;
-
- public MutableObjectHandler(List mutableObjects)
- {
- this.mutableObjects = mutableObjects;
- }
-
- ///
- /// Set initial mutable object values (ignoring reset type).
- ///
- public void SetInitialMutableObjectValues()
- {
- // Initial all mutable objects are reset (set initial values).
- ResetMutableObjects(mutableObjects);
- }
-
- ///
- /// Reset objects with reset type.
- ///
- public void ResetActiveSceneChange()
- {
- ResetMutableObjects(ResetType.ActiveSceneChange);
- }
-
- ///
- /// Reset objects with reset type.
- ///
- public void ResetSceneUnloaded()
- {
- ResetMutableObjects(ResetType.SceneUnloaded);
- }
-
- ///
- /// Reset objects with reset type.
- ///
- public void ResetSceneLoaded()
- {
- ResetMutableObjects(ResetType.SceneLoaded);
- }
-
- private void ResetMutableObjects(ResetType resetType)
- {
- var filteredByType = mutableObjects.Where(obj => obj.ResetType == resetType);
- ResetMutableObjects(filteredByType);
- }
-
- private static void ResetMutableObjects(IEnumerable objects)
- {
- foreach (var obj in objects)
- {
- obj.ResetValues();
- }
- }
- }
-}
diff --git a/Assets/Runtime/MutableObjects/MutableObjectHandler.cs.meta b/Assets/Runtime/MutableObjects/MutableObjectHandler.cs.meta
deleted file mode 100644
index 364ecdb..0000000
--- a/Assets/Runtime/MutableObjects/MutableObjectHandler.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 6292f477634e4552b51327967ca77061
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: -1
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Runtime/MutableObjects/MutableObjectHandlerInitializer.cs b/Assets/Runtime/MutableObjects/MutableObjectHandlerInitializer.cs
deleted file mode 100644
index f54c3bb..0000000
--- a/Assets/Runtime/MutableObjects/MutableObjectHandlerInitializer.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-using System.Collections.Generic;
-using MutableObjects.Generic;
-using UnityEngine;
-using UnityEngine.SceneManagement;
-
-namespace MutableObjects
-{
- public static class MutableObjectHandlerInitializer
- {
- [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
- private static void RuntimeInit()
- {
- var handler = new MutableObjectHandler(FindMutableObjects());
- handler.SetInitialMutableObjectValues();
-
- SceneManager.activeSceneChanged += (curr, next) => handler.ResetActiveSceneChange();
- SceneManager.sceneUnloaded += scene => handler.ResetSceneUnloaded();
- SceneManager.sceneLoaded += (scene, mode) => handler.ResetSceneLoaded();
- }
-
- private static List FindMutableObjects()
- {
- return new List(Resources.FindObjectsOfTypeAll());
- }
- }
-}
diff --git a/Assets/Runtime/MutableObjects/MutableObjectHandlerInitializer.cs.meta b/Assets/Runtime/MutableObjects/MutableObjectHandlerInitializer.cs.meta
deleted file mode 100644
index 92dcea6..0000000
--- a/Assets/Runtime/MutableObjects/MutableObjectHandlerInitializer.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: d570fba8672849bda9af9259a474bfd2
-timeCreated: 1602408464
\ No newline at end of file
diff --git a/Assets/Runtime/MutableObjects/String.meta b/Assets/Runtime/MutableObjects/String.meta
deleted file mode 100644
index f36f508..0000000
--- a/Assets/Runtime/MutableObjects/String.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: 3434047d882d4e8da1533a9432965021
-timeCreated: 1601743247
\ No newline at end of file
diff --git a/Assets/Runtime/MutableObjects/String/MutableString.cs b/Assets/Runtime/MutableObjects/String/MutableString.cs
deleted file mode 100644
index 907496f..0000000
--- a/Assets/Runtime/MutableObjects/String/MutableString.cs
+++ /dev/null
@@ -1,19 +0,0 @@
-using MutableObjects.Generic;
-using UnityEngine;
-
-namespace MutableObjects.String
-{
- [CreateAssetMenu(fileName = "MutableString", menuName = "Mutable Objects/Mutable String")]
- public class MutableString : MutableObject
- {
- [SerializeField]
- private string value = default;
-
- public string Value { get; set; }
-
- public override void ResetValues()
- {
- Value = value;
- }
- }
-}
diff --git a/Assets/Runtime/MutableObjects/String/MutableString.cs.meta b/Assets/Runtime/MutableObjects/String/MutableString.cs.meta
deleted file mode 100644
index 57ee3c6..0000000
--- a/Assets/Runtime/MutableObjects/String/MutableString.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: a01cfddbc7254405a4b5033e723125f0
-timeCreated: 1601743247
\ No newline at end of file
diff --git a/Assets/Runtime/MutableObjects/Vector2.meta b/Assets/Runtime/MutableObjects/Vector2.meta
deleted file mode 100644
index 2fdd580..0000000
--- a/Assets/Runtime/MutableObjects/Vector2.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: c11e7d9062be4ee1b5444613bdaa77c6
-timeCreated: 1601743290
\ No newline at end of file
diff --git a/Assets/Runtime/MutableObjects/Vector2/MutableVector2.cs b/Assets/Runtime/MutableObjects/Vector2/MutableVector2.cs
deleted file mode 100644
index f145bf4..0000000
--- a/Assets/Runtime/MutableObjects/Vector2/MutableVector2.cs
+++ /dev/null
@@ -1,19 +0,0 @@
-using MutableObjects.Generic;
-using UnityEngine;
-
-namespace MutableObjects.Vector2
-{
- [CreateAssetMenu(fileName = "MutableVector2", menuName = "Mutable Objects/Mutable Vector2")]
- public class MutableVector2 : MutableObject
- {
- [SerializeField]
- private UnityEngine.Vector2 value = default;
-
- public UnityEngine.Vector2 Value { get; set; }
-
- public override void ResetValues()
- {
- Value = value;
- }
- }
-}
diff --git a/Assets/Runtime/MutableObjects/Vector2/MutableVector2.cs.meta b/Assets/Runtime/MutableObjects/Vector2/MutableVector2.cs.meta
deleted file mode 100644
index 2a50592..0000000
--- a/Assets/Runtime/MutableObjects/Vector2/MutableVector2.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: e180dd849b874a2f8ddccb3e49938e71
-timeCreated: 1601743290
\ No newline at end of file
diff --git a/Assets/Runtime/MutableObjects/Vector3.meta b/Assets/Runtime/MutableObjects/Vector3.meta
deleted file mode 100644
index a130579..0000000
--- a/Assets/Runtime/MutableObjects/Vector3.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: c90f4745cd38454ba82bc3414c7d844e
-timeCreated: 1601743335
\ No newline at end of file
diff --git a/Assets/Runtime/MutableObjects/Vector3/MutableVector3.cs b/Assets/Runtime/MutableObjects/Vector3/MutableVector3.cs
deleted file mode 100644
index 6e32dc8..0000000
--- a/Assets/Runtime/MutableObjects/Vector3/MutableVector3.cs
+++ /dev/null
@@ -1,19 +0,0 @@
-using MutableObjects.Generic;
-using UnityEngine;
-
-namespace MutableObjects.Vector3
-{
- [CreateAssetMenu(fileName = "MutableVector3", menuName = "Mutable Objects/Mutable Vector3")]
- public class MutableVector3 : MutableObject
- {
- [SerializeField]
- private UnityEngine.Vector3 value = default;
-
- public UnityEngine.Vector3 Value { get; set; }
-
- public override void ResetValues()
- {
- Value = value;
- }
- }
-}
diff --git a/Assets/Runtime/MutableObjects/Vector3/MutableVector3.cs.meta b/Assets/Runtime/MutableObjects/Vector3/MutableVector3.cs.meta
deleted file mode 100644
index 48d9145..0000000
--- a/Assets/Runtime/MutableObjects/Vector3/MutableVector3.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: dcac6b29d5414962b03349b9e7736761
-timeCreated: 1601743335
\ No newline at end of file
diff --git a/Assets/Samples.meta b/Assets/Samples.meta
deleted file mode 100644
index 54afdf1..0000000
--- a/Assets/Samples.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 840efa0530264e741bb77a42bf9866ec
-folderAsset: yes
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Samples/Chark.UnityScriptableObjects.Samples.asmdef b/Assets/Samples/Chark.UnityScriptableObjects.Samples.asmdef
deleted file mode 100644
index d98b321..0000000
--- a/Assets/Samples/Chark.UnityScriptableObjects.Samples.asmdef
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "name": "Chark.UnityScriptableObjects.Samples",
- "references": [
- "Chark.UnityScriptableObjects",
- "Chark.UnityScriptableObjects.Editor"
- ],
- "includePlatforms": [],
- "excludePlatforms": [],
- "allowUnsafeCode": false,
- "overrideReferences": false,
- "precompiledReferences": [],
- "autoReferenced": true,
- "defineConstraints": [],
- "versionDefines": [],
- "noEngineReferences": false
-}
\ No newline at end of file
diff --git a/Assets/Samples/GameEvents.meta b/Assets/Samples/GameEvents.meta
deleted file mode 100644
index 50d8419..0000000
--- a/Assets/Samples/GameEvents.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 25b6bc34b5cf9c147b45808d933da96d
-folderAsset: yes
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Samples/GameEvents/Events.meta b/Assets/Samples/GameEvents/Events.meta
deleted file mode 100644
index 16956e2..0000000
--- a/Assets/Samples/GameEvents/Events.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 52c66523ac2a021439e0990d6ec0f2ad
-folderAsset: yes
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Samples/GameEvents/Materials.meta b/Assets/Samples/GameEvents/Materials.meta
deleted file mode 100644
index cd5635d..0000000
--- a/Assets/Samples/GameEvents/Materials.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: f7f26e1167d70f6488c790ba278c6f6d
-folderAsset: yes
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Samples/GameEvents/Materials/Target.mat b/Assets/Samples/GameEvents/Materials/Target.mat
deleted file mode 100644
index 74b7731..0000000
--- a/Assets/Samples/GameEvents/Materials/Target.mat
+++ /dev/null
@@ -1,110 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!114 &-8071150190349356560
-MonoBehaviour:
- m_ObjectHideFlags: 11
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 0}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- version: 1
---- !u!21 &2100000
-Material:
- serializedVersion: 6
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: Target
- m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
- m_ShaderKeywords:
- m_LightmapFlags: 4
- m_EnableInstancingVariants: 0
- m_DoubleSidedGI: 0
- m_CustomRenderQueue: 2050
- stringTagMap:
- RenderType: Opaque
- disabledShaderPasses: []
- m_SavedProperties:
- serializedVersion: 3
- m_TexEnvs:
- - _BaseMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _BumpMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _DetailAlbedoMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _DetailMask:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _DetailNormalMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _EmissionMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _MainTex:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _MetallicGlossMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _OcclusionMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _ParallaxMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _SpecGlossMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- m_Floats:
- - _AlphaClip: 0
- - _Blend: 0
- - _BumpScale: 1
- - _Cull: 2
- - _Cutoff: 0.5
- - _DetailNormalMapScale: 1
- - _DstBlend: 0
- - _EnvironmentReflections: 1
- - _GlossMapScale: 1
- - _Glossiness: 0.5
- - _GlossyReflections: 1
- - _Metallic: 0
- - _Mode: 0
- - _OcclusionStrength: 1
- - _Parallax: 0.02
- - _QueueOffset: 0
- - _ReceiveShadows: 1
- - _Smoothness: 0.5
- - _SmoothnessTextureChannel: 0
- - _SpecularHighlights: 1
- - _SrcBlend: 1
- - _Surface: 0
- - _UVSec: 0
- - _WorkflowMode: 1
- - _ZWrite: 1
- m_Colors:
- - _BaseColor: {r: 0.9716981, g: 0.5179334, b: 0.5179334, a: 1}
- - _Color: {r: 0.9716981, g: 0.5179334, b: 0.5179334, a: 1}
- - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
diff --git a/Assets/Samples/GameEvents/Materials/Wall.mat b/Assets/Samples/GameEvents/Materials/Wall.mat
deleted file mode 100644
index c9e4aaa..0000000
--- a/Assets/Samples/GameEvents/Materials/Wall.mat
+++ /dev/null
@@ -1,110 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!21 &2100000
-Material:
- serializedVersion: 6
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: Wall
- m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
- m_ShaderKeywords:
- m_LightmapFlags: 4
- m_EnableInstancingVariants: 0
- m_DoubleSidedGI: 0
- m_CustomRenderQueue: 2050
- stringTagMap:
- RenderType: Opaque
- disabledShaderPasses: []
- m_SavedProperties:
- serializedVersion: 3
- m_TexEnvs:
- - _BaseMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _BumpMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _DetailAlbedoMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _DetailMask:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _DetailNormalMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _EmissionMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _MainTex:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _MetallicGlossMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _OcclusionMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _ParallaxMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _SpecGlossMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- m_Floats:
- - _AlphaClip: 0
- - _Blend: 0
- - _BumpScale: 1
- - _Cull: 2
- - _Cutoff: 0.5
- - _DetailNormalMapScale: 1
- - _DstBlend: 0
- - _EnvironmentReflections: 1
- - _GlossMapScale: 1
- - _Glossiness: 0.5
- - _GlossyReflections: 1
- - _Metallic: 0
- - _Mode: 0
- - _OcclusionStrength: 1
- - _Parallax: 0.02
- - _QueueOffset: 0
- - _ReceiveShadows: 1
- - _Smoothness: 0.5
- - _SmoothnessTextureChannel: 0
- - _SpecularHighlights: 1
- - _SrcBlend: 1
- - _Surface: 0
- - _UVSec: 0
- - _WorkflowMode: 1
- - _ZWrite: 1
- m_Colors:
- - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- - _Color: {r: 1, g: 1, b: 1, a: 1}
- - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
---- !u!114 &2019156213369660498
-MonoBehaviour:
- m_ObjectHideFlags: 11
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 0}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- version: 1
diff --git a/Assets/Samples/GameEvents/Materials/Wall.mat.meta b/Assets/Samples/GameEvents/Materials/Wall.mat.meta
deleted file mode 100644
index 5f33c4c..0000000
--- a/Assets/Samples/GameEvents/Materials/Wall.mat.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 6721031f739529e4d9bd149a7cfc0d80
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Samples/GameEvents/Prefabs.meta b/Assets/Samples/GameEvents/Prefabs.meta
deleted file mode 100644
index 073738a..0000000
--- a/Assets/Samples/GameEvents/Prefabs.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 6f0a6aa25c3fac74d8d6463f1dbbe2ad
-folderAsset: yes
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Samples/GameEvents/Prefabs/ScoreEffect.prefab b/Assets/Samples/GameEvents/Prefabs/ScoreEffect.prefab
deleted file mode 100644
index 42d652d..0000000
--- a/Assets/Samples/GameEvents/Prefabs/ScoreEffect.prefab
+++ /dev/null
@@ -1,97 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!1 &131506036300085454
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 131506036300085455}
- - component: {fileID: 131506036300085457}
- - component: {fileID: 131506036300085456}
- - component: {fileID: 131506036300085458}
- m_Layer: 5
- m_Name: ScoreEffect
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!224 &131506036300085455
-RectTransform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 131506036300085454}
- 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}
- m_AnchorMin: {x: 0, y: 0.5}
- m_AnchorMax: {x: 1, y: 0.5}
- m_AnchoredPosition: {x: 0, y: 0}
- m_SizeDelta: {x: 0, y: 30}
- m_Pivot: {x: 0.5, y: 0.5}
---- !u!222 &131506036300085457
-CanvasRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 131506036300085454}
- m_CullTransparentMesh: 0
---- !u!114 &131506036300085456
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 131506036300085454}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_Material: {fileID: 0}
- m_Color: {r: 0.7735849, g: 0.39004228, b: 0.13501246, a: 1}
- m_RaycastTarget: 1
- m_Maskable: 1
- m_OnCullStateChanged:
- m_PersistentCalls:
- m_Calls: []
- m_FontData:
- m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
- m_FontSize: 18
- m_FontStyle: 0
- m_BestFit: 0
- m_MinSize: 1
- m_MaxSize: 40
- m_Alignment: 1
- m_AlignByGeometry: 0
- m_RichText: 1
- m_HorizontalOverflow: 0
- m_VerticalOverflow: 0
- m_LineSpacing: 1
- m_Text:
---- !u!114 &131506036300085458
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 131506036300085454}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 04272e1dd140b4647a81945fd79860d0, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- floatDirection: {x: 0, y: 1, z: 0}
- fadeOutColor: {r: 0, g: 0, b: 0, a: 0}
- floatSpeed: 15
- floatDuration: 3
diff --git a/Assets/Samples/GameEvents/Prefabs/ScoreEffect.prefab.meta b/Assets/Samples/GameEvents/Prefabs/ScoreEffect.prefab.meta
deleted file mode 100644
index 7baacaf..0000000
--- a/Assets/Samples/GameEvents/Prefabs/ScoreEffect.prefab.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: afe75c613b95bbe449a605b71f6bdd67
-PrefabImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Samples/GameEvents/Prefabs/ScoreHandler.prefab b/Assets/Samples/GameEvents/Prefabs/ScoreHandler.prefab
deleted file mode 100644
index d58e7cb..0000000
--- a/Assets/Samples/GameEvents/Prefabs/ScoreHandler.prefab
+++ /dev/null
@@ -1,125 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!1 &3201492554182924235
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 3201492554182924232}
- - component: {fileID: 3201492554182924238}
- - component: {fileID: 3201492554182924233}
- - component: {fileID: 3197890015597547032}
- - component: {fileID: 3201492554182924239}
- m_Layer: 5
- m_Name: ScoreHandler
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!224 &3201492554182924232
-RectTransform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 3201492554182924235}
- 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}
- m_AnchorMin: {x: 0, y: 0}
- m_AnchorMax: {x: 1, y: 0}
- m_AnchoredPosition: {x: 0, y: 15}
- m_SizeDelta: {x: 0, y: 30}
- m_Pivot: {x: 0.5, y: 0.5}
---- !u!222 &3201492554182924238
-CanvasRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 3201492554182924235}
- m_CullTransparentMesh: 0
---- !u!114 &3201492554182924233
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 3201492554182924235}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_Material: {fileID: 0}
- m_Color: {r: 0.6415094, g: 0.493236, b: 0.493236, a: 1}
- m_RaycastTarget: 1
- m_Maskable: 1
- m_OnCullStateChanged:
- m_PersistentCalls:
- m_Calls: []
- m_FontData:
- m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
- m_FontSize: 24
- m_FontStyle: 0
- m_BestFit: 0
- m_MinSize: 2
- m_MaxSize: 40
- m_Alignment: 1
- m_AlignByGeometry: 0
- m_RichText: 1
- m_HorizontalOverflow: 0
- m_VerticalOverflow: 0
- m_LineSpacing: 1
- m_Text:
---- !u!114 &3197890015597547032
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 3201492554182924235}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: a0b2f85583a54b21922069d1d0951342, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- gameEvent: {fileID: 11400000, guid: ba3e9660171fc3e499829b9d9ed8b9cb, type: 2}
- onGameEvent:
- m_PersistentCalls:
- m_Calls:
- - m_Target: {fileID: 3201492554182924239}
- m_MethodName: IncreaseScore
- 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
---- !u!114 &3201492554182924239
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 3201492554182924235}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 66ebf31fba15413096990cd356aa98e6, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- scoreIncrease: 1
- scoreEffectYOffset: 10
- scoreEffectPrefab: {fileID: 131506036300085458, guid: afe75c613b95bbe449a605b71f6bdd67,
- type: 3}
diff --git a/Assets/Samples/GameEvents/Prefabs/ScoreHandler.prefab.meta b/Assets/Samples/GameEvents/Prefabs/ScoreHandler.prefab.meta
deleted file mode 100644
index b841c88..0000000
--- a/Assets/Samples/GameEvents/Prefabs/ScoreHandler.prefab.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: 29b95b1c8d09d5942a41b5a2e00ec62e
-PrefabImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Samples/GameEvents/Prefabs/ShooterCamera.prefab b/Assets/Samples/GameEvents/Prefabs/ShooterCamera.prefab
deleted file mode 100644
index 28b91db..0000000
--- a/Assets/Samples/GameEvents/Prefabs/ShooterCamera.prefab
+++ /dev/null
@@ -1,132 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!1 &6785867113212262390
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 6785867113212262385}
- - component: {fileID: 6785867113212262384}
- - component: {fileID: 6785867113212262391}
- - component: {fileID: 6785867113212262386}
- - component: {fileID: 3563761561003061392}
- m_Layer: 0
- m_Name: ShooterCamera
- m_TagString: MainCamera
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!4 &6785867113212262385
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 6785867113212262390}
- m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
- m_LocalPosition: {x: 0, y: 0, 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!20 &6785867113212262384
-Camera:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 6785867113212262390}
- 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_GateFitMode: 2
- m_FOVAxisMode: 0
- 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: 85
- orthographic: 1
- orthographic size: 9
- 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!81 &6785867113212262391
-AudioListener:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 6785867113212262390}
- m_Enabled: 1
---- !u!114 &6785867113212262386
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 6785867113212262390}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: f5322d0809e6c094c9f48718decf34db, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- shotGameEvent: {fileID: 11400000, guid: d15108d9f7748d24584a3a876de12713, type: 2}
- shootButton: Fire1
---- !u!114 &3563761561003061392
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 6785867113212262390}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_RenderShadows: 1
- m_RequiresDepthTextureOption: 2
- m_RequiresOpaqueTextureOption: 2
- m_CameraType: 0
- m_Cameras: []
- m_RendererIndex: -1
- m_VolumeLayerMask:
- serializedVersion: 2
- m_Bits: 1
- m_VolumeTrigger: {fileID: 0}
- m_RenderPostProcessing: 0
- m_Antialiasing: 0
- m_AntialiasingQuality: 2
- m_StopNaN: 0
- m_Dithering: 0
- m_ClearDepth: 1
- m_RequiresDepthTexture: 0
- m_RequiresColorTexture: 0
- m_Version: 2
diff --git a/Assets/Samples/GameEvents/Prefabs/ShooterCamera.prefab.meta b/Assets/Samples/GameEvents/Prefabs/ShooterCamera.prefab.meta
deleted file mode 100644
index a632b7e..0000000
--- a/Assets/Samples/GameEvents/Prefabs/ShooterCamera.prefab.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: 39aea4008adc3114ba8ad37589825c2a
-PrefabImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Samples/GameEvents/Prefabs/ShotHandler.prefab b/Assets/Samples/GameEvents/Prefabs/ShotHandler.prefab
deleted file mode 100644
index 4b5cdda..0000000
--- a/Assets/Samples/GameEvents/Prefabs/ShotHandler.prefab
+++ /dev/null
@@ -1,87 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!1 &1526703896885373470
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 1526703896885373471}
- - component: {fileID: 1526703896885373469}
- - component: {fileID: 1526703896885373468}
- m_Layer: 0
- m_Name: ShotHandler
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!4 &1526703896885373471
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1526703896885373470}
- 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!114 &1526703896885373469
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1526703896885373470}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: ad65403ebd3445baad61e78877ff6ed6, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- gameEvent: {fileID: 11400000, guid: d15108d9f7748d24584a3a876de12713, type: 2}
- onGameEvent:
- m_PersistentCalls:
- m_Calls:
- - m_Target: {fileID: 1526703896885373468}
- m_MethodName: HandleShot
- m_Mode: 0
- 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
---- !u!114 &1526703896885373468
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1526703896885373470}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 1080b2340bee3cb4fa67da041bf81815, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- onShot:
- m_PersistentCalls:
- m_Calls:
- - m_Target: {fileID: 11400000, guid: ba3e9660171fc3e499829b9d9ed8b9cb, type: 2}
- m_MethodName: RaiseGameEvent
- 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
diff --git a/Assets/Samples/GameEvents/Prefabs/ShotHandler.prefab.meta b/Assets/Samples/GameEvents/Prefabs/ShotHandler.prefab.meta
deleted file mode 100644
index 008b6bb..0000000
--- a/Assets/Samples/GameEvents/Prefabs/ShotHandler.prefab.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: 2fef0869f9c6baf4db6f03bb350504df
-PrefabImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Samples/GameEvents/Prefabs/Spawner.prefab b/Assets/Samples/GameEvents/Prefabs/Spawner.prefab
deleted file mode 100644
index 52a3757..0000000
--- a/Assets/Samples/GameEvents/Prefabs/Spawner.prefab
+++ /dev/null
@@ -1,91 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!1 &3952613158653746747
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 3952613158653746744}
- - component: {fileID: 3952613158653746750}
- - component: {fileID: 1775778486484008960}
- - component: {fileID: 3952613158653746745}
- m_Layer: 2
- m_Name: Spawner
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!4 &3952613158653746744
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 3952613158653746747}
- 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!65 &3952613158653746750
-BoxCollider:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 3952613158653746747}
- m_Material: {fileID: 0}
- m_IsTrigger: 0
- m_Enabled: 1
- serializedVersion: 2
- m_Size: {x: 15, y: 0.5, z: 15}
- m_Center: {x: 0, y: 0, z: 0}
---- !u!114 &1775778486484008960
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 3952613158653746747}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: a0b2f85583a54b21922069d1d0951342, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- gameEvent: {fileID: 11400000, guid: ba3e9660171fc3e499829b9d9ed8b9cb, type: 2}
- onGameEvent:
- m_PersistentCalls:
- m_Calls:
- - m_Target: {fileID: 3952613158653746745}
- m_MethodName: DecreaseSpawned
- 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
---- !u!114 &3952613158653746745
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 3952613158653746747}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 5916e7e0178a40ba8209ec5b7ac1d1a7, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- spawnedLimit: 10
- spawnPrefab: {fileID: 7326214114355414923, guid: 499fa445dcd1c5e4691103ff3cf960d3,
- type: 3}
- maxRandomScale: {x: 1, y: 2, z: 1}
diff --git a/Assets/Samples/GameEvents/Prefabs/Spawner.prefab.meta b/Assets/Samples/GameEvents/Prefabs/Spawner.prefab.meta
deleted file mode 100644
index 04b8d2d..0000000
--- a/Assets/Samples/GameEvents/Prefabs/Spawner.prefab.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: cde315354eda1ba4fae3b0c33583e9a1
-PrefabImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Samples/GameEvents/Prefabs/Target.prefab b/Assets/Samples/GameEvents/Prefabs/Target.prefab
deleted file mode 100644
index 2de0355..0000000
--- a/Assets/Samples/GameEvents/Prefabs/Target.prefab
+++ /dev/null
@@ -1,126 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!1 &2144511059860342937
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 1951316595536880060}
- - component: {fileID: 7110850260090275822}
- - component: {fileID: 4882082495510605036}
- - component: {fileID: 6426669856614916432}
- m_Layer: 0
- m_Name: Body
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!4 &1951316595536880060
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 2144511059860342937}
- 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: 7326214114355414922}
- m_RootOrder: 0
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!33 &7110850260090275822
-MeshFilter:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 2144511059860342937}
- m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
---- !u!23 &4882082495510605036
-MeshRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 2144511059860342937}
- m_Enabled: 1
- m_CastShadows: 1
- m_ReceiveShadows: 1
- m_DynamicOccludee: 1
- m_MotionVectors: 1
- m_LightProbeUsage: 1
- m_ReflectionProbeUsage: 1
- m_RayTracingMode: 2
- m_RenderingLayerMask: 1
- m_RendererPriority: 0
- m_Materials:
- - {fileID: 2100000, guid: 275f385ed1d71b242ac4af4042c4974e, type: 2}
- m_StaticBatchInfo:
- firstSubMesh: 0
- subMeshCount: 0
- m_StaticBatchRoot: {fileID: 0}
- m_ProbeAnchor: {fileID: 0}
- m_LightProbeVolumeOverride: {fileID: 0}
- m_ScaleInLightmap: 1
- m_ReceiveGI: 1
- m_PreserveUVs: 0
- m_IgnoreNormalsForChartDetection: 0
- m_ImportantGI: 0
- m_StitchLightmapSeams: 1
- 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!65 &6426669856614916432
-BoxCollider:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 2144511059860342937}
- 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!1 &7326214114355414923
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 7326214114355414922}
- m_Layer: 0
- m_Name: Target
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!4 &7326214114355414922
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 7326214114355414923}
- 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: 1951316595536880060}
- m_Father: {fileID: 0}
- m_RootOrder: 0
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
diff --git a/Assets/Samples/GameEvents/Prefabs/Target.prefab.meta b/Assets/Samples/GameEvents/Prefabs/Target.prefab.meta
deleted file mode 100644
index 2061f8e..0000000
--- a/Assets/Samples/GameEvents/Prefabs/Target.prefab.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: 499fa445dcd1c5e4691103ff3cf960d3
-PrefabImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Samples/GameEvents/Scenes/GameEvents.unity b/Assets/Samples/GameEvents/Scenes/GameEvents.unity
deleted file mode 100644
index 3bb8a1a..0000000
--- a/Assets/Samples/GameEvents/Scenes/GameEvents.unity
+++ /dev/null
@@ -1,816 +0,0 @@
-%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.40784085, g: 0.41969264, b: 0.4433962, 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: 3
- 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, g: 0, b: 0, a: 1}
- m_UseRadianceAmbientProbe: 0
---- !u!157 &3
-LightmapSettings:
- m_ObjectHideFlags: 0
- serializedVersion: 11
- m_GIWorkflowMode: 1
- m_GISettings:
- serializedVersion: 2
- m_BounceScale: 1
- m_IndirectOutputScale: 1
- m_AlbedoBoost: 1
- m_EnvironmentLightingMode: 0
- m_EnableBakedLightmaps: 1
- m_EnableRealtimeLightmaps: 0
- m_LightmapEditorSettings:
- serializedVersion: 12
- m_Resolution: 2
- m_BakeResolution: 40
- m_AtlasSize: 1024
- m_AO: 0
- m_AOMaxDistance: 1
- m_CompAOExponent: 1
- m_CompAOExponentDirect: 0
- m_ExtractAmbientOcclusion: 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: 512
- m_PVRBounces: 2
- m_PVREnvironmentSampleCount: 256
- m_PVREnvironmentReferencePointCount: 2048
- m_PVRFilteringMode: 1
- m_PVRDenoiserTypeDirect: 1
- m_PVRDenoiserTypeIndirect: 1
- m_PVRDenoiserTypeAO: 1
- m_PVRFilterTypeDirect: 0
- m_PVRFilterTypeIndirect: 0
- m_PVRFilterTypeAO: 0
- m_PVREnvironmentMIS: 1
- m_PVRCulling: 1
- m_PVRFilteringGaussRadiusDirect: 1
- m_PVRFilteringGaussRadiusIndirect: 5
- m_PVRFilteringGaussRadiusAO: 2
- m_PVRFilteringAtrousPositionSigmaDirect: 0.5
- m_PVRFilteringAtrousPositionSigmaIndirect: 2
- m_PVRFilteringAtrousPositionSigmaAO: 1
- m_ExportTrainingData: 0
- m_TrainingDataDestination: TrainingData
- m_LightProbeSampleCountMultiplier: 4
- 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 &179482124
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 179482125}
- m_Layer: 0
- m_Name: Environment
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!4 &179482125
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 179482124}
- 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: 198214860}
- - {fileID: 1418809552}
- m_Father: {fileID: 0}
- m_RootOrder: 1
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!1 &198214858
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 198214860}
- - component: {fileID: 198214859}
- m_Layer: 0
- m_Name: DirectionalLight
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!108 &198214859
-Light:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 198214858}
- m_Enabled: 1
- serializedVersion: 10
- m_Type: 1
- m_Shape: 0
- m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
- m_Intensity: 1
- m_Range: 10
- m_SpotAngle: 30
- m_InnerSpotAngle: 21.80208
- 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_CullingMatrixOverride:
- e00: 1
- e01: 0
- e02: 0
- e03: 0
- e10: 0
- e11: 1
- e12: 0
- e13: 0
- e20: 0
- e21: 0
- e22: 1
- e23: 0
- e30: 0
- e31: 0
- e32: 0
- e33: 1
- m_UseCullingMatrixOverride: 0
- m_Cookie: {fileID: 0}
- m_DrawHalo: 0
- m_Flare: {fileID: 0}
- m_RenderMode: 0
- m_CullingMask:
- serializedVersion: 2
- m_Bits: 4294967295
- m_RenderingLayerMask: 1
- m_Lightmapping: 4
- m_LightShadowCasterMode: 0
- m_AreaSize: {x: 1, y: 1}
- m_BounceIntensity: 1
- m_ColorTemperature: 6570
- m_UseColorTemperature: 0
- m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
- m_UseBoundingSphereOverride: 0
- m_ShadowRadius: 0
- m_ShadowAngle: 0
---- !u!4 &198214860
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 198214858}
- m_LocalRotation: {x: 0.305453, y: 0.46908507, z: -0.2784701, w: 0.78045636}
- m_LocalPosition: {x: 0, y: 0, z: 0}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_Children: []
- m_Father: {fileID: 179482125}
- m_RootOrder: 0
- m_LocalEulerAnglesHint: {x: 47.565002, y: 56.409004, z: -12.679001}
---- !u!224 &530501970 stripped
-RectTransform:
- m_CorrespondingSourceObject: {fileID: 3201492554182924232, guid: 29b95b1c8d09d5942a41b5a2e00ec62e,
- type: 3}
- m_PrefabInstance: {fileID: 3201492554344253082}
- m_PrefabAsset: {fileID: 0}
---- !u!1 &597545309
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 597545313}
- - component: {fileID: 597545312}
- - component: {fileID: 597545311}
- - component: {fileID: 597545310}
- m_Layer: 5
- m_Name: UI
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!114 &597545310
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 597545309}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_IgnoreReversedGraphics: 1
- m_BlockingObjects: 0
- m_BlockingMask:
- serializedVersion: 2
- m_Bits: 4294967295
---- !u!114 &597545311
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 597545309}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, 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 &597545312
-Canvas:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 597545309}
- 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 &597545313
-RectTransform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 597545309}
- 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: 530501970}
- m_Father: {fileID: 0}
- m_RootOrder: 3
- 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 &1418809548
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 1418809552}
- - component: {fileID: 1418809551}
- - component: {fileID: 1418809550}
- - component: {fileID: 1418809549}
- m_Layer: 2
- m_Name: Wall
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!64 &1418809549
-MeshCollider:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1418809548}
- m_Material: {fileID: 0}
- m_IsTrigger: 0
- m_Enabled: 1
- serializedVersion: 4
- m_Convex: 0
- m_CookingOptions: 30
- m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
---- !u!23 &1418809550
-MeshRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1418809548}
- m_Enabled: 1
- m_CastShadows: 1
- m_ReceiveShadows: 1
- m_DynamicOccludee: 1
- m_MotionVectors: 1
- m_LightProbeUsage: 1
- m_ReflectionProbeUsage: 1
- m_RayTracingMode: 2
- m_RenderingLayerMask: 1
- m_RendererPriority: 0
- m_Materials:
- - {fileID: 2100000, guid: 6721031f739529e4d9bd149a7cfc0d80, type: 2}
- m_StaticBatchInfo:
- firstSubMesh: 0
- subMeshCount: 0
- m_StaticBatchRoot: {fileID: 0}
- m_ProbeAnchor: {fileID: 0}
- m_LightProbeVolumeOverride: {fileID: 0}
- m_ScaleInLightmap: 1
- m_ReceiveGI: 1
- m_PreserveUVs: 0
- m_IgnoreNormalsForChartDetection: 0
- m_ImportantGI: 0
- m_StitchLightmapSeams: 1
- 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 &1418809551
-MeshFilter:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1418809548}
- m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
---- !u!4 &1418809552
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1418809548}
- m_LocalRotation: {x: -0.0000014603136, y: -0, z: -0, w: 1}
- m_LocalPosition: {x: 0, y: 0, z: 3}
- m_LocalScale: {x: 10, y: 10, z: 10}
- m_Children: []
- m_Father: {fileID: 179482125}
- m_RootOrder: 1
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!4 &2097392453 stripped
-Transform:
- m_CorrespondingSourceObject: {fileID: 1526703896885373471, guid: 2fef0869f9c6baf4db6f03bb350504df,
- type: 3}
- m_PrefabInstance: {fileID: 1526703894922330458}
- m_PrefabAsset: {fileID: 0}
---- !u!1 &2128261166
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 2128261167}
- m_Layer: 0
- m_Name: Targets
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!4 &2128261167
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 2128261166}
- 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: 2131695426}
- - {fileID: 2097392453}
- m_Father: {fileID: 0}
- m_RootOrder: 2
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!4 &2131695426 stripped
-Transform:
- m_CorrespondingSourceObject: {fileID: 3952613158653746744, guid: cde315354eda1ba4fae3b0c33583e9a1,
- type: 3}
- m_PrefabInstance: {fileID: 3952613157831723386}
- m_PrefabAsset: {fileID: 0}
---- !u!1001 &1526703894922330458
-PrefabInstance:
- m_ObjectHideFlags: 0
- serializedVersion: 2
- m_Modification:
- m_TransformParent: {fileID: 2128261167}
- m_Modifications:
- - target: {fileID: 1526703896885373470, guid: 2fef0869f9c6baf4db6f03bb350504df,
- type: 3}
- propertyPath: m_Name
- value: ShotHandler
- objectReference: {fileID: 0}
- - target: {fileID: 1526703896885373471, guid: 2fef0869f9c6baf4db6f03bb350504df,
- type: 3}
- propertyPath: m_LocalPosition.x
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 1526703896885373471, guid: 2fef0869f9c6baf4db6f03bb350504df,
- type: 3}
- propertyPath: m_LocalPosition.y
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 1526703896885373471, guid: 2fef0869f9c6baf4db6f03bb350504df,
- type: 3}
- propertyPath: m_LocalPosition.z
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 1526703896885373471, guid: 2fef0869f9c6baf4db6f03bb350504df,
- type: 3}
- propertyPath: m_LocalRotation.x
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 1526703896885373471, guid: 2fef0869f9c6baf4db6f03bb350504df,
- type: 3}
- propertyPath: m_LocalRotation.y
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 1526703896885373471, guid: 2fef0869f9c6baf4db6f03bb350504df,
- type: 3}
- propertyPath: m_LocalRotation.z
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 1526703896885373471, guid: 2fef0869f9c6baf4db6f03bb350504df,
- type: 3}
- propertyPath: m_LocalRotation.w
- value: 1
- objectReference: {fileID: 0}
- - target: {fileID: 1526703896885373471, guid: 2fef0869f9c6baf4db6f03bb350504df,
- type: 3}
- propertyPath: m_RootOrder
- value: 1
- objectReference: {fileID: 0}
- - target: {fileID: 1526703896885373471, guid: 2fef0869f9c6baf4db6f03bb350504df,
- type: 3}
- propertyPath: m_LocalEulerAnglesHint.x
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 1526703896885373471, guid: 2fef0869f9c6baf4db6f03bb350504df,
- type: 3}
- propertyPath: m_LocalEulerAnglesHint.y
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 1526703896885373471, guid: 2fef0869f9c6baf4db6f03bb350504df,
- type: 3}
- propertyPath: m_LocalEulerAnglesHint.z
- value: 0
- objectReference: {fileID: 0}
- m_RemovedComponents: []
- m_SourcePrefab: {fileID: 100100000, guid: 2fef0869f9c6baf4db6f03bb350504df, type: 3}
---- !u!1001 &3201492554344253082
-PrefabInstance:
- m_ObjectHideFlags: 0
- serializedVersion: 2
- m_Modification:
- m_TransformParent: {fileID: 597545313}
- m_Modifications:
- - target: {fileID: 3201492554182924232, guid: 29b95b1c8d09d5942a41b5a2e00ec62e,
- type: 3}
- propertyPath: m_LocalPosition.x
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 3201492554182924232, guid: 29b95b1c8d09d5942a41b5a2e00ec62e,
- type: 3}
- propertyPath: m_LocalPosition.y
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 3201492554182924232, guid: 29b95b1c8d09d5942a41b5a2e00ec62e,
- type: 3}
- propertyPath: m_LocalPosition.z
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 3201492554182924232, guid: 29b95b1c8d09d5942a41b5a2e00ec62e,
- type: 3}
- propertyPath: m_LocalRotation.x
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 3201492554182924232, guid: 29b95b1c8d09d5942a41b5a2e00ec62e,
- type: 3}
- propertyPath: m_LocalRotation.y
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 3201492554182924232, guid: 29b95b1c8d09d5942a41b5a2e00ec62e,
- type: 3}
- propertyPath: m_LocalRotation.z
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 3201492554182924232, guid: 29b95b1c8d09d5942a41b5a2e00ec62e,
- type: 3}
- propertyPath: m_LocalRotation.w
- value: 1
- objectReference: {fileID: 0}
- - target: {fileID: 3201492554182924232, guid: 29b95b1c8d09d5942a41b5a2e00ec62e,
- type: 3}
- propertyPath: m_RootOrder
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 3201492554182924232, guid: 29b95b1c8d09d5942a41b5a2e00ec62e,
- type: 3}
- propertyPath: m_LocalEulerAnglesHint.x
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 3201492554182924232, guid: 29b95b1c8d09d5942a41b5a2e00ec62e,
- type: 3}
- propertyPath: m_LocalEulerAnglesHint.y
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 3201492554182924232, guid: 29b95b1c8d09d5942a41b5a2e00ec62e,
- type: 3}
- propertyPath: m_LocalEulerAnglesHint.z
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 3201492554182924232, guid: 29b95b1c8d09d5942a41b5a2e00ec62e,
- type: 3}
- propertyPath: m_AnchoredPosition.x
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 3201492554182924232, guid: 29b95b1c8d09d5942a41b5a2e00ec62e,
- type: 3}
- propertyPath: m_AnchoredPosition.y
- value: 15
- objectReference: {fileID: 0}
- - target: {fileID: 3201492554182924232, guid: 29b95b1c8d09d5942a41b5a2e00ec62e,
- type: 3}
- propertyPath: m_SizeDelta.x
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 3201492554182924232, guid: 29b95b1c8d09d5942a41b5a2e00ec62e,
- type: 3}
- propertyPath: m_SizeDelta.y
- value: 30
- objectReference: {fileID: 0}
- - target: {fileID: 3201492554182924232, guid: 29b95b1c8d09d5942a41b5a2e00ec62e,
- type: 3}
- propertyPath: m_AnchorMin.x
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 3201492554182924232, guid: 29b95b1c8d09d5942a41b5a2e00ec62e,
- type: 3}
- propertyPath: m_AnchorMin.y
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 3201492554182924232, guid: 29b95b1c8d09d5942a41b5a2e00ec62e,
- type: 3}
- propertyPath: m_AnchorMax.x
- value: 1
- objectReference: {fileID: 0}
- - target: {fileID: 3201492554182924232, guid: 29b95b1c8d09d5942a41b5a2e00ec62e,
- type: 3}
- propertyPath: m_AnchorMax.y
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 3201492554182924232, guid: 29b95b1c8d09d5942a41b5a2e00ec62e,
- type: 3}
- propertyPath: m_Pivot.x
- value: 0.5
- objectReference: {fileID: 0}
- - target: {fileID: 3201492554182924232, guid: 29b95b1c8d09d5942a41b5a2e00ec62e,
- type: 3}
- propertyPath: m_Pivot.y
- value: 0.5
- objectReference: {fileID: 0}
- - target: {fileID: 3201492554182924235, guid: 29b95b1c8d09d5942a41b5a2e00ec62e,
- type: 3}
- propertyPath: m_Name
- value: ScoreHandler
- objectReference: {fileID: 0}
- m_RemovedComponents: []
- m_SourcePrefab: {fileID: 100100000, guid: 29b95b1c8d09d5942a41b5a2e00ec62e, type: 3}
---- !u!1001 &3952613157831723386
-PrefabInstance:
- m_ObjectHideFlags: 0
- serializedVersion: 2
- m_Modification:
- m_TransformParent: {fileID: 2128261167}
- m_Modifications:
- - target: {fileID: 3952613158653746744, guid: cde315354eda1ba4fae3b0c33583e9a1,
- type: 3}
- propertyPath: m_LocalPosition.x
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 3952613158653746744, guid: cde315354eda1ba4fae3b0c33583e9a1,
- type: 3}
- propertyPath: m_LocalPosition.y
- value: 0.25
- objectReference: {fileID: 0}
- - target: {fileID: 3952613158653746744, guid: cde315354eda1ba4fae3b0c33583e9a1,
- type: 3}
- propertyPath: m_LocalPosition.z
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 3952613158653746744, guid: cde315354eda1ba4fae3b0c33583e9a1,
- type: 3}
- propertyPath: m_LocalRotation.x
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 3952613158653746744, guid: cde315354eda1ba4fae3b0c33583e9a1,
- type: 3}
- propertyPath: m_LocalRotation.y
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 3952613158653746744, guid: cde315354eda1ba4fae3b0c33583e9a1,
- type: 3}
- propertyPath: m_LocalRotation.z
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 3952613158653746744, guid: cde315354eda1ba4fae3b0c33583e9a1,
- type: 3}
- propertyPath: m_LocalRotation.w
- value: 1
- objectReference: {fileID: 0}
- - target: {fileID: 3952613158653746744, guid: cde315354eda1ba4fae3b0c33583e9a1,
- type: 3}
- propertyPath: m_RootOrder
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 3952613158653746744, guid: cde315354eda1ba4fae3b0c33583e9a1,
- type: 3}
- propertyPath: m_LocalEulerAnglesHint.x
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 3952613158653746744, guid: cde315354eda1ba4fae3b0c33583e9a1,
- type: 3}
- propertyPath: m_LocalEulerAnglesHint.y
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 3952613158653746744, guid: cde315354eda1ba4fae3b0c33583e9a1,
- type: 3}
- propertyPath: m_LocalEulerAnglesHint.z
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 3952613158653746747, guid: cde315354eda1ba4fae3b0c33583e9a1,
- type: 3}
- propertyPath: m_Name
- value: Spawner
- objectReference: {fileID: 0}
- m_RemovedComponents: []
- m_SourcePrefab: {fileID: 100100000, guid: cde315354eda1ba4fae3b0c33583e9a1, type: 3}
---- !u!1001 &6785867112939382004
-PrefabInstance:
- m_ObjectHideFlags: 0
- serializedVersion: 2
- m_Modification:
- m_TransformParent: {fileID: 0}
- m_Modifications:
- - target: {fileID: 6785867113212262385, guid: 39aea4008adc3114ba8ad37589825c2a,
- type: 3}
- propertyPath: m_LocalPosition.x
- value: -7
- objectReference: {fileID: 0}
- - target: {fileID: 6785867113212262385, guid: 39aea4008adc3114ba8ad37589825c2a,
- type: 3}
- propertyPath: m_LocalPosition.y
- value: 7
- objectReference: {fileID: 0}
- - target: {fileID: 6785867113212262385, guid: 39aea4008adc3114ba8ad37589825c2a,
- type: 3}
- propertyPath: m_LocalPosition.z
- value: -7
- objectReference: {fileID: 0}
- - target: {fileID: 6785867113212262385, guid: 39aea4008adc3114ba8ad37589825c2a,
- type: 3}
- propertyPath: m_LocalRotation.x
- value: 0.35355285
- objectReference: {fileID: 0}
- - target: {fileID: 6785867113212262385, guid: 39aea4008adc3114ba8ad37589825c2a,
- type: 3}
- propertyPath: m_LocalRotation.y
- value: 0.35355288
- objectReference: {fileID: 0}
- - target: {fileID: 6785867113212262385, guid: 39aea4008adc3114ba8ad37589825c2a,
- type: 3}
- propertyPath: m_LocalRotation.z
- value: -0.1464461
- objectReference: {fileID: 0}
- - target: {fileID: 6785867113212262385, guid: 39aea4008adc3114ba8ad37589825c2a,
- type: 3}
- propertyPath: m_LocalRotation.w
- value: 0.8535539
- objectReference: {fileID: 0}
- - target: {fileID: 6785867113212262385, guid: 39aea4008adc3114ba8ad37589825c2a,
- type: 3}
- propertyPath: m_RootOrder
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 6785867113212262385, guid: 39aea4008adc3114ba8ad37589825c2a,
- type: 3}
- propertyPath: m_LocalEulerAnglesHint.x
- value: 45.000004
- objectReference: {fileID: 0}
- - target: {fileID: 6785867113212262385, guid: 39aea4008adc3114ba8ad37589825c2a,
- type: 3}
- propertyPath: m_LocalEulerAnglesHint.y
- value: 45.000004
- objectReference: {fileID: 0}
- - target: {fileID: 6785867113212262385, guid: 39aea4008adc3114ba8ad37589825c2a,
- type: 3}
- propertyPath: m_LocalEulerAnglesHint.z
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 6785867113212262390, guid: 39aea4008adc3114ba8ad37589825c2a,
- type: 3}
- propertyPath: m_Name
- value: ShooterCamera
- objectReference: {fileID: 0}
- m_RemovedComponents: []
- m_SourcePrefab: {fileID: 100100000, guid: 39aea4008adc3114ba8ad37589825c2a, type: 3}
diff --git a/Assets/Samples/GameEvents/Scripts.meta b/Assets/Samples/GameEvents/Scripts.meta
deleted file mode 100644
index ed046ca..0000000
--- a/Assets/Samples/GameEvents/Scripts.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 2444134179ac1a748a92c6773a593e16
-folderAsset: yes
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Samples/GameEvents/Scripts/FloatFadeOutText.cs b/Assets/Samples/GameEvents/Scripts/FloatFadeOutText.cs
deleted file mode 100644
index 5856bcc..0000000
--- a/Assets/Samples/GameEvents/Scripts/FloatFadeOutText.cs
+++ /dev/null
@@ -1,56 +0,0 @@
-using UnityEngine;
-using UnityEngine.UI;
-
-namespace GameEvents
-{
- [RequireComponent(typeof(Text))]
- public class FloatFadeOutText : MonoBehaviour
- {
- [SerializeField]
- private UnityEngine.Vector3 floatDirection = UnityEngine.Vector2.up;
-
- [SerializeField]
- private Color fadeOutColor = Color.clear;
-
- [SerializeField]
- private float floatSpeed = 15f;
-
- [SerializeField]
- private float floatDuration = 3f;
-
- private float floatProgress;
- private Text floatText;
- private Color originalColor;
-
- private void Awake()
- {
- floatText = GetComponent();
- originalColor = floatText.color;
- }
-
- private void Update()
- {
- floatText.rectTransform.position = GetTextPosition();
- floatText.color = GetTextColor();
-
- if (floatProgress > 1f) Destroy(gameObject);
-
- floatProgress = GetProgress();
- }
-
- private UnityEngine.Vector3 GetTextPosition()
- {
- return floatText.rectTransform.position + floatDirection * (floatSpeed * Time.deltaTime);
- }
-
- private Color GetTextColor()
- {
- return Color.LerpUnclamped(originalColor, fadeOutColor, floatProgress);
- }
-
- private float GetProgress()
- {
- return floatProgress + Time.deltaTime / floatDuration;
- }
- }
-}
diff --git a/Assets/Samples/GameEvents/Scripts/Score.cs b/Assets/Samples/GameEvents/Scripts/Score.cs
deleted file mode 100644
index f4e599e..0000000
--- a/Assets/Samples/GameEvents/Scripts/Score.cs
+++ /dev/null
@@ -1,56 +0,0 @@
-using UnityEngine;
-using UnityEngine.UI;
-
-namespace GameEvents
-{
- [RequireComponent(typeof(Text))]
- public class Score : MonoBehaviour
- {
- [Min(0)]
- [SerializeField]
- private int scoreIncrease = 100;
-
- [SerializeField]
- private float scoreEffectYOffset = 10f;
-
- [SerializeField]
- private FloatFadeOutText scoreEffectPrefab = default;
-
- private int currentScore;
- private Text text;
-
- private void Awake()
- {
- text = GetComponent();
- }
-
- public void IncreaseScore()
- {
- currentScore += scoreIncrease;
- text.text = currentScore.ToString();
-
- InstantiateEffect($"+{scoreIncrease.ToString()}");
- }
-
- private void InstantiateEffect(string effectText)
- {
- var scoreTransform = transform;
- var scorePosition = scoreTransform.position;
-
- scorePosition.y += scoreEffectYOffset;
-
- var floatEffect = Instantiate(
- scoreEffectPrefab,
- scorePosition,
- Quaternion.identity,
- scoreTransform
- );
-
- var floatText = floatEffect.GetComponent();
- if (floatText != null)
- {
- floatText.text = effectText;
- }
- }
- }
-}
diff --git a/Assets/Samples/GameEvents/Scripts/Score.cs.meta b/Assets/Samples/GameEvents/Scripts/Score.cs.meta
deleted file mode 100644
index ae8317d..0000000
--- a/Assets/Samples/GameEvents/Scripts/Score.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: 66ebf31fba15413096990cd356aa98e6
-timeCreated: 1601679745
\ No newline at end of file
diff --git a/Assets/Samples/GameEvents/Scripts/Shooter.cs b/Assets/Samples/GameEvents/Scripts/Shooter.cs
deleted file mode 100644
index ea6e0de..0000000
--- a/Assets/Samples/GameEvents/Scripts/Shooter.cs
+++ /dev/null
@@ -1,45 +0,0 @@
-using GameEvents.Transform;
-using UnityEngine;
-
-namespace GameEvents
-{
- [RequireComponent(typeof(Camera))]
- public class Shooter : MonoBehaviour
- {
- [SerializeField]
- private TransformGameEvent shotGameEvent = default;
-
- [SerializeField]
- private string shootButton = "Fire1";
-
- private new Camera camera;
-
- private void Awake()
- {
- camera = GetComponent();
- }
-
- private void Update()
- {
- if (IsShoot())
- {
- Shoot();
- }
- }
-
- private bool IsShoot()
- {
- return Input.GetButtonDown(shootButton);
- }
-
- private void Shoot()
- {
- var ray = camera.ScreenPointToRay(Input.mousePosition);
-
- if (Physics.Raycast(ray, out var hit))
- {
- shotGameEvent.RaiseGameEvent(hit.transform);
- }
- }
- }
-}
diff --git a/Assets/Samples/GameEvents/Scripts/Shooter.cs.meta b/Assets/Samples/GameEvents/Scripts/Shooter.cs.meta
deleted file mode 100644
index 59a4141..0000000
--- a/Assets/Samples/GameEvents/Scripts/Shooter.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: f5322d0809e6c094c9f48718decf34db
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Samples/GameEvents/Scripts/ShotHandler.cs b/Assets/Samples/GameEvents/Scripts/ShotHandler.cs
deleted file mode 100644
index 068658b..0000000
--- a/Assets/Samples/GameEvents/Scripts/ShotHandler.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-using UnityEngine;
-using UnityEngine.Events;
-
-namespace GameEvents
-{
- public class ShotHandler : MonoBehaviour
- {
- [SerializeField]
- private UnityEvent onShot = default;
-
- public void HandleShot(UnityEngine.Transform shot)
- {
- Destroy(shot.parent.gameObject);
- onShot.Invoke();
- }
- }
-}
diff --git a/Assets/Samples/GameEvents/Scripts/ShotHandler.cs.meta b/Assets/Samples/GameEvents/Scripts/ShotHandler.cs.meta
deleted file mode 100644
index 923c81c..0000000
--- a/Assets/Samples/GameEvents/Scripts/ShotHandler.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 1080b2340bee3cb4fa67da041bf81815
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Samples/GameEvents/Scripts/Spawner.cs b/Assets/Samples/GameEvents/Scripts/Spawner.cs
deleted file mode 100644
index 934a974..0000000
--- a/Assets/Samples/GameEvents/Scripts/Spawner.cs
+++ /dev/null
@@ -1,94 +0,0 @@
-using UnityEngine;
-
-namespace GameEvents
-{
- [RequireComponent(typeof(BoxCollider))]
- public class Spawner : MonoBehaviour
- {
- [Min(0)]
- [SerializeField]
- private int spawnedLimit = 10;
-
- [SerializeField]
- private UnityEngine.GameObject spawnPrefab = default;
-
- [Min(1f)]
- [SerializeField]
- private UnityEngine.Vector3 maxRandomScale =
- new UnityEngine.Vector3(1f, 2f, 1f);
-
- private new BoxCollider collider;
- private int spawned;
-
- private void Awake()
- {
- collider = GetComponent();
- }
-
- private void Update()
- {
- if (IsSpawn()) Spawn();
- }
-
- private bool IsSpawn()
- {
- return spawned < spawnedLimit;
- }
-
- private void Spawn()
- {
- var instance = Instantiate(
- spawnPrefab,
- GetSpawnPosition(),
- GetSpawnRotation(),
- transform
- );
-
- instance.transform.localScale = GetSpawnScale();
-
- spawned++;
- }
-
- private UnityEngine.Vector3 GetSpawnPosition()
- {
- var colliderBounds = collider.bounds;
- var position = new UnityEngine.Vector3(
- Random.Range(colliderBounds.min.x, colliderBounds.max.x),
- Random.Range(colliderBounds.min.y, colliderBounds.max.y),
- Random.Range(colliderBounds.min.z, colliderBounds.max.z)
- );
-
- return colliderBounds.ClosestPoint(position);
- }
-
- private static Quaternion GetSpawnRotation()
- {
- var angles = new UnityEngine.Vector3(
- 0f,
- GetRandomAngle(),
- 0f
- );
-
- return Quaternion.Euler(angles);
- }
-
- private static float GetRandomAngle()
- {
- return Random.Range(0f, 360f);
- }
-
- private UnityEngine.Vector3 GetSpawnScale()
- {
- return new UnityEngine.Vector3(
- Random.Range(1f, maxRandomScale.x),
- Random.Range(1f, maxRandomScale.y),
- Random.Range(1f, maxRandomScale.z)
- );
- }
-
- public void DecreaseSpawned()
- {
- spawned--;
- }
- }
-}
diff --git a/Assets/Samples/GameEvents/Scripts/Spawner.cs.meta b/Assets/Samples/GameEvents/Scripts/Spawner.cs.meta
deleted file mode 100644
index bdf0416..0000000
--- a/Assets/Samples/GameEvents/Scripts/Spawner.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: 5916e7e0178a40ba8209ec5b7ac1d1a7
-timeCreated: 1601678133
\ No newline at end of file
diff --git a/Assets/Samples/MutableObjects.meta b/Assets/Samples/MutableObjects.meta
deleted file mode 100644
index aa3ce9d..0000000
--- a/Assets/Samples/MutableObjects.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 230132c2b31f406e8e7497f005a09812
-folderAsset: yes
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Samples/MutableObjects/Materials.meta b/Assets/Samples/MutableObjects/Materials.meta
deleted file mode 100644
index df94911..0000000
--- a/Assets/Samples/MutableObjects/Materials.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: a211c19547981b44bb67bbe19c5aea97
-folderAsset: yes
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Samples/MutableObjects/Materials/Decrease.mat b/Assets/Samples/MutableObjects/Materials/Decrease.mat
deleted file mode 100644
index 9607b4e..0000000
--- a/Assets/Samples/MutableObjects/Materials/Decrease.mat
+++ /dev/null
@@ -1,90 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!21 &2100000
-Material:
- serializedVersion: 6
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: Decrease
- m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
- m_ShaderKeywords:
- m_LightmapFlags: 4
- m_EnableInstancingVariants: 0
- m_DoubleSidedGI: 0
- m_CustomRenderQueue: 2050
- stringTagMap:
- RenderType: Opaque
- disabledShaderPasses: []
- m_SavedProperties:
- serializedVersion: 3
- m_TexEnvs:
- - _BaseMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _BumpMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _EmissionMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _MainTex:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _MetallicGlossMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _OcclusionMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _SpecGlossMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- m_Floats:
- - _AlphaClip: 0
- - _Blend: 0
- - _BumpScale: 1
- - _Cull: 2
- - _Cutoff: 0.5
- - _DstBlend: 0
- - _EnvironmentReflections: 1
- - _GlossMapScale: 0
- - _Glossiness: 0
- - _GlossyReflections: 0
- - _Metallic: 0
- - _OcclusionStrength: 1
- - _QueueOffset: 0
- - _ReceiveShadows: 1
- - _Smoothness: 0.5
- - _SmoothnessTextureChannel: 0
- - _SpecularHighlights: 1
- - _SrcBlend: 1
- - _Surface: 0
- - _WorkflowMode: 1
- - _ZWrite: 1
- m_Colors:
- - _BaseColor: {r: 1, g: 0.427451, b: 0.4396678, a: 1}
- - _Color: {r: 1, g: 1, b: 1, a: 1}
- - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
---- !u!114 &8511839400332316249
-MonoBehaviour:
- m_ObjectHideFlags: 11
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 0}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- version: 1
diff --git a/Assets/Samples/MutableObjects/Materials/Decrease.mat.meta b/Assets/Samples/MutableObjects/Materials/Decrease.mat.meta
deleted file mode 100644
index db2b047..0000000
--- a/Assets/Samples/MutableObjects/Materials/Decrease.mat.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 8c1ce5e4b09a8144eabd16a310666ad7
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Samples/MutableObjects/Materials/Increase.mat b/Assets/Samples/MutableObjects/Materials/Increase.mat
deleted file mode 100644
index 365a6b7..0000000
--- a/Assets/Samples/MutableObjects/Materials/Increase.mat
+++ /dev/null
@@ -1,90 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!21 &2100000
-Material:
- serializedVersion: 6
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_Name: Increase
- m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
- m_ShaderKeywords:
- m_LightmapFlags: 4
- m_EnableInstancingVariants: 0
- m_DoubleSidedGI: 0
- m_CustomRenderQueue: 2050
- stringTagMap:
- RenderType: Opaque
- disabledShaderPasses: []
- m_SavedProperties:
- serializedVersion: 3
- m_TexEnvs:
- - _BaseMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _BumpMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _EmissionMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _MainTex:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _MetallicGlossMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _OcclusionMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- - _SpecGlossMap:
- m_Texture: {fileID: 0}
- m_Scale: {x: 1, y: 1}
- m_Offset: {x: 0, y: 0}
- m_Floats:
- - _AlphaClip: 0
- - _Blend: 0
- - _BumpScale: 1
- - _Cull: 2
- - _Cutoff: 0.5
- - _DstBlend: 0
- - _EnvironmentReflections: 1
- - _GlossMapScale: 0
- - _Glossiness: 0
- - _GlossyReflections: 0
- - _Metallic: 0
- - _OcclusionStrength: 1
- - _QueueOffset: 0
- - _ReceiveShadows: 1
- - _Smoothness: 0.5
- - _SmoothnessTextureChannel: 0
- - _SpecularHighlights: 1
- - _SrcBlend: 1
- - _Surface: 0
- - _WorkflowMode: 1
- - _ZWrite: 1
- m_Colors:
- - _BaseColor: {r: 0.48366186, g: 1, b: 0.4292453, a: 1}
- - _Color: {r: 1, g: 1, b: 1, a: 1}
- - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
---- !u!114 &8511839400332316249
-MonoBehaviour:
- m_ObjectHideFlags: 11
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 0}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- version: 1
diff --git a/Assets/Samples/MutableObjects/Materials/Increase.mat.meta b/Assets/Samples/MutableObjects/Materials/Increase.mat.meta
deleted file mode 100644
index 3df591f..0000000
--- a/Assets/Samples/MutableObjects/Materials/Increase.mat.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 11615e5fe0ef5214e9108bfe94adb24a
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Samples/MutableObjects/MutableObjects.meta b/Assets/Samples/MutableObjects/MutableObjects.meta
deleted file mode 100644
index ec9530b..0000000
--- a/Assets/Samples/MutableObjects/MutableObjects.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: e0a0a7c34a001e84a96ecf9fd01ec5d2
-folderAsset: yes
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Samples/MutableObjects/MutableObjects/PlayerHealth.asset.meta b/Assets/Samples/MutableObjects/MutableObjects/PlayerHealth.asset.meta
deleted file mode 100644
index 5846479..0000000
--- a/Assets/Samples/MutableObjects/MutableObjects/PlayerHealth.asset.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: ec8c3d68c89cc2c48ba9c5e064528ae5
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Samples/MutableObjects/Prefabs.meta b/Assets/Samples/MutableObjects/Prefabs.meta
deleted file mode 100644
index 3dfbc8b..0000000
--- a/Assets/Samples/MutableObjects/Prefabs.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 08907d9e17ed51541a5298d373b18eb6
-folderAsset: yes
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Samples/MutableObjects/Prefabs/ClickerCamera.prefab b/Assets/Samples/MutableObjects/Prefabs/ClickerCamera.prefab
deleted file mode 100644
index 2978c84..0000000
--- a/Assets/Samples/MutableObjects/Prefabs/ClickerCamera.prefab
+++ /dev/null
@@ -1,131 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!1 &4521292253474263882
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 4521292253474263862}
- - component: {fileID: 4521292253474263863}
- - component: {fileID: 4521292253474263880}
- - component: {fileID: 4521292253474263881}
- - component: {fileID: 7011280836384613342}
- m_Layer: 0
- m_Name: ClickerCamera
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!4 &4521292253474263862
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 4521292253474263882}
- 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!20 &4521292253474263863
-Camera:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 4521292253474263882}
- 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_GateFitMode: 2
- m_FOVAxisMode: 0
- 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: 1
- orthographic size: 5
- m_Depth: 0
- 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!81 &4521292253474263880
-AudioListener:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 4521292253474263882}
- m_Enabled: 1
---- !u!114 &4521292253474263881
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 4521292253474263882}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_RenderShadows: 1
- m_RequiresDepthTextureOption: 2
- m_RequiresOpaqueTextureOption: 2
- m_CameraType: 0
- m_Cameras: []
- m_RendererIndex: -1
- m_VolumeLayerMask:
- serializedVersion: 2
- m_Bits: 1
- m_VolumeTrigger: {fileID: 0}
- m_RenderPostProcessing: 0
- m_Antialiasing: 0
- m_AntialiasingQuality: 2
- m_StopNaN: 0
- m_Dithering: 0
- m_ClearDepth: 1
- m_RequiresDepthTexture: 0
- m_RequiresColorTexture: 0
- m_Version: 2
---- !u!114 &7011280836384613342
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 4521292253474263882}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 8801334c70052fe4f9658e19d2cec18c, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- shootButton: Fire1
diff --git a/Assets/Samples/MutableObjects/Prefabs/ClickerCamera.prefab.meta b/Assets/Samples/MutableObjects/Prefabs/ClickerCamera.prefab.meta
deleted file mode 100644
index d5ac280..0000000
--- a/Assets/Samples/MutableObjects/Prefabs/ClickerCamera.prefab.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: 236964640b1e69048a86dc1a58f5f200
-PrefabImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Samples/MutableObjects/Prefabs/DecreasingHealthHandler.prefab b/Assets/Samples/MutableObjects/Prefabs/DecreasingHealthHandler.prefab
deleted file mode 100644
index e3b5ff1..0000000
--- a/Assets/Samples/MutableObjects/Prefabs/DecreasingHealthHandler.prefab
+++ /dev/null
@@ -1,109 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!1 &4095794639853462127
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 4095794639853462115}
- - component: {fileID: 4095794639853462114}
- - component: {fileID: 4095794639853462125}
- - component: {fileID: 4095794639853462124}
- - component: {fileID: 4095794639853462112}
- m_Layer: 0
- m_Name: DecreasingHealthHandler
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!4 &4095794639853462115
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 4095794639853462127}
- m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
- m_LocalPosition: {x: 1.5, 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!33 &4095794639853462114
-MeshFilter:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 4095794639853462127}
- m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
---- !u!23 &4095794639853462125
-MeshRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 4095794639853462127}
- m_Enabled: 1
- m_CastShadows: 1
- m_ReceiveShadows: 1
- m_DynamicOccludee: 1
- m_MotionVectors: 1
- m_LightProbeUsage: 1
- m_ReflectionProbeUsage: 1
- m_RayTracingMode: 2
- m_RenderingLayerMask: 1
- m_RendererPriority: 0
- m_Materials:
- - {fileID: 2100000, guid: 8c1ce5e4b09a8144eabd16a310666ad7, type: 2}
- m_StaticBatchInfo:
- firstSubMesh: 0
- subMeshCount: 0
- m_StaticBatchRoot: {fileID: 0}
- m_ProbeAnchor: {fileID: 0}
- m_LightProbeVolumeOverride: {fileID: 0}
- m_ScaleInLightmap: 1
- m_ReceiveGI: 1
- m_PreserveUVs: 0
- m_IgnoreNormalsForChartDetection: 0
- m_ImportantGI: 0
- m_StitchLightmapSeams: 1
- 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!65 &4095794639853462124
-BoxCollider:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 4095794639853462127}
- 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 &4095794639853462112
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 4095794639853462127}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: c6c769ca15db4cadb8b3bf44b44d43f7, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- health: {fileID: 11400000, guid: ec8c3d68c89cc2c48ba9c5e064528ae5, type: 2}
diff --git a/Assets/Samples/MutableObjects/Prefabs/DecreasingHealthHandler.prefab.meta b/Assets/Samples/MutableObjects/Prefabs/DecreasingHealthHandler.prefab.meta
deleted file mode 100644
index 0fc54d4..0000000
--- a/Assets/Samples/MutableObjects/Prefabs/DecreasingHealthHandler.prefab.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: e9cd2045609ed8a40918c7c99227876d
-PrefabImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Samples/MutableObjects/Prefabs/HealthIndicator.prefab b/Assets/Samples/MutableObjects/Prefabs/HealthIndicator.prefab
deleted file mode 100644
index f1e4d3e..0000000
--- a/Assets/Samples/MutableObjects/Prefabs/HealthIndicator.prefab
+++ /dev/null
@@ -1,94 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!1 &759120496304923377
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 759120496304923342}
- - component: {fileID: 759120496304923340}
- - component: {fileID: 759120496304923343}
- - component: {fileID: 759120496304923341}
- m_Layer: 5
- m_Name: HealthIndicator
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!224 &759120496304923342
-RectTransform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 759120496304923377}
- 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}
- m_AnchorMin: {x: 0.5, y: 0}
- m_AnchorMax: {x: 0.5, y: 0}
- m_AnchoredPosition: {x: 0, y: 64}
- m_SizeDelta: {x: 608, y: 128}
- m_Pivot: {x: 0.5, y: 0.5}
---- !u!222 &759120496304923340
-CanvasRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 759120496304923377}
- m_CullTransparentMesh: 0
---- !u!114 &759120496304923343
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 759120496304923377}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_Material: {fileID: 0}
- m_Color: {r: 0.509434, g: 0.509434, b: 0.509434, a: 1}
- m_RaycastTarget: 1
- m_Maskable: 1
- m_OnCullStateChanged:
- m_PersistentCalls:
- m_Calls: []
- m_FontData:
- m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
- m_FontSize: 64
- m_FontStyle: 0
- m_BestFit: 0
- m_MinSize: 0
- m_MaxSize: 65
- m_Alignment: 1
- m_AlignByGeometry: 0
- m_RichText: 1
- m_HorizontalOverflow: 0
- m_VerticalOverflow: 0
- m_LineSpacing: 1
- m_Text:
---- !u!114 &759120496304923341
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 759120496304923377}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: a6862d1164704ff889a807ca193e9b4a, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- health: {fileID: 11400000, guid: ec8c3d68c89cc2c48ba9c5e064528ae5, type: 2}
diff --git a/Assets/Samples/MutableObjects/Prefabs/HealthIndicator.prefab.meta b/Assets/Samples/MutableObjects/Prefabs/HealthIndicator.prefab.meta
deleted file mode 100644
index cb5f1e7..0000000
--- a/Assets/Samples/MutableObjects/Prefabs/HealthIndicator.prefab.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: 2060a7fd8dc817a4bb0e331dc4382989
-PrefabImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Samples/MutableObjects/Prefabs/IncreasingHealthHandler.prefab b/Assets/Samples/MutableObjects/Prefabs/IncreasingHealthHandler.prefab
deleted file mode 100644
index 97944da..0000000
--- a/Assets/Samples/MutableObjects/Prefabs/IncreasingHealthHandler.prefab
+++ /dev/null
@@ -1,109 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!1 &2314108798820570059
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 2314108798820570064}
- - component: {fileID: 2314108798820570063}
- - component: {fileID: 2314108798820570062}
- - component: {fileID: 2314108798820570061}
- - component: {fileID: 2314108798820570060}
- m_Layer: 0
- m_Name: IncreasingHealthHandler
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!4 &2314108798820570064
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 2314108798820570059}
- m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
- m_LocalPosition: {x: -1.5, 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!33 &2314108798820570063
-MeshFilter:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 2314108798820570059}
- m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
---- !u!23 &2314108798820570062
-MeshRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 2314108798820570059}
- m_Enabled: 1
- m_CastShadows: 1
- m_ReceiveShadows: 1
- m_DynamicOccludee: 1
- m_MotionVectors: 1
- m_LightProbeUsage: 1
- m_ReflectionProbeUsage: 1
- m_RayTracingMode: 2
- m_RenderingLayerMask: 1
- m_RendererPriority: 0
- m_Materials:
- - {fileID: 2100000, guid: 11615e5fe0ef5214e9108bfe94adb24a, type: 2}
- m_StaticBatchInfo:
- firstSubMesh: 0
- subMeshCount: 0
- m_StaticBatchRoot: {fileID: 0}
- m_ProbeAnchor: {fileID: 0}
- m_LightProbeVolumeOverride: {fileID: 0}
- m_ScaleInLightmap: 1
- m_ReceiveGI: 1
- m_PreserveUVs: 0
- m_IgnoreNormalsForChartDetection: 0
- m_ImportantGI: 0
- m_StitchLightmapSeams: 1
- 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!65 &2314108798820570061
-BoxCollider:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 2314108798820570059}
- 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 &2314108798820570060
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 2314108798820570059}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: ad3c05f0f39f410fb0a841dd7eaea443, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- health: {fileID: 11400000, guid: ec8c3d68c89cc2c48ba9c5e064528ae5, type: 2}
diff --git a/Assets/Samples/MutableObjects/Prefabs/IncreasingHealthHandler.prefab.meta b/Assets/Samples/MutableObjects/Prefabs/IncreasingHealthHandler.prefab.meta
deleted file mode 100644
index ed6ba1f..0000000
--- a/Assets/Samples/MutableObjects/Prefabs/IncreasingHealthHandler.prefab.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: 160e49e6d5ef0164ca9f54ff5f0dc68d
-PrefabImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Samples/MutableObjects/Scenes.meta b/Assets/Samples/MutableObjects/Scenes.meta
deleted file mode 100644
index 259d09f..0000000
--- a/Assets/Samples/MutableObjects/Scenes.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 891ded32ce5f422d9f7440b506bf4868
-folderAsset: yes
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Samples/MutableObjects/Scenes/MutableObjects.unity b/Assets/Samples/MutableObjects/Scenes/MutableObjects.unity
deleted file mode 100644
index 4fdf18a..0000000
--- a/Assets/Samples/MutableObjects/Scenes/MutableObjects.unity
+++ /dev/null
@@ -1,816 +0,0 @@
-%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.5566038, g: 0.5566038, b: 0.5566038, 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: 3
- 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, g: 0, b: 0, a: 1}
- m_UseRadianceAmbientProbe: 0
---- !u!157 &3
-LightmapSettings:
- m_ObjectHideFlags: 0
- serializedVersion: 11
- m_GIWorkflowMode: 1
- m_GISettings:
- serializedVersion: 2
- m_BounceScale: 1
- m_IndirectOutputScale: 1
- m_AlbedoBoost: 1
- m_EnvironmentLightingMode: 0
- m_EnableBakedLightmaps: 1
- m_EnableRealtimeLightmaps: 0
- m_LightmapEditorSettings:
- serializedVersion: 12
- m_Resolution: 2
- m_BakeResolution: 40
- m_AtlasSize: 1024
- m_AO: 0
- m_AOMaxDistance: 1
- m_CompAOExponent: 1
- m_CompAOExponentDirect: 0
- m_ExtractAmbientOcclusion: 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: 512
- m_PVRBounces: 2
- m_PVREnvironmentSampleCount: 256
- m_PVREnvironmentReferencePointCount: 2048
- m_PVRFilteringMode: 1
- m_PVRDenoiserTypeDirect: 1
- m_PVRDenoiserTypeIndirect: 1
- m_PVRDenoiserTypeAO: 1
- m_PVRFilterTypeDirect: 0
- m_PVRFilterTypeIndirect: 0
- m_PVRFilterTypeAO: 0
- m_PVREnvironmentMIS: 1
- m_PVRCulling: 1
- m_PVRFilteringGaussRadiusDirect: 1
- m_PVRFilteringGaussRadiusIndirect: 5
- m_PVRFilteringGaussRadiusAO: 2
- m_PVRFilteringAtrousPositionSigmaDirect: 0.5
- m_PVRFilteringAtrousPositionSigmaIndirect: 2
- m_PVRFilteringAtrousPositionSigmaAO: 1
- m_ExportTrainingData: 0
- m_TrainingDataDestination: TrainingData
- m_LightProbeSampleCountMultiplier: 4
- 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 &179482124
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 179482125}
- m_Layer: 0
- m_Name: Environment
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!4 &179482125
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 179482124}
- 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: 198214860}
- - {fileID: 1418809552}
- m_Father: {fileID: 0}
- m_RootOrder: 1
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!1 &198214858
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 198214860}
- - component: {fileID: 198214859}
- m_Layer: 0
- m_Name: DirectionalLight
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!108 &198214859
-Light:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 198214858}
- m_Enabled: 1
- serializedVersion: 10
- m_Type: 1
- m_Shape: 0
- m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
- m_Intensity: 1
- m_Range: 10
- m_SpotAngle: 30
- m_InnerSpotAngle: 21.80208
- 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_CullingMatrixOverride:
- e00: 1
- e01: 0
- e02: 0
- e03: 0
- e10: 0
- e11: 1
- e12: 0
- e13: 0
- e20: 0
- e21: 0
- e22: 1
- e23: 0
- e30: 0
- e31: 0
- e32: 0
- e33: 1
- m_UseCullingMatrixOverride: 0
- m_Cookie: {fileID: 0}
- m_DrawHalo: 0
- m_Flare: {fileID: 0}
- m_RenderMode: 0
- m_CullingMask:
- serializedVersion: 2
- m_Bits: 4294967295
- m_RenderingLayerMask: 1
- m_Lightmapping: 4
- m_LightShadowCasterMode: 0
- m_AreaSize: {x: 1, y: 1}
- m_BounceIntensity: 1
- m_ColorTemperature: 6570
- m_UseColorTemperature: 0
- m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
- m_UseBoundingSphereOverride: 0
- m_ShadowRadius: 0
- m_ShadowAngle: 0
---- !u!4 &198214860
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 198214858}
- m_LocalRotation: {x: 0.2194982, y: 0.75679785, z: -0.3134759, w: 0.5299156}
- m_LocalPosition: {x: 0, y: 0, z: 0}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_Children: []
- m_Father: {fileID: 179482125}
- m_RootOrder: 0
- m_LocalEulerAnglesHint: {x: 45.000004, y: 110, z: 0}
---- !u!224 &204439456 stripped
-RectTransform:
- m_CorrespondingSourceObject: {fileID: 759120496304923342, guid: 2060a7fd8dc817a4bb0e331dc4382989,
- type: 3}
- m_PrefabInstance: {fileID: 759120496503971182}
- m_PrefabAsset: {fileID: 0}
---- !u!1 &403880565
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 403880566}
- m_Layer: 0
- m_Name: HealthHandlers
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!4 &403880566
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 403880565}
- 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: 503514128}
- - {fileID: 1902164921}
- m_Father: {fileID: 0}
- m_RootOrder: 3
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!4 &503514128 stripped
-Transform:
- m_CorrespondingSourceObject: {fileID: 2314108798820570064, guid: 160e49e6d5ef0164ca9f54ff5f0dc68d,
- type: 3}
- m_PrefabInstance: {fileID: 2314108798384297920}
- m_PrefabAsset: {fileID: 0}
---- !u!1 &597545309
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 597545313}
- - component: {fileID: 597545312}
- - component: {fileID: 597545311}
- - component: {fileID: 597545310}
- m_Layer: 5
- m_Name: UI
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!114 &597545310
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 597545309}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_IgnoreReversedGraphics: 1
- m_BlockingObjects: 0
- m_BlockingMask:
- serializedVersion: 2
- m_Bits: 4294967295
---- !u!114 &597545311
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 597545309}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, 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 &597545312
-Canvas:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 597545309}
- 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 &597545313
-RectTransform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 597545309}
- 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: 204439456}
- m_Father: {fileID: 0}
- m_RootOrder: 2
- 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 &1418809548
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 1418809552}
- - component: {fileID: 1418809551}
- - component: {fileID: 1418809550}
- - component: {fileID: 1418809549}
- m_Layer: 2
- m_Name: Wall
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!64 &1418809549
-MeshCollider:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1418809548}
- m_Material: {fileID: 0}
- m_IsTrigger: 0
- m_Enabled: 1
- serializedVersion: 4
- m_Convex: 0
- m_CookingOptions: 30
- m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
---- !u!23 &1418809550
-MeshRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1418809548}
- m_Enabled: 1
- m_CastShadows: 1
- m_ReceiveShadows: 1
- m_DynamicOccludee: 1
- m_MotionVectors: 1
- m_LightProbeUsage: 1
- m_ReflectionProbeUsage: 1
- m_RayTracingMode: 2
- m_RenderingLayerMask: 1
- m_RendererPriority: 0
- m_Materials:
- - {fileID: 2100000, guid: 6721031f739529e4d9bd149a7cfc0d80, type: 2}
- m_StaticBatchInfo:
- firstSubMesh: 0
- subMeshCount: 0
- m_StaticBatchRoot: {fileID: 0}
- m_ProbeAnchor: {fileID: 0}
- m_LightProbeVolumeOverride: {fileID: 0}
- m_ScaleInLightmap: 1
- m_ReceiveGI: 1
- m_PreserveUVs: 0
- m_IgnoreNormalsForChartDetection: 0
- m_ImportantGI: 0
- m_StitchLightmapSeams: 1
- 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 &1418809551
-MeshFilter:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1418809548}
- m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
---- !u!4 &1418809552
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1418809548}
- m_LocalRotation: {x: -0.0000014603138, y: -0, z: -0, w: 1}
- m_LocalPosition: {x: 0, y: -0.5, z: 9}
- m_LocalScale: {x: 10, y: 10, z: 10}
- m_Children: []
- m_Father: {fileID: 179482125}
- m_RootOrder: 1
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!4 &1902164921 stripped
-Transform:
- m_CorrespondingSourceObject: {fileID: 4095794639853462115, guid: e9cd2045609ed8a40918c7c99227876d,
- type: 3}
- m_PrefabInstance: {fileID: 4095794639561988570}
- m_PrefabAsset: {fileID: 0}
---- !u!1001 &759120496503971182
-PrefabInstance:
- m_ObjectHideFlags: 0
- serializedVersion: 2
- m_Modification:
- m_TransformParent: {fileID: 597545313}
- m_Modifications:
- - target: {fileID: 759120496304923342, guid: 2060a7fd8dc817a4bb0e331dc4382989,
- type: 3}
- propertyPath: m_LocalPosition.x
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 759120496304923342, guid: 2060a7fd8dc817a4bb0e331dc4382989,
- type: 3}
- propertyPath: m_LocalPosition.y
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 759120496304923342, guid: 2060a7fd8dc817a4bb0e331dc4382989,
- type: 3}
- propertyPath: m_LocalPosition.z
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 759120496304923342, guid: 2060a7fd8dc817a4bb0e331dc4382989,
- type: 3}
- propertyPath: m_LocalRotation.x
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 759120496304923342, guid: 2060a7fd8dc817a4bb0e331dc4382989,
- type: 3}
- propertyPath: m_LocalRotation.y
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 759120496304923342, guid: 2060a7fd8dc817a4bb0e331dc4382989,
- type: 3}
- propertyPath: m_LocalRotation.z
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 759120496304923342, guid: 2060a7fd8dc817a4bb0e331dc4382989,
- type: 3}
- propertyPath: m_LocalRotation.w
- value: 1
- objectReference: {fileID: 0}
- - target: {fileID: 759120496304923342, guid: 2060a7fd8dc817a4bb0e331dc4382989,
- type: 3}
- propertyPath: m_RootOrder
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 759120496304923342, guid: 2060a7fd8dc817a4bb0e331dc4382989,
- type: 3}
- propertyPath: m_LocalEulerAnglesHint.x
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 759120496304923342, guid: 2060a7fd8dc817a4bb0e331dc4382989,
- type: 3}
- propertyPath: m_LocalEulerAnglesHint.y
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 759120496304923342, guid: 2060a7fd8dc817a4bb0e331dc4382989,
- type: 3}
- propertyPath: m_LocalEulerAnglesHint.z
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 759120496304923342, guid: 2060a7fd8dc817a4bb0e331dc4382989,
- type: 3}
- propertyPath: m_AnchoredPosition.x
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 759120496304923342, guid: 2060a7fd8dc817a4bb0e331dc4382989,
- type: 3}
- propertyPath: m_AnchoredPosition.y
- value: 64
- objectReference: {fileID: 0}
- - target: {fileID: 759120496304923342, guid: 2060a7fd8dc817a4bb0e331dc4382989,
- type: 3}
- propertyPath: m_SizeDelta.x
- value: 608
- objectReference: {fileID: 0}
- - target: {fileID: 759120496304923342, guid: 2060a7fd8dc817a4bb0e331dc4382989,
- type: 3}
- propertyPath: m_SizeDelta.y
- value: 128
- objectReference: {fileID: 0}
- - target: {fileID: 759120496304923342, guid: 2060a7fd8dc817a4bb0e331dc4382989,
- type: 3}
- propertyPath: m_AnchorMin.x
- value: 0.5
- objectReference: {fileID: 0}
- - target: {fileID: 759120496304923342, guid: 2060a7fd8dc817a4bb0e331dc4382989,
- type: 3}
- propertyPath: m_AnchorMin.y
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 759120496304923342, guid: 2060a7fd8dc817a4bb0e331dc4382989,
- type: 3}
- propertyPath: m_AnchorMax.x
- value: 0.5
- objectReference: {fileID: 0}
- - target: {fileID: 759120496304923342, guid: 2060a7fd8dc817a4bb0e331dc4382989,
- type: 3}
- propertyPath: m_AnchorMax.y
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 759120496304923342, guid: 2060a7fd8dc817a4bb0e331dc4382989,
- type: 3}
- propertyPath: m_Pivot.x
- value: 0.5
- objectReference: {fileID: 0}
- - target: {fileID: 759120496304923342, guid: 2060a7fd8dc817a4bb0e331dc4382989,
- type: 3}
- propertyPath: m_Pivot.y
- value: 0.5
- objectReference: {fileID: 0}
- - target: {fileID: 759120496304923377, guid: 2060a7fd8dc817a4bb0e331dc4382989,
- type: 3}
- propertyPath: m_Name
- value: HealthIndicator
- objectReference: {fileID: 0}
- m_RemovedComponents: []
- m_SourcePrefab: {fileID: 100100000, guid: 2060a7fd8dc817a4bb0e331dc4382989, type: 3}
---- !u!1001 &2314108798384297920
-PrefabInstance:
- m_ObjectHideFlags: 0
- serializedVersion: 2
- m_Modification:
- m_TransformParent: {fileID: 403880566}
- m_Modifications:
- - target: {fileID: 2314108798820570059, guid: 160e49e6d5ef0164ca9f54ff5f0dc68d,
- type: 3}
- propertyPath: m_Name
- value: IncreasingHealthHandler
- objectReference: {fileID: 0}
- - target: {fileID: 2314108798820570064, guid: 160e49e6d5ef0164ca9f54ff5f0dc68d,
- type: 3}
- propertyPath: m_LocalPosition.x
- value: -1.5
- objectReference: {fileID: 0}
- - target: {fileID: 2314108798820570064, guid: 160e49e6d5ef0164ca9f54ff5f0dc68d,
- type: 3}
- propertyPath: m_LocalPosition.y
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 2314108798820570064, guid: 160e49e6d5ef0164ca9f54ff5f0dc68d,
- type: 3}
- propertyPath: m_LocalPosition.z
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 2314108798820570064, guid: 160e49e6d5ef0164ca9f54ff5f0dc68d,
- type: 3}
- propertyPath: m_LocalRotation.x
- value: -0
- objectReference: {fileID: 0}
- - target: {fileID: 2314108798820570064, guid: 160e49e6d5ef0164ca9f54ff5f0dc68d,
- type: 3}
- propertyPath: m_LocalRotation.y
- value: -0
- objectReference: {fileID: 0}
- - target: {fileID: 2314108798820570064, guid: 160e49e6d5ef0164ca9f54ff5f0dc68d,
- type: 3}
- propertyPath: m_LocalRotation.z
- value: -0
- objectReference: {fileID: 0}
- - target: {fileID: 2314108798820570064, guid: 160e49e6d5ef0164ca9f54ff5f0dc68d,
- type: 3}
- propertyPath: m_LocalRotation.w
- value: 1
- objectReference: {fileID: 0}
- - target: {fileID: 2314108798820570064, guid: 160e49e6d5ef0164ca9f54ff5f0dc68d,
- type: 3}
- propertyPath: m_RootOrder
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 2314108798820570064, guid: 160e49e6d5ef0164ca9f54ff5f0dc68d,
- type: 3}
- propertyPath: m_LocalEulerAnglesHint.x
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 2314108798820570064, guid: 160e49e6d5ef0164ca9f54ff5f0dc68d,
- type: 3}
- propertyPath: m_LocalEulerAnglesHint.y
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 2314108798820570064, guid: 160e49e6d5ef0164ca9f54ff5f0dc68d,
- type: 3}
- propertyPath: m_LocalEulerAnglesHint.z
- value: 0
- objectReference: {fileID: 0}
- m_RemovedComponents: []
- m_SourcePrefab: {fileID: 100100000, guid: 160e49e6d5ef0164ca9f54ff5f0dc68d, type: 3}
---- !u!1001 &4095794639561988570
-PrefabInstance:
- m_ObjectHideFlags: 0
- serializedVersion: 2
- m_Modification:
- m_TransformParent: {fileID: 403880566}
- m_Modifications:
- - target: {fileID: 4095794639853462115, guid: e9cd2045609ed8a40918c7c99227876d,
- type: 3}
- propertyPath: m_LocalPosition.x
- value: 1.5
- objectReference: {fileID: 0}
- - target: {fileID: 4095794639853462115, guid: e9cd2045609ed8a40918c7c99227876d,
- type: 3}
- propertyPath: m_LocalPosition.y
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 4095794639853462115, guid: e9cd2045609ed8a40918c7c99227876d,
- type: 3}
- propertyPath: m_LocalPosition.z
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 4095794639853462115, guid: e9cd2045609ed8a40918c7c99227876d,
- type: 3}
- propertyPath: m_LocalRotation.x
- value: -0
- objectReference: {fileID: 0}
- - target: {fileID: 4095794639853462115, guid: e9cd2045609ed8a40918c7c99227876d,
- type: 3}
- propertyPath: m_LocalRotation.y
- value: -0
- objectReference: {fileID: 0}
- - target: {fileID: 4095794639853462115, guid: e9cd2045609ed8a40918c7c99227876d,
- type: 3}
- propertyPath: m_LocalRotation.z
- value: -0
- objectReference: {fileID: 0}
- - target: {fileID: 4095794639853462115, guid: e9cd2045609ed8a40918c7c99227876d,
- type: 3}
- propertyPath: m_LocalRotation.w
- value: 1
- objectReference: {fileID: 0}
- - target: {fileID: 4095794639853462115, guid: e9cd2045609ed8a40918c7c99227876d,
- type: 3}
- propertyPath: m_RootOrder
- value: 1
- objectReference: {fileID: 0}
- - target: {fileID: 4095794639853462115, guid: e9cd2045609ed8a40918c7c99227876d,
- type: 3}
- propertyPath: m_LocalEulerAnglesHint.x
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 4095794639853462115, guid: e9cd2045609ed8a40918c7c99227876d,
- type: 3}
- propertyPath: m_LocalEulerAnglesHint.y
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 4095794639853462115, guid: e9cd2045609ed8a40918c7c99227876d,
- type: 3}
- propertyPath: m_LocalEulerAnglesHint.z
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 4095794639853462127, guid: e9cd2045609ed8a40918c7c99227876d,
- type: 3}
- propertyPath: m_Name
- value: DecreasingHealthHandler
- objectReference: {fileID: 0}
- m_RemovedComponents: []
- m_SourcePrefab: {fileID: 100100000, guid: e9cd2045609ed8a40918c7c99227876d, type: 3}
---- !u!1001 &4521292254561523063
-PrefabInstance:
- m_ObjectHideFlags: 0
- serializedVersion: 2
- m_Modification:
- m_TransformParent: {fileID: 0}
- m_Modifications:
- - target: {fileID: 4521292253474263862, guid: 236964640b1e69048a86dc1a58f5f200,
- type: 3}
- propertyPath: m_LocalPosition.x
- value: -3
- objectReference: {fileID: 0}
- - target: {fileID: 4521292253474263862, guid: 236964640b1e69048a86dc1a58f5f200,
- type: 3}
- propertyPath: m_LocalPosition.y
- value: 4.25
- objectReference: {fileID: 0}
- - target: {fileID: 4521292253474263862, guid: 236964640b1e69048a86dc1a58f5f200,
- type: 3}
- propertyPath: m_LocalPosition.z
- value: -3
- objectReference: {fileID: 0}
- - target: {fileID: 4521292253474263862, guid: 236964640b1e69048a86dc1a58f5f200,
- type: 3}
- propertyPath: m_LocalRotation.x
- value: 0.35355338
- objectReference: {fileID: 0}
- - target: {fileID: 4521292253474263862, guid: 236964640b1e69048a86dc1a58f5f200,
- type: 3}
- propertyPath: m_LocalRotation.y
- value: 0.35355338
- objectReference: {fileID: 0}
- - target: {fileID: 4521292253474263862, guid: 236964640b1e69048a86dc1a58f5f200,
- type: 3}
- propertyPath: m_LocalRotation.z
- value: -0.1464466
- objectReference: {fileID: 0}
- - target: {fileID: 4521292253474263862, guid: 236964640b1e69048a86dc1a58f5f200,
- type: 3}
- propertyPath: m_LocalRotation.w
- value: 0.8535535
- objectReference: {fileID: 0}
- - target: {fileID: 4521292253474263862, guid: 236964640b1e69048a86dc1a58f5f200,
- type: 3}
- propertyPath: m_RootOrder
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 4521292253474263862, guid: 236964640b1e69048a86dc1a58f5f200,
- type: 3}
- propertyPath: m_LocalEulerAnglesHint.x
- value: 45
- objectReference: {fileID: 0}
- - target: {fileID: 4521292253474263862, guid: 236964640b1e69048a86dc1a58f5f200,
- type: 3}
- propertyPath: m_LocalEulerAnglesHint.y
- value: 45
- objectReference: {fileID: 0}
- - target: {fileID: 4521292253474263862, guid: 236964640b1e69048a86dc1a58f5f200,
- type: 3}
- propertyPath: m_LocalEulerAnglesHint.z
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 4521292253474263882, guid: 236964640b1e69048a86dc1a58f5f200,
- type: 3}
- propertyPath: m_Name
- value: ClickerCamera
- objectReference: {fileID: 0}
- m_RemovedComponents: []
- m_SourcePrefab: {fileID: 100100000, guid: 236964640b1e69048a86dc1a58f5f200, type: 3}
diff --git a/Assets/Samples/MutableObjects/Scripts.meta b/Assets/Samples/MutableObjects/Scripts.meta
deleted file mode 100644
index 0ee02f6..0000000
--- a/Assets/Samples/MutableObjects/Scripts.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 1fac7d11b9eef4843ad18eec889cf7e9
-folderAsset: yes
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Samples/MutableObjects/Scripts/DecreasingHealthHandler.cs b/Assets/Samples/MutableObjects/Scripts/DecreasingHealthHandler.cs
deleted file mode 100644
index 04b565c..0000000
--- a/Assets/Samples/MutableObjects/Scripts/DecreasingHealthHandler.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-namespace MutableObjects
-{
- public class DecreasingHealthHandler : HealthHandler
- {
- public override void HandleShot()
- {
- health.Value--;
- if (health.Value <= 0)
- {
- health.Value = 0;
- }
- }
- }
-}
diff --git a/Assets/Samples/MutableObjects/Scripts/DecreasingHealthHandler.cs.meta b/Assets/Samples/MutableObjects/Scripts/DecreasingHealthHandler.cs.meta
deleted file mode 100644
index d1d176f..0000000
--- a/Assets/Samples/MutableObjects/Scripts/DecreasingHealthHandler.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: c6c769ca15db4cadb8b3bf44b44d43f7
-timeCreated: 1601744926
\ No newline at end of file
diff --git a/Assets/Samples/MutableObjects/Scripts/HealthHandler.cs b/Assets/Samples/MutableObjects/Scripts/HealthHandler.cs
deleted file mode 100644
index 8951f99..0000000
--- a/Assets/Samples/MutableObjects/Scripts/HealthHandler.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using MutableObjects.Int;
-using UnityEngine;
-
-namespace MutableObjects
-{
- public abstract class HealthHandler : MonoBehaviour
- {
- [SerializeField]
- protected MutableInt health = default;
-
- public abstract void HandleShot();
- }
-}
diff --git a/Assets/Samples/MutableObjects/Scripts/HealthHandler.cs.meta b/Assets/Samples/MutableObjects/Scripts/HealthHandler.cs.meta
deleted file mode 100644
index 81e7e95..0000000
--- a/Assets/Samples/MutableObjects/Scripts/HealthHandler.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: fe051e1ed8e04d3485309b738b90e722
-timeCreated: 1601744511
\ No newline at end of file
diff --git a/Assets/Samples/MutableObjects/Scripts/HealthText.cs b/Assets/Samples/MutableObjects/Scripts/HealthText.cs
deleted file mode 100644
index fa8ac4e..0000000
--- a/Assets/Samples/MutableObjects/Scripts/HealthText.cs
+++ /dev/null
@@ -1,42 +0,0 @@
-using MutableObjects.Int;
-using UnityEngine;
-using UnityEngine.UI;
-
-namespace MutableObjects
-{
- [RequireComponent(typeof(Text))]
- public class HealthText : MonoBehaviour
- {
- [SerializeField]
- private MutableInt health = default;
-
- private int currentHealth;
-
- private Text text;
-
- private void Awake()
- {
- text = GetComponent();
- }
-
- private void Start()
- {
- currentHealth = health.Value;
- SetText();
- }
-
- private void Update()
- {
- if (currentHealth != health.Value)
- {
- currentHealth = health.Value;
- SetText();
- }
- }
-
- private void SetText()
- {
- text.text = currentHealth.ToString();
- }
- }
-}
diff --git a/Assets/Samples/MutableObjects/Scripts/HealthText.cs.meta b/Assets/Samples/MutableObjects/Scripts/HealthText.cs.meta
deleted file mode 100644
index f2b7b94..0000000
--- a/Assets/Samples/MutableObjects/Scripts/HealthText.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: a6862d1164704ff889a807ca193e9b4a
-timeCreated: 1601744653
\ No newline at end of file
diff --git a/Assets/Samples/MutableObjects/Scripts/IncreasingHealthHandler.cs b/Assets/Samples/MutableObjects/Scripts/IncreasingHealthHandler.cs
deleted file mode 100644
index 88c1364..0000000
--- a/Assets/Samples/MutableObjects/Scripts/IncreasingHealthHandler.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-namespace MutableObjects
-{
- public class IncreasingHealthHandler : HealthHandler
- {
- public override void HandleShot()
- {
- health.Value++;
- }
- }
-}
diff --git a/Assets/Samples/MutableObjects/Scripts/IncreasingHealthHandler.cs.meta b/Assets/Samples/MutableObjects/Scripts/IncreasingHealthHandler.cs.meta
deleted file mode 100644
index 4b201fb..0000000
--- a/Assets/Samples/MutableObjects/Scripts/IncreasingHealthHandler.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: ad3c05f0f39f410fb0a841dd7eaea443
-timeCreated: 1601744887
\ No newline at end of file
diff --git a/Assets/Samples/MutableObjects/Scripts/Shooter.cs b/Assets/Samples/MutableObjects/Scripts/Shooter.cs
deleted file mode 100644
index afea1b6..0000000
--- a/Assets/Samples/MutableObjects/Scripts/Shooter.cs
+++ /dev/null
@@ -1,45 +0,0 @@
-using UnityEngine;
-
-namespace MutableObjects
-{
- [RequireComponent(typeof(Camera))]
- public class Shooter : MonoBehaviour
- {
- [SerializeField]
- private string shootButton = "Fire1";
-
- private new Camera camera;
-
- private void Awake()
- {
- camera = GetComponent();
- }
-
- private void Update()
- {
- if (IsShoot())
- {
- Shoot();
- }
- }
-
- private bool IsShoot()
- {
- return Input.GetButtonDown(shootButton);
- }
-
- private void Shoot()
- {
- var ray = camera.ScreenPointToRay(Input.mousePosition);
-
- if (Physics.Raycast(ray, out var hit))
- {
- var handler = hit.transform.GetComponent();
- if (handler != null)
- {
- handler.HandleShot();
- }
- }
- }
- }
-}
diff --git a/Assets/Samples/MutableObjects/Scripts/Shooter.cs.meta b/Assets/Samples/MutableObjects/Scripts/Shooter.cs.meta
deleted file mode 100644
index cb47140..0000000
--- a/Assets/Samples/MutableObjects/Scripts/Shooter.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 8801334c70052fe4f9658e19d2cec18c
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Samples/Settings.meta b/Assets/Samples/Settings.meta
deleted file mode 100644
index c5b2ef2..0000000
--- a/Assets/Samples/Settings.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: b8114d0c340d5ff4b83bdd3cea280c00
-folderAsset: yes
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Samples/Settings/UniversalRenderPipelineAsset.asset b/Assets/Samples/Settings/UniversalRenderPipelineAsset.asset
deleted file mode 100644
index 69cb92c..0000000
--- a/Assets/Samples/Settings/UniversalRenderPipelineAsset.asset
+++ /dev/null
@@ -1,55 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!114 &11400000
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 0}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: bf2edee5c58d82540a51f03df9d42094, type: 3}
- m_Name: UniversalRenderPipelineAsset
- m_EditorClassIdentifier:
- k_AssetVersion: 5
- k_AssetPreviousVersion: 5
- m_RendererType: 1
- m_RendererData: {fileID: 0}
- m_RendererDataList:
- - {fileID: 11400000, guid: 456bfeb11c07b004a81755a6d5eb9b33, type: 2}
- m_DefaultRendererIndex: 0
- m_RequireDepthTexture: 0
- m_RequireOpaqueTexture: 0
- m_OpaqueDownsampling: 1
- m_SupportsTerrainHoles: 1
- m_SupportsHDR: 1
- m_MSAA: 8
- m_RenderScale: 1
- m_MainLightRenderingMode: 1
- m_MainLightShadowsSupported: 1
- m_MainLightShadowmapResolution: 2048
- m_AdditionalLightsRenderingMode: 2
- m_AdditionalLightsPerObjectLimit: 4
- m_AdditionalLightShadowsSupported: 0
- m_AdditionalLightsShadowmapResolution: 512
- m_ShadowDistance: 20
- m_ShadowCascades: 0
- m_Cascade2Split: 0.25
- m_Cascade4Split: {x: 0.067, y: 0.2, z: 0.467}
- m_ShadowDepthBias: 1
- m_ShadowNormalBias: 1
- m_SoftShadowsSupported: 1
- m_UseSRPBatcher: 1
- m_SupportsDynamicBatching: 0
- m_MixedLightingSupported: 1
- m_DebugLevel: 0
- m_PostProcessingFeatureSet: 0
- m_ColorGradingMode: 1
- m_ColorGradingLutSize: 32
- m_ShadowType: 1
- m_LocalShadowsSupported: 0
- m_LocalShadowsAtlasResolution: 256
- m_MaxPixelLights: 0
- m_ShadowAtlasResolution: 256
- m_ShaderVariantLogLevel: 0
diff --git a/Assets/Samples/Settings/UniversalRenderPipelineAsset.asset.meta b/Assets/Samples/Settings/UniversalRenderPipelineAsset.asset.meta
deleted file mode 100644
index 5010197..0000000
--- a/Assets/Samples/Settings/UniversalRenderPipelineAsset.asset.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 4cc95e0ffb4cb5b41a626555d36a9b76
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Samples/Settings/UniversalRenderPipelineAsset_Renderer.asset b/Assets/Samples/Settings/UniversalRenderPipelineAsset_Renderer.asset
deleted file mode 100644
index 808b47c..0000000
--- a/Assets/Samples/Settings/UniversalRenderPipelineAsset_Renderer.asset
+++ /dev/null
@@ -1,38 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!114 &11400000
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 0}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: de640fe3d0db1804a85f9fc8f5cadab6, type: 3}
- m_Name: UniversalRenderPipelineAsset_Renderer
- m_EditorClassIdentifier:
- m_RendererFeatures: []
- m_RendererFeatureMap:
- postProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2}
- shaders:
- blitPS: {fileID: 4800000, guid: c17132b1f77d20942aa75f8429c0f8bc, type: 3}
- copyDepthPS: {fileID: 4800000, guid: d6dae50ee9e1bfa4db75f19f99355220, type: 3}
- screenSpaceShadowPS: {fileID: 4800000, guid: 0f854b35a0cf61a429bd5dcfea30eddd,
- type: 3}
- samplingPS: {fileID: 4800000, guid: 04c410c9937594faa893a11dceb85f7e, type: 3}
- fallbackErrorPS: {fileID: 4800000, guid: e6e9a19c3678ded42a3bc431ebef7dbd, type: 3}
- m_OpaqueLayerMask:
- serializedVersion: 2
- m_Bits: 4294967295
- m_TransparentLayerMask:
- serializedVersion: 2
- m_Bits: 4294967295
- m_DefaultStencilState:
- overrideStencilState: 0
- stencilReference: 0
- stencilCompareFunction: 8
- passOperation: 0
- failOperation: 0
- zFailOperation: 0
- m_ShadowTransparentReceive: 1
diff --git a/Assets/Samples/Settings/UniversalRenderPipelineAsset_Renderer.asset.meta b/Assets/Samples/Settings/UniversalRenderPipelineAsset_Renderer.asset.meta
deleted file mode 100644
index db44d0d..0000000
--- a/Assets/Samples/Settings/UniversalRenderPipelineAsset_Renderer.asset.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 456bfeb11c07b004a81755a6d5eb9b33
-NativeFormatImporter:
- externalObjects: {}
- mainObjectFileID: 0
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Samples/GameEvents/Scenes.meta b/Assets/Scenes.meta
similarity index 77%
rename from Assets/Samples/GameEvents/Scenes.meta
rename to Assets/Scenes.meta
index f260d51..92c984a 100644
--- a/Assets/Samples/GameEvents/Scenes.meta
+++ b/Assets/Scenes.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 3bf78cb7fbb04e54e9e3f3dcfab4d50f
+guid: 5b4bb1d52a52c284cb16662ae1cfdbda
folderAsset: yes
DefaultImporter:
externalObjects: {}
diff --git a/Assets/Scenes/TestScene.unity b/Assets/Scenes/TestScene.unity
new file mode 100644
index 0000000..e894b54
--- /dev/null
+++ b/Assets/Scenes/TestScene.unity
@@ -0,0 +1,298 @@
+%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, g: 0, b: 0, a: 1}
+ m_UseRadianceAmbientProbe: 0
+--- !u!157 &3
+LightmapSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 11
+ m_GIWorkflowMode: 1
+ m_GISettings:
+ serializedVersion: 2
+ m_BounceScale: 1
+ m_IndirectOutputScale: 1
+ m_AlbedoBoost: 1
+ m_EnvironmentLightingMode: 0
+ m_EnableBakedLightmaps: 1
+ m_EnableRealtimeLightmaps: 0
+ m_LightmapEditorSettings:
+ serializedVersion: 12
+ m_Resolution: 2
+ m_BakeResolution: 40
+ m_AtlasSize: 1024
+ m_AO: 0
+ m_AOMaxDistance: 1
+ m_CompAOExponent: 1
+ m_CompAOExponentDirect: 0
+ m_ExtractAmbientOcclusion: 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: 512
+ m_PVRBounces: 2
+ m_PVREnvironmentSampleCount: 256
+ m_PVREnvironmentReferencePointCount: 2048
+ m_PVRFilteringMode: 1
+ m_PVRDenoiserTypeDirect: 1
+ m_PVRDenoiserTypeIndirect: 1
+ m_PVRDenoiserTypeAO: 1
+ m_PVRFilterTypeDirect: 0
+ m_PVRFilterTypeIndirect: 0
+ m_PVRFilterTypeAO: 0
+ m_PVREnvironmentMIS: 1
+ m_PVRCulling: 1
+ m_PVRFilteringGaussRadiusDirect: 1
+ m_PVRFilteringGaussRadiusIndirect: 5
+ m_PVRFilteringGaussRadiusAO: 2
+ m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+ m_PVRFilteringAtrousPositionSigmaIndirect: 2
+ m_PVRFilteringAtrousPositionSigmaAO: 1
+ m_ExportTrainingData: 0
+ m_TrainingDataDestination: TrainingData
+ m_LightProbeSampleCountMultiplier: 4
+ 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 &583905900
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 583905903}
+ - component: {fileID: 583905902}
+ - component: {fileID: 583905901}
+ 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 &583905901
+AudioListener:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 583905900}
+ m_Enabled: 1
+--- !u!20 &583905902
+Camera:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 583905900}
+ 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_GateFitMode: 2
+ m_FOVAxisMode: 0
+ 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 &583905903
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 583905900}
+ 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!1 &778170384
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 778170386}
+ - component: {fileID: 778170385}
+ 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 &778170385
+Light:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 778170384}
+ m_Enabled: 1
+ serializedVersion: 10
+ m_Type: 1
+ m_Shape: 0
+ m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
+ m_Intensity: 1
+ m_Range: 10
+ m_SpotAngle: 30
+ m_InnerSpotAngle: 21.80208
+ 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_CullingMatrixOverride:
+ e00: 1
+ e01: 0
+ e02: 0
+ e03: 0
+ e10: 0
+ e11: 1
+ e12: 0
+ e13: 0
+ e20: 0
+ e21: 0
+ e22: 1
+ e23: 0
+ e30: 0
+ e31: 0
+ e32: 0
+ e33: 1
+ m_UseCullingMatrixOverride: 0
+ m_Cookie: {fileID: 0}
+ m_DrawHalo: 0
+ m_Flare: {fileID: 0}
+ m_RenderMode: 0
+ m_CullingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ m_RenderingLayerMask: 1
+ m_Lightmapping: 4
+ m_LightShadowCasterMode: 0
+ m_AreaSize: {x: 1, y: 1}
+ m_BounceIntensity: 1
+ m_ColorTemperature: 6570
+ m_UseColorTemperature: 0
+ m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
+ m_UseBoundingSphereOverride: 0
+ m_ShadowRadius: 0
+ m_ShadowAngle: 0
+--- !u!4 &778170386
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 778170384}
+ 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}
diff --git a/Assets/Samples/GameEvents/Scenes/GameEvents.unity.meta b/Assets/Scenes/TestScene.unity.meta
similarity index 74%
rename from Assets/Samples/GameEvents/Scenes/GameEvents.unity.meta
rename to Assets/Scenes/TestScene.unity.meta
index c8a1f0b..3392e20 100644
--- a/Assets/Samples/GameEvents/Scenes/GameEvents.unity.meta
+++ b/Assets/Scenes/TestScene.unity.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 6a282a0d0949f8249a192188afeb9d1e
+guid: cb0fbeaa842ae914ca34ab5335d680e2
DefaultImporter:
externalObjects: {}
userData:
diff --git a/Assets/Tests/Runtime/Chark.UnityScriptableObjects.Tests.asmdef b/Assets/Tests/Runtime/Chark.UnityScriptableObjects.Tests.asmdef
deleted file mode 100644
index 622bc97..0000000
--- a/Assets/Tests/Runtime/Chark.UnityScriptableObjects.Tests.asmdef
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "name": "Chark.UnityScriptableObjects.Tests",
- "references": [
- "UnityEngine.TestRunner",
- "Chark.UnityScriptableObjects"
- ],
- "includePlatforms": [],
- "excludePlatforms": [],
- "allowUnsafeCode": false,
- "overrideReferences": true,
- "precompiledReferences": [
- "nunit.framework.dll"
- ],
- "autoReferenced": false,
- "defineConstraints": [
- "UNITY_INCLUDE_TESTS"
- ],
- "versionDefines": [],
- "noEngineReferences": false
-}
\ No newline at end of file
diff --git a/Assets/Tests/Runtime/Chark.UnityScriptableObjects.Tests.asmdef.meta b/Assets/Tests/Runtime/Chark.UnityScriptableObjects.Tests.asmdef.meta
deleted file mode 100644
index 075ee7d..0000000
--- a/Assets/Tests/Runtime/Chark.UnityScriptableObjects.Tests.asmdef.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: ce79efc602f25d24d9f8b77d7d3a6fc2
-AssemblyDefinitionImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Tests/Runtime/GameEvents.meta b/Assets/Tests/Runtime/GameEvents.meta
deleted file mode 100644
index 6a449ba..0000000
--- a/Assets/Tests/Runtime/GameEvents.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: 91621ed158ec436685dbaacc00db55a0
-timeCreated: 1601997578
\ No newline at end of file
diff --git a/Assets/Tests/Runtime/GameEvents/GameEventTest.cs b/Assets/Tests/Runtime/GameEvents/GameEventTest.cs
deleted file mode 100644
index 1ef7862..0000000
--- a/Assets/Tests/Runtime/GameEvents/GameEventTest.cs
+++ /dev/null
@@ -1,404 +0,0 @@
-using System;
-using System.Linq;
-using GameEvents.Bool;
-using GameEvents.Float;
-using GameEvents.Game;
-using GameEvents.GameObject;
-using GameEvents.Int;
-using GameEvents.String;
-using GameEvents.Transform;
-using GameEvents.Vector2;
-using GameEvents.Vector3;
-using NUnit.Framework;
-using UnityEngine;
-using UnityEngine.Events;
-using Assert = UnityEngine.Assertions.Assert;
-
-namespace GameEvents
-{
- public class GameEventTest
- {
- [Test]
- public void ShouldRaiseBoolGameEvent()
- {
- var tester = new GameEventTester<
- BoolGameEventListener,
- BoolGameEvent,
- BoolEvent,
- bool
- >();
-
- tester.SetActive(true);
- tester.RaiseGameEvent(true);
-
- Assert.AreEqual(true, tester.GetLastEventValue());
- Assert.AreEqual(1, tester.GetEventCount());
- tester.Clear();
-
- tester.SetActive(false);
- tester.RaiseGameEvent(true);
-
- Assert.AreEqual(0, tester.GetEventCount());
- }
-
- [Test]
- public void ShouldRegisterAndUnregisterBoolGameEventListener()
- {
- var gameEvent = ScriptableObject.CreateInstance();
- var listener = new NoOpArgumentListener();
-
- gameEvent.RegisterListener(listener);
- Assert.AreEqual(1, gameEvent.Listeners.Count());
-
- gameEvent.UnregisterListener(listener);
- Assert.AreEqual(0, gameEvent.Listeners.Count());
- }
-
- [Test]
- public void ShouldRaiseFloatGameEvent()
- {
- var tester = new GameEventTester<
- FloatGameEventListener,
- FloatGameEvent,
- FloatEvent,
- float
- >();
-
- tester.SetActive(true);
- tester.RaiseGameEvent(10f);
-
- Assert.AreEqual(10f, tester.GetLastEventValue());
- Assert.AreEqual(1, tester.GetEventCount());
- tester.Clear();
-
- tester.SetActive(false);
- tester.RaiseGameEvent(10f);
-
- Assert.AreEqual(0, tester.GetEventCount());
- }
-
- [Test]
- public void ShouldRegisterAndUnregisterFloatGameEventListener()
- {
- var gameEvent = ScriptableObject.CreateInstance();
- var listener = new NoOpArgumentListener();
-
- gameEvent.RegisterListener(listener);
- Assert.AreEqual(1, gameEvent.Listeners.Count());
-
- gameEvent.UnregisterListener(listener);
- Assert.AreEqual(0, gameEvent.Listeners.Count());
- }
-
- [Test]
- public void ShouldRaiseGameEventEvent()
- {
- // Given.
- var gameObject = new UnityEngine.GameObject();
- gameObject.SetActive(false);
-
- var listener = gameObject.AddComponent();
-
- listener.OnGameEvent = new UnityEvent();
- listener.GameEvent = ScriptableObject.CreateInstance();
-
- var count = new int[1];
- listener.OnGameEvent.AddListener(() => count[0]++);
-
- // Then.
- gameObject.SetActive(true);
- listener.GameEvent.RaiseGameEvent();
-
- Assert.AreEqual(1, count[0]);
- count[0] = 0;
-
- gameObject.SetActive(false);
- listener.GameEvent.RaiseGameEvent();
-
- Assert.AreEqual(0, count[0]);
- }
-
-
- [Test]
- public void ShouldNotBreakChainWhenExceptionIsThrown()
- {
- // Given.
- var gameObject = new UnityEngine.GameObject();
- gameObject.SetActive(false);
-
- var listenerWithError = gameObject.AddComponent();
- var listener = gameObject.AddComponent();
-
- listenerWithError.OnGameEvent = new UnityEvent();
- listenerWithError.GameEvent = ScriptableObject.CreateInstance();
-
- listener.OnGameEvent = new UnityEvent();
- listener.GameEvent = listenerWithError.GameEvent;
-
- var count = new int[1];
- listenerWithError.OnGameEvent.AddListener(() => throw new NullReferenceException());
- listener.OnGameEvent.AddListener(() => count[0]++);
-
- // Then.
- gameObject.SetActive(true);
- listener.GameEvent.RaiseGameEvent();
-
- Assert.AreEqual(1, count[0]);
- count[0] = 0;
-
- gameObject.SetActive(false);
- listener.GameEvent.RaiseGameEvent();
-
- Assert.AreEqual(0, count[0]);
- }
-
- [Test]
- public void ShouldRegisterAndUnregisterGameObjectGameEventListener()
- {
- var gameEvent = ScriptableObject.CreateInstance();
- var listener = new NoOpArgumentListener();
-
- gameEvent.RegisterListener(listener);
- Assert.AreEqual(1, gameEvent.Listeners.Count());
-
- gameEvent.UnregisterListener(listener);
- Assert.AreEqual(0, gameEvent.Listeners.Count());
- }
-
- [Test]
- public void ShouldRaiseGameObjectGameEventListener()
- {
- var tester = new GameEventTester<
- GameObjectGameEventListener,
- GameObjectGameEvent,
- GameObjectEvent,
- UnityEngine.GameObject
- >();
-
- tester.SetActive(true);
-
- var gameObject = new UnityEngine.GameObject();
- tester.RaiseGameEvent(gameObject);
-
- Assert.AreEqual(gameObject, tester.GetLastEventValue());
- Assert.AreEqual(1, tester.GetEventCount());
- tester.Clear();
-
- tester.SetActive(false);
- tester.RaiseGameEvent(gameObject);
-
- Assert.AreEqual(0, tester.GetEventCount());
- }
-
- [Test]
- public void ShouldRegisterAndUnregisterGameEventListener()
- {
- var gameEvent = ScriptableObject.CreateInstance();
- var listener = new NoOpListener();
-
- gameEvent.RegisterListener(listener);
- Assert.AreEqual(1, gameEvent.Listeners.Count());
-
- gameEvent.UnregisterListener(listener);
- Assert.AreEqual(0, gameEvent.Listeners.Count());
- }
-
- [Test]
- public void ShouldRaiseIntGameEventListener()
- {
- var tester = new GameEventTester<
- IntGameEventListener,
- IntGameEvent,
- IntEvent,
- int
- >();
-
- tester.SetActive(true);
- tester.RaiseGameEvent(10);
-
- Assert.AreEqual(10, tester.GetLastEventValue());
- Assert.AreEqual(1, tester.GetEventCount());
- tester.Clear();
-
- tester.SetActive(false);
- tester.RaiseGameEvent(10);
-
- Assert.AreEqual(0, tester.GetEventCount());
- }
-
- [Test]
- public void ShouldRegisterAndUnregisterIntGameEventListener()
- {
- var gameEvent = ScriptableObject.CreateInstance();
- var listener = new NoOpArgumentListener();
-
- gameEvent.RegisterListener(listener);
- Assert.AreEqual(1, gameEvent.Listeners.Count());
-
- gameEvent.UnregisterListener(listener);
- Assert.AreEqual(0, gameEvent.Listeners.Count());
- }
-
- [Test]
- public void ShouldRaiseStringGameEventListener()
- {
- var tester = new GameEventTester<
- StringGameEventListener,
- StringGameEvent,
- StringEvent,
- string
- >();
-
- tester.SetActive(true);
- tester.RaiseGameEvent("foo");
-
- Assert.AreEqual("foo", tester.GetLastEventValue());
- Assert.AreEqual(1, tester.GetEventCount());
- tester.Clear();
-
- tester.SetActive(false);
- tester.RaiseGameEvent("foo");
-
- Assert.AreEqual(0, tester.GetEventCount());
- }
-
- [Test]
- public void ShouldRegisterAndUnregisterStringGameEventListener()
- {
- var gameEvent = ScriptableObject.CreateInstance();
- var listener = new NoOpArgumentListener();
-
- gameEvent.RegisterListener(listener);
- Assert.AreEqual(1, gameEvent.Listeners.Count());
-
- gameEvent.UnregisterListener(listener);
- Assert.AreEqual(0, gameEvent.Listeners.Count());
- }
-
- [Test]
- public void ShouldRaiseTransformGameEventListener()
- {
- var tester = new GameEventTester<
- TransformGameEventListener,
- TransformGameEvent,
- TransformEvent,
- UnityEngine.Transform
- >();
-
- tester.SetActive(true);
-
- var gameObject = new UnityEngine.GameObject();
- tester.RaiseGameEvent(gameObject.transform);
-
- Assert.AreEqual(gameObject.transform, tester.GetLastEventValue());
- Assert.AreEqual(1, tester.GetEventCount());
- tester.Clear();
-
- tester.SetActive(false);
- tester.RaiseGameEvent(gameObject.transform);
-
- Assert.AreEqual(0, tester.GetEventCount());
- }
-
- [Test]
- public void ShouldRegisterAndUnregisterTransformGameEventListener()
- {
- var gameEvent = ScriptableObject.CreateInstance();
- var listener = new NoOpArgumentListener();
-
- gameEvent.RegisterListener(listener);
- Assert.AreEqual(1, gameEvent.Listeners.Count());
-
- gameEvent.UnregisterListener(listener);
- Assert.AreEqual(0, gameEvent.Listeners.Count());
- }
-
- [Test]
- public void ShouldRaiseVector2EventListener()
- {
- var tester = new GameEventTester<
- Vector2GameEventListener,
- Vector2GameEvent,
- Vector2Event,
- UnityEngine.Vector2
- >();
-
- tester.SetActive(true);
- tester.RaiseGameEvent(UnityEngine.Vector2.one);
-
- Assert.AreEqual(UnityEngine.Vector2.one, tester.GetLastEventValue());
- Assert.AreEqual(1, tester.GetEventCount());
- tester.Clear();
-
- tester.SetActive(false);
- tester.RaiseGameEvent(UnityEngine.Vector2.one);
-
- Assert.AreEqual(0, tester.GetEventCount());
- }
-
- [Test]
- public void ShouldRegisterAndUnregisterVector2GameEventListener()
- {
- var gameEvent = ScriptableObject.CreateInstance();
- var listener = new NoOpArgumentListener();
-
- gameEvent.RegisterListener(listener);
- Assert.AreEqual(1, gameEvent.Listeners.Count());
-
- gameEvent.UnregisterListener(listener);
- Assert.AreEqual(0, gameEvent.Listeners.Count());
- }
-
- [Test]
- public void ShouldRaiseVector3EventListener()
- {
- var tester = new GameEventTester<
- Vector3GameEventListener,
- Vector3GameEvent,
- Vector3Event,
- UnityEngine.Vector3
- >();
-
- tester.SetActive(true);
- tester.RaiseGameEvent(UnityEngine.Vector3.one);
-
- Assert.AreEqual(UnityEngine.Vector3.one, tester.GetLastEventValue());
- Assert.AreEqual(1, tester.GetEventCount());
- tester.Clear();
-
- tester.SetActive(false);
- tester.RaiseGameEvent(UnityEngine.Vector3.one);
-
- Assert.AreEqual(0, tester.GetEventCount());
- }
-
- [Test]
- public void ShouldRegisterAndUnregisterVector3GameEventListener()
- {
- var gameEvent = ScriptableObject.CreateInstance();
- var listener = new NoOpArgumentListener();
-
- gameEvent.RegisterListener(listener);
- Assert.AreEqual(1, gameEvent.Listeners.Count());
-
- gameEvent.UnregisterListener(listener);
- Assert.AreEqual(0, gameEvent.Listeners.Count());
- }
-
- [Test]
- public void ShouldRegisterAndUnregisterGameEventMultipleListeners()
- {
- var gameEvent = ScriptableObject.CreateInstance();
- var firstListener = new NoOpArgumentListener();
- var secondListener = new NoOpArgumentListener();
-
- gameEvent.RegisterListener(firstListener);
- gameEvent.RegisterListener(secondListener);
- Assert.AreEqual(2, gameEvent.Listeners.Count());
-
- gameEvent.UnregisterListener(firstListener);
- gameEvent.UnregisterListener(secondListener);
- Assert.AreEqual(0, gameEvent.Listeners.Count());
- }
- }
-}
diff --git a/Assets/Tests/Runtime/GameEvents/GameEventTest.cs.meta b/Assets/Tests/Runtime/GameEvents/GameEventTest.cs.meta
deleted file mode 100644
index eac25f0..0000000
--- a/Assets/Tests/Runtime/GameEvents/GameEventTest.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 1b06e9491a735a449929c497259358bb
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Tests/Runtime/GameEvents/GameEventTester.cs b/Assets/Tests/Runtime/GameEvents/GameEventTester.cs
deleted file mode 100644
index f6fe86a..0000000
--- a/Assets/Tests/Runtime/GameEvents/GameEventTester.cs
+++ /dev/null
@@ -1,74 +0,0 @@
-using System.Collections.Generic;
-using System.Linq;
-using GameEvents.Generic;
-using UnityEngine;
-using UnityEngine.Events;
-
-namespace GameEvents
-{
- public class GameEventTester<
- TGameEventListener,
- TGameEvent,
- TUnityEvent,
- TArgument
- >
- where TGameEvent : ArgumentGameEvent
- where TUnityEvent : UnityEvent, new()
- where TGameEventListener : ArgumentGameEventListener<
- TGameEvent,
- TUnityEvent,
- TArgument
- >
- {
- private readonly List eventValues;
- private readonly UnityEngine.GameObject gameObject;
- private readonly TGameEvent gameEvent;
-
- public GameEventTester()
- {
- eventValues = new List();
-
- gameObject = new UnityEngine.GameObject();
- gameObject.SetActive(false);
-
- var onGameEvent = new TUnityEvent();
- onGameEvent.AddListener(AddEventValue);
-
- gameEvent = ScriptableObject.CreateInstance();
-
- var listener = gameObject.AddComponent();
- listener.OnGameEvent = onGameEvent;
- listener.GameEvent = gameEvent;
- }
-
- public int GetEventCount()
- {
- return eventValues.Count;
- }
-
- public TArgument GetLastEventValue()
- {
- return eventValues.Last();
- }
-
- public void Clear()
- {
- eventValues.Clear();
- }
-
- public void SetActive(bool value)
- {
- gameObject.SetActive(value);
- }
-
- public void RaiseGameEvent(TArgument argument)
- {
- gameEvent.RaiseGameEvent(argument);
- }
-
- private void AddEventValue(TArgument value)
- {
- eventValues.Add(value);
- }
- }
-}
diff --git a/Assets/Tests/Runtime/GameEvents/GameEventTester.cs.meta b/Assets/Tests/Runtime/GameEvents/GameEventTester.cs.meta
deleted file mode 100644
index e121f8f..0000000
--- a/Assets/Tests/Runtime/GameEvents/GameEventTester.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: 44be42e5d31f47c5a3e0073e8f8c13a9
-timeCreated: 1602013695
\ No newline at end of file
diff --git a/Assets/Tests/Runtime/GameEvents/NoOpArgumentListener.cs b/Assets/Tests/Runtime/GameEvents/NoOpArgumentListener.cs
deleted file mode 100644
index 7b8cb39..0000000
--- a/Assets/Tests/Runtime/GameEvents/NoOpArgumentListener.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-using GameEvents.Generic;
-
-namespace GameEvents
-{
- public class NoOpArgumentListener : IArgumentGameEventListener
- {
- public void RaiseGameEvent(TArgument argument)
- {
- }
- }
-}
diff --git a/Assets/Tests/Runtime/GameEvents/NoOpArgumentListener.cs.meta b/Assets/Tests/Runtime/GameEvents/NoOpArgumentListener.cs.meta
deleted file mode 100644
index 2094a6f..0000000
--- a/Assets/Tests/Runtime/GameEvents/NoOpArgumentListener.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: da0499c8d9fd4fe5bc285b67c1db4a62
-timeCreated: 1602360947
\ No newline at end of file
diff --git a/Assets/Tests/Runtime/GameEvents/NoOpListener.cs b/Assets/Tests/Runtime/GameEvents/NoOpListener.cs
deleted file mode 100644
index ab363ae..0000000
--- a/Assets/Tests/Runtime/GameEvents/NoOpListener.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-using GameEvents.Generic;
-
-namespace GameEvents
-{
- public class NoOpListener : IGameEventListener
- {
- public void RaiseGameEvent()
- {
- }
- }
-}
diff --git a/Assets/Tests/Runtime/GameEvents/NoOpListener.cs.meta b/Assets/Tests/Runtime/GameEvents/NoOpListener.cs.meta
deleted file mode 100644
index efe5fae..0000000
--- a/Assets/Tests/Runtime/GameEvents/NoOpListener.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: 22c3c58e7a134791932dd59f07c2cc0b
-timeCreated: 1602361321
\ No newline at end of file
diff --git a/Assets/Tests/Runtime/MutableObjects.meta b/Assets/Tests/Runtime/MutableObjects.meta
deleted file mode 100644
index 2505d81..0000000
--- a/Assets/Tests/Runtime/MutableObjects.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: d7804ba3533e92a4083df65b1905ce33
-folderAsset: yes
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Tests/Runtime/MutableObjects/MutableObjectHandlerTest.cs b/Assets/Tests/Runtime/MutableObjects/MutableObjectHandlerTest.cs
deleted file mode 100644
index ec475d6..0000000
--- a/Assets/Tests/Runtime/MutableObjects/MutableObjectHandlerTest.cs
+++ /dev/null
@@ -1,82 +0,0 @@
-using System.Collections;
-using System.Collections.Generic;
-using MutableObjects.Generic;
-using NUnit.Framework;
-using UnityEngine.SceneManagement;
-using UnityEngine.TestTools;
-using Assert = UnityEngine.Assertions.Assert;
-
-namespace MutableObjects
-{
- public class MutableObjectHandlerTest
- {
- [UnityTest]
- public IEnumerable ShouldResetAppropriateObjects()
- {
- // The resetting tests must be in one test cases, otherwise problems with race
- // conditions arise (while testing).
- var probeNone = CreateObjectProbe(ResetType.None);
- var probeActiveSceneChange = CreateObjectProbe(ResetType.ActiveSceneChange);
- var probeSceneSceneLoaded = CreateObjectProbe(ResetType.SceneLoaded);
- var probeSceneUnloaded = CreateObjectProbe(ResetType.SceneUnloaded);
-
- var handler = new MutableObjectHandler(new List
- {
- probeNone,
- probeActiveSceneChange,
- probeSceneSceneLoaded,
- probeSceneUnloaded
- });
-
- RegisterSceneListeners(handler);
-
- yield return ReloadScene();
-
- Assert.AreEqual(0, probeNone.ResetCount);
- Assert.AreEqual(1, probeActiveSceneChange.ResetCount);
- Assert.AreEqual(1, probeSceneSceneLoaded.ResetCount);
- Assert.AreEqual(1, probeSceneUnloaded.ResetCount);
- }
-
- [Test]
- public void ShouldSetInitialValues()
- {
- var objectProbe = CreateObjectProbe(ResetType.None);
- var handler = new MutableObjectHandler(
- new List {objectProbe}
- );
-
- handler.SetInitialMutableObjectValues();
-
- Assert.AreEqual(1, objectProbe.ResetCount);
- }
-
- private static MutableObjectProbe CreateObjectProbe(ResetType resetType)
- {
- return new MutableObjectProbe
- {
- ResetType = resetType
- };
- }
-
- private static void RegisterSceneListeners(MutableObjectHandler handler)
- {
- SceneManager.activeSceneChanged += (curr, next) => handler.ResetActiveSceneChange();
- SceneManager.sceneUnloaded += scene => handler.ResetSceneUnloaded();
- SceneManager.sceneLoaded += (scene, mode) => handler.ResetSceneLoaded();
- }
-
- private static IEnumerator ReloadScene()
- {
- var active = SceneManager.GetActiveScene();
- var loaded = SceneManager.LoadSceneAsync(active.name);
-
- loaded.allowSceneActivation = true;
-
- while (!loaded.isDone)
- {
- yield return null;
- }
- }
- }
-}
diff --git a/Assets/Tests/Runtime/MutableObjects/MutableObjectHandlerTest.cs.meta b/Assets/Tests/Runtime/MutableObjects/MutableObjectHandlerTest.cs.meta
deleted file mode 100644
index e649362..0000000
--- a/Assets/Tests/Runtime/MutableObjects/MutableObjectHandlerTest.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: cef50a90e8134ff295b990b0fd805521
-timeCreated: 1602073421
\ No newline at end of file
diff --git a/Assets/Tests/Runtime/MutableObjects/MutableObjectProbe.cs b/Assets/Tests/Runtime/MutableObjects/MutableObjectProbe.cs
deleted file mode 100644
index 46fe453..0000000
--- a/Assets/Tests/Runtime/MutableObjects/MutableObjectProbe.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-using MutableObjects.Generic;
-
-namespace MutableObjects
-{
- public class MutableObjectProbe : IMutableObject
- {
- public ResetType ResetType { get; set; } = ResetType.None;
-
- public int ResetCount { get; private set; }
-
- public void ResetValues()
- {
- ResetCount++;
- }
- }
-}
diff --git a/Assets/Tests/Runtime/MutableObjects/MutableObjectProbe.cs.meta b/Assets/Tests/Runtime/MutableObjects/MutableObjectProbe.cs.meta
deleted file mode 100644
index f9ba6c2..0000000
--- a/Assets/Tests/Runtime/MutableObjects/MutableObjectProbe.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: aa904f7258b34927909d68ea048ca9c4
-timeCreated: 1602073874
\ No newline at end of file
diff --git a/Assets/Tests/Runtime/MutableObjects/MutableObjectTest.cs b/Assets/Tests/Runtime/MutableObjects/MutableObjectTest.cs
deleted file mode 100644
index 45a99e2..0000000
--- a/Assets/Tests/Runtime/MutableObjects/MutableObjectTest.cs
+++ /dev/null
@@ -1,79 +0,0 @@
-using MutableObjects.Bool;
-using MutableObjects.Float;
-using MutableObjects.String;
-using MutableObjects.Vector2;
-using MutableObjects.Vector3;
-using NUnit.Framework;
-using UnityEngine;
-using Assert = UnityEngine.Assertions.Assert;
-
-namespace MutableObjects
-{
- public class MutableObjectTest
- {
- [Test]
- public void ShouldSetAndResetMutableBool()
- {
- var mutable = ScriptableObject.CreateInstance();
- mutable.Value = true;
-
- Assert.AreEqual(true, mutable.Value);
-
- mutable.ResetValues();
-
- Assert.AreEqual(false, mutable.Value);
- }
-
- [Test]
- public void ShouldSetAndResetMutableFloat()
- {
- var mutable = ScriptableObject.CreateInstance();
- mutable.Value = 10f;
-
- Assert.AreEqual(10f, mutable.Value);
-
- mutable.ResetValues();
-
- Assert.AreEqual(0f, mutable.Value);
- }
-
- [Test]
- public void ShouldSetAndResetMutableString()
- {
- var mutable = ScriptableObject.CreateInstance();
- mutable.Value = "foo";
-
- Assert.AreEqual("foo", mutable.Value);
-
- mutable.ResetValues();
-
- Assert.AreEqual(null, mutable.Value);
- }
-
- [Test]
- public void ShouldSetAndResetMutableVector2()
- {
- var mutable = ScriptableObject.CreateInstance();
- mutable.Value = UnityEngine.Vector2.one;
-
- Assert.AreEqual(UnityEngine.Vector2.one, mutable.Value);
-
- mutable.ResetValues();
-
- Assert.AreEqual(UnityEngine.Vector2.zero, mutable.Value);
- }
-
- [Test]
- public void ShouldSetAndResetMutableVector3()
- {
- var mutable = ScriptableObject.CreateInstance();
- mutable.Value = UnityEngine.Vector3.one;
-
- Assert.AreEqual(UnityEngine.Vector3.one, mutable.Value);
-
- mutable.ResetValues();
-
- Assert.AreEqual(UnityEngine.Vector3.zero, mutable.Value);
- }
- }
-}
diff --git a/Assets/Tests/Runtime/MutableObjects/MutableObjectTest.cs.meta b/Assets/Tests/Runtime/MutableObjects/MutableObjectTest.cs.meta
deleted file mode 100644
index b7a177b..0000000
--- a/Assets/Tests/Runtime/MutableObjects/MutableObjectTest.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: 5bbda50d14e74a35bd32132806e167f5
-timeCreated: 1602069656
\ No newline at end of file
diff --git a/Assets/package.json b/Assets/package.json
deleted file mode 100644
index 439a552..0000000
--- a/Assets/package.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "name": "com.chark.unity-scriptable-objects",
- "displayName": "Unity Scriptable Objects",
- "author": {
- "name": "Chark",
- "url": "https://chark.io"
- },
- "version": "1.1.0",
- "unity": "2019.4",
- "description": "Provides Game Events and their respective listeners. Includes Mutable Scriptable Objects for injecting and using shared data.",
- "samples": [
- {
- "displayName": "Game Events",
- "description": "Shows how to use game events and listeners with individual prefabs.",
- "path": "Samples/GameEvents"
- },
- {
- "displayName": "Mutable Objects",
- "description": "Shows how to use mutable objects.",
- "path": "Samples/MutableObjects"
- }
- ]
-}
diff --git a/Chark.UnityScriptableObjects.Editor.csproj.DotSettings b/Chark.ScriptableEvents.Editor.csproj.DotSettings
similarity index 100%
rename from Chark.UnityScriptableObjects.Editor.csproj.DotSettings
rename to Chark.ScriptableEvents.Editor.csproj.DotSettings
diff --git a/Chark.UnityScriptableObjects.Samples.csproj.DotSettings b/Chark.ScriptableEvents.Samples.csproj.DotSettings
similarity index 51%
rename from Chark.UnityScriptableObjects.Samples.csproj.DotSettings
rename to Chark.ScriptableEvents.Samples.csproj.DotSettings
index e7843ae..960f274 100644
--- a/Chark.UnityScriptableObjects.Samples.csproj.DotSettings
+++ b/Chark.ScriptableEvents.Samples.csproj.DotSettings
@@ -1,5 +1,3 @@
True
- True
- False
- True
\ No newline at end of file
+ True
\ No newline at end of file
diff --git a/Chark.UnityScriptableObjects.Tests.csproj.DotSettings b/Chark.ScriptableEvents.Tests.csproj.DotSettings
similarity index 100%
rename from Chark.UnityScriptableObjects.Tests.csproj.DotSettings
rename to Chark.ScriptableEvents.Tests.csproj.DotSettings
diff --git a/Chark.UnityScriptableObjects.csproj.DotSettings b/Chark.ScriptableEvents.csproj.DotSettings
similarity index 100%
rename from Chark.UnityScriptableObjects.csproj.DotSettings
rename to Chark.ScriptableEvents.csproj.DotSettings
diff --git a/LICENSE.md b/LICENSE.md
index dd06153..eb92704 100644
--- a/LICENSE.md
+++ b/LICENSE.md
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2020 CHARK
+Copyright (c) 2021 CHARK
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/Makefile b/Makefile
deleted file mode 100644
index e24b362..0000000
--- a/Makefile
+++ /dev/null
@@ -1,2 +0,0 @@
-deploy:
- git subtree push --prefix Assets origin upm
diff --git a/Packages/com.chark.scriptable-events/CHANGELOG.md b/Packages/com.chark.scriptable-events/CHANGELOG.md
new file mode 100644
index 0000000..75b3aff
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/CHANGELOG.md
@@ -0,0 +1,14 @@
+# Changelog
+All notable changes to this project will be documented in this file.
+
+The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
+and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+
+## [1.0.0] - 2021-01-25
+Initial release, here we list changes made after moving away from [Unity Scriptable Objects](https://github.com/chark/unity-scriptable-objects).
+
+### Changed
+- Naming of events, `*GameEvent` -> `*ScriptableEvent`.
+- Rewrote event, listener and inspector GUI APIs.
+- Rewrote test code.
+- Documentation to only focus on events.
diff --git a/Assets/CHANGELOG.md.meta b/Packages/com.chark.scriptable-events/CHANGELOG.md.meta
similarity index 75%
rename from Assets/CHANGELOG.md.meta
rename to Packages/com.chark.scriptable-events/CHANGELOG.md.meta
index 003b42d..8b04bbd 100644
--- a/Assets/CHANGELOG.md.meta
+++ b/Packages/com.chark.scriptable-events/CHANGELOG.md.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 50664326471aadf4db8163c4cbf2a1a5
+guid: f5e96cf6cda85a449bb3311c0beacf61
TextScriptImporter:
externalObjects: {}
userData:
diff --git a/Packages/com.chark.scriptable-events/Documentation~/README.md b/Packages/com.chark.scriptable-events/Documentation~/README.md
new file mode 100644
index 0000000..b6dbcf6
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Documentation~/README.md
@@ -0,0 +1,219 @@
+# Documentation
+Most of the documented features can be imported as samples via Unity Package Manager or taken directly from [Samples](../Samples%7E) directory.
+
+## Table of contents
+- [General](#general)
+- [Simple events](#simple-events)
+- [Events with arguments](#events-with-arguments)
+- [Custom events](#custom-events)
+
+## General
+
+### Tips
+- When creating prefabs, event assets can be referenced in them. Then when you add in your prefabs into a scene, no additional setup is necessary!
+- Event assets can be used to communicate between scenes, this is particularly useful when using [Multi Scene Editing](https://docs.unity3d.com/Manual/MultiSceneEditing.html).
+
+### Event asset GUI
+
+
+
+
+- Description - custom description for the event, what it does, etc, [Rich Text](https://docs.unity3d.com/Packages/com.unity.ugui@1.0/manual/StyledText.html) is also supported.
+- Lock button - disables the _Description_ field, useful to avoid accidental edits.
+- Suppress Exceptions - if an event has more than one listener, the first listener to throw an exception will break the chain. When enabled, the exception will get logged and other listeners will continue firing.
+- Trace - enable additional logging.
+- Raise Event - _Raise_ the event, available only in Play Mode.
+- Added Listeners - shows listeners which are subscribed to the event, available only in Play Mode.
+
+## Simple Events
+Simple events are useful when you need to _ping_ a `MonoBehaviour` in order to trigger an action. For example, the player loses, and the game needs to show a game over screen (complete example can be found [here](../Samples~/SimpleEvents)).
+
+### Event asset
+To create a simple event, _right click_ in the _Project_ window, and select _Create -> Scriptable Events -> Simple Scriptable Event_. This will create a `SimpleScriptableEvent` asset file, you can name the file however you like and place it anywhere in your project.
+
+### Raise event
+After you have prepared the event, you will want to _Raise_ it. This can be done by dragging the event asset into any `UnityEvent` available on one of your `MonoBehaviour` and selecting the `Raise` method:
+
+
+
+
+Alternatively you can _Raise_ the event from within a script:
+```cs
+[SerializedField]
+private SimpleScriptableEvent simpleScriptableEvent;
+
+...
+
+simpleScriptableEvent.Raise();
+```
+
+### Event listener
+Next thing you will need is a listener, select any `GameObject` in the scene, click _Add Component_ and select _Scriptable Events -> Simple Scriptable Event Listener_. Then, slot in the event asset in _Scriptable Event_ field and add a callback to the _On Raised_ `UnityEvent` under the listener which will invoke a method on a `MonoBehaviour`:
+
+
+
+
+Alternatively, you can subscribe to an event via a script:
+```cs
+public class CustomListener : MonoBehaviour, IScriptableEventListener
+{
+ [SerializeField]
+ private SimpleScriptableEvent simpleScriptableEvent;
+
+ public void OnRaised(SimpleArg arg)
+ {
+ // Handle event.
+ }
+
+ private void OnEnable()
+ {
+ simpleScriptableEvent.Add(this);
+ }
+
+ private void OnDisable()
+ {
+ simpleScriptableEvent.Remove(this);
+ }
+}
+```
+
+## Events with arguments
+Events with arguments are useful when you need to pass around data instead of just _pinging_. For example, the player picks up a coin, and you need to increment the score counter by a certain amount based on the coins value (complete example can be found [here](../Samples~/EventsWithArguments)).
+
+### Event asset
+To create an event with an argument, the approach is similar to [Simple Events](#simple-events). Simply _right click_ in the _Project_ window, and select _Create -> Scriptable Events -> {Type} Scriptable Event_, where _{Type}_ is the type of the data you want to pass.
+
+### Raise event
+To _Raise_ event with an argument, you will first need a `UnityEvent` that accepts a value of desired type. For each `ScriptableEvent` exists a `UnityEvent` with given type (see `ScriptableEvents.{Type}.{Type}UnityEvent` for existing implementations).
+
+After that is sorted, you will need to expose the `UnityEvent` and `Invoke` it in your script, for example a `UnityEvent` that accepts `float` would looks like:
+```cs
+[SerializedField]
+private ScriptableEvents.Float.FloatUnityEvent floatUnityEvent;
+
+...
+
+floatUnityEvent.Invoke(1.0f);
+```
+
+Then, to raise the `ScriptableEvent`, drag it into the exposed `UnityEvent` of specific type and select the **Dynamic** `Raise` method. This will ensure that the value passed to the `UnityEvent` gets forwarded to the `Raise` method:
+
+
+
+
+Alternatively, you can _Raise_ the event from a script:
+```cs
+[SerializedField]
+private FloatScriptableEvent floatScriptableEvent;
+
+...
+
+floatScriptableEvent.Raise(1.0f);
+```
+
+### Event listener
+Next thing you will need is a listener. The approach of adding a listener is similar to [Simple Events](#simple-events) as well. Select any `GameObject` in the scene, click _Add Component_ and select _Scriptable Events -> {Type} Scriptable Event Listener_. The only difference is that when selecting your method, you must select a **Dynamic** method.
+
+When subscribing via a script, you will also need to specify a different type argument rather than using `SimpleArg`, in this example `float` is used:
+```cs
+public class CustomListener : MonoBehaviour, IScriptableEventListener
+{
+ [SerializeField]
+ private FloatScriptableEvent floatScriptableEvent;
+
+ public void OnRaised(float arg)
+ {
+ // Handle event.
+ }
+
+ private void OnEnable()
+ {
+ floatScriptableEvent.Add(this);
+ }
+
+ private void OnDisable()
+ {
+ floatScriptableEvent.Remove(this);
+ }
+}
+```
+
+## Custom Events
+You can also create custom events where you can pass any kind of data. For example, the player loses, and you want to send the reference to the player, and the enemy which collided with the player (complete example can be found [here](../Samples~/CustomEvents)).
+
+First define the data that you want to send:
+```cs
+public class CustomData
+{
+ public float ValueA { get; }
+
+ public int ValueB { get; }
+
+ public MaterialData(float valueA, int valueB)
+ {
+ ValueA = valueA;
+ ValueB = valueB;
+ }
+}
+```
+
+Similarly to [Events with arguments](#events-with-arguments) you will need a `UnityEvent` which accepts your custom data type:
+```cs
+[Serializable]
+public CustomDataUnityEvent : UnityEvent
+{
+}
+```
+
+Next up, define the scriptable event:
+```cs
+[CreateAssetMenu(
+ fileName = "CustomDataScriptableEvent",
+ menuName = "Custom Scriptable Events/Custom Data Scriptable Event"
+)]
+public class CustomDataScriptableEvent : BaseScriptableEvent
+{
+}
+```
+
+Finally, create a listener which will glue everything together:
+```cs
+[AddComponentMenu("Custom Scriptable Events/Custom Data Event Listener")]
+public class CustomDataScriptableEventListener
+ : BaseScriptableEventListener<
+ CustomDataScriptableEvent,
+ CustomDataUnityEvent,
+ CustomData
+ >
+{
+}
+```
+
+After setting everything, you can use your custom event the same way as described in [Events with arguments](#events-with-arguments). However, you will not be able to use additional GUI features as with built-in events. To solve this, define a custom editor script (make sure to place it under `Editor` directory):
+```cs
+[CustomEditor(typeof(CustomDataScriptableEvent))]
+public class CustomDataScriptableEventEditor : BaseScriptableEventEditor
+{
+ protected override CustomData DrawArgField(CustomData value)
+ {
+ // Initially the value will be null as BaseScriptableEventEditor does not know how to
+ // construct an instance of CustomData.
+ if (value == null)
+ {
+ return new CustomData(0f, 0);
+ }
+
+ // Add input fields under the inspector. Note that these can also be objects - you can drag
+ // them in from the scene window!
+
+ // Also note that you can omit this step if your data is complex. For example,
+ // SimpleScriptableEvent does not render any fields.
+ EditorGUILayout.BeginVertical();
+ var valueA = EditorGUILayout.FloatField("Value A", value.ValueA);
+ var valueB = EditorGUILayout.IntField("Value B", value.ValueB);
+ EditorGUILayout.EndVertical();
+
+ return new CustomData(valueA, valueB);
+ }
+}
+```
diff --git a/Packages/com.chark.scriptable-events/Documentation~/argument-event-raise.png b/Packages/com.chark.scriptable-events/Documentation~/argument-event-raise.png
new file mode 100644
index 0000000..ed531f5
Binary files /dev/null and b/Packages/com.chark.scriptable-events/Documentation~/argument-event-raise.png differ
diff --git a/Packages/com.chark.scriptable-events/Documentation~/simple-event-listener.png b/Packages/com.chark.scriptable-events/Documentation~/simple-event-listener.png
new file mode 100644
index 0000000..21996cd
Binary files /dev/null and b/Packages/com.chark.scriptable-events/Documentation~/simple-event-listener.png differ
diff --git a/Packages/com.chark.scriptable-events/Documentation~/simple-event-raise.png b/Packages/com.chark.scriptable-events/Documentation~/simple-event-raise.png
new file mode 100644
index 0000000..de3ef4d
Binary files /dev/null and b/Packages/com.chark.scriptable-events/Documentation~/simple-event-raise.png differ
diff --git a/Packages/com.chark.scriptable-events/Documentation~/simple-event.png b/Packages/com.chark.scriptable-events/Documentation~/simple-event.png
new file mode 100644
index 0000000..0c6b3ce
Binary files /dev/null and b/Packages/com.chark.scriptable-events/Documentation~/simple-event.png differ
diff --git a/Assets/Editor.meta b/Packages/com.chark.scriptable-events/Editor.meta
similarity index 100%
rename from Assets/Editor.meta
rename to Packages/com.chark.scriptable-events/Editor.meta
diff --git a/Packages/com.chark.scriptable-events/Editor/BaseScriptableEventEditor.cs b/Packages/com.chark.scriptable-events/Editor/BaseScriptableEventEditor.cs
new file mode 100644
index 0000000..b9ee7d9
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Editor/BaseScriptableEventEditor.cs
@@ -0,0 +1,249 @@
+using System.Reflection;
+using UnityEditor;
+using UnityEngine;
+using Object = UnityEngine.Object;
+
+namespace ScriptableEvents.Editor
+{
+ [CanEditMultipleObjects]
+ public abstract class BaseScriptableEventEditor : UnityEditor.Editor
+ {
+ #region Fields
+
+ // Reflection.
+ private const BindingFlags PrivateFieldBindingFlags =
+ BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.DeclaredOnly;
+
+ // Labels.
+ private GUIContent descriptionLabelContent;
+ private GUIContent suppressExceptionsLabelContent;
+ private GUIContent traceLabelContent;
+ private GUIContent raiseLabelContent;
+ private GUIContent listenerLabelContent;
+
+ // Target properties.
+ private BaseScriptableEvent scriptableEvent;
+ private MonoScript monoScript;
+
+ // Cached properties.
+ private SerializedProperty descriptionProperty;
+ private SerializedProperty lockDescriptionProperty;
+ private SerializedProperty suppressExceptionsProperty;
+ private SerializedProperty traceProperty;
+
+ // Cached styles.
+ private GUIStyle descriptionLockStyle;
+ private GUIStyle descriptionStyle;
+ private float descriptionWidth;
+
+ private TArg argValue;
+
+ #endregion
+
+ #region Unity Lifecycle
+
+ public void OnEnable()
+ {
+ descriptionLabelContent = CreateLabelContent("description");
+ suppressExceptionsLabelContent = CreateLabelContent("suppressExceptions");
+ traceLabelContent = CreateLabelContent("trace");
+ raiseLabelContent = new GUIContent(
+ "Raise Event",
+ "Raise event and trigger added listeners (play mode only)"
+ );
+ listenerLabelContent = new GUIContent(
+ "Added Listeners",
+ "Added listeners to this event (play mode only)"
+ );
+
+ scriptableEvent = target as BaseScriptableEvent;
+ monoScript = MonoScript.FromScriptableObject(scriptableEvent);
+
+ descriptionProperty = serializedObject.FindProperty("description");
+ lockDescriptionProperty = serializedObject.FindProperty("lockDescription");
+ suppressExceptionsProperty = serializedObject.FindProperty("suppressExceptions");
+ traceProperty = serializedObject.FindProperty("trace");
+ }
+
+ public override void OnInspectorGUI()
+ {
+ DrawMonoScript();
+
+ EditorGUI.BeginChangeCheck();
+
+ SetupStyles();
+ DrawDescription();
+
+ EditorGUILayout.Space();
+ DrawSuppressExceptions();
+ DrawTrace();
+
+ EditorGUILayout.Space();
+ DrawRaise();
+
+ if (EditorGUI.EndChangeCheck())
+ {
+ serializedObject.ApplyModifiedProperties();
+ }
+
+ EditorGUILayout.Space();
+ DrawListeners();
+ }
+
+ #endregion
+
+ #region Overrides
+
+ ///
+ /// Value that is entered in the event argument field.
+ ///
+ protected abstract TArg DrawArgField(TArg value);
+
+ #endregion
+
+ #region Methods
+
+ private static GUIContent CreateLabelContent(string fieldName)
+ {
+ var text = ObjectNames.NicifyVariableName(fieldName);
+
+ // ReSharper disable once AssignNullToNotNullAttribute
+ var tooltip = typeof(BaseScriptableEvent)
+ .GetField(fieldName, PrivateFieldBindingFlags)
+ .GetCustomAttribute()
+ .tooltip;
+
+ return new GUIContent(text, tooltip);
+ }
+
+ private void DrawMonoScript()
+ {
+ GUI.enabled = false;
+ EditorGUILayout.ObjectField("Script", monoScript, scriptableEvent.GetType(), false);
+ GUI.enabled = true;
+ }
+
+ private void SetupStyles()
+ {
+ if (descriptionLockStyle == null)
+ {
+ descriptionLockStyle = GUI.skin.GetStyle("IN LockButton");
+ }
+
+ if (descriptionStyle == null)
+ {
+ descriptionStyle = new GUIStyle(EditorStyles.textArea)
+ {
+ richText = true,
+ wordWrap = true
+ };
+ }
+
+ if (descriptionWidth <= 0)
+ {
+ var descriptionLabelSize = EditorStyles.label.CalcSize(descriptionLabelContent);
+ descriptionWidth = descriptionLabelSize.x;
+ }
+ }
+
+ private void DrawDescription()
+ {
+ // Label.
+ EditorGUILayout.LabelField(descriptionLabelContent);
+
+ // Label position.
+ var position = GUILayoutUtility.GetLastRect();
+ position.width = descriptionLockStyle.fixedWidth;
+ position.x = position.xMin + descriptionWidth;
+
+ // Lock button.
+ lockDescriptionProperty.boolValue = EditorGUI.Toggle(
+ position,
+ GUIContent.none,
+ lockDescriptionProperty.boolValue,
+ descriptionLockStyle
+ );
+
+ // Text.
+ GUI.enabled = !lockDescriptionProperty.boolValue;
+ descriptionProperty.stringValue = EditorGUILayout.TextArea(
+ descriptionProperty.stringValue,
+ descriptionStyle
+ );
+
+ GUI.enabled = true;
+ }
+
+ private void DrawSuppressExceptions()
+ {
+ suppressExceptionsProperty.boolValue = EditorGUILayout.Toggle(
+ suppressExceptionsLabelContent,
+ suppressExceptionsProperty.boolValue
+ );
+ }
+
+ private void DrawTrace()
+ {
+ traceProperty.boolValue = EditorGUILayout.Toggle(
+ traceLabelContent,
+ traceProperty.boolValue
+ );
+ }
+
+ private void DrawRaise()
+ {
+ // Label.
+ EditorGUILayout.LabelField(raiseLabelContent);
+ GUI.enabled = Application.isPlaying;
+
+ // Edit mode input.
+ GUILayout.BeginHorizontal();
+
+ argValue = DrawArgField(argValue);
+ if (GUILayout.Button("Raise"))
+ {
+ scriptableEvent.Raise(argValue);
+ }
+
+ GUILayout.EndHorizontal();
+ GUI.enabled = true;
+ }
+
+ private void DrawListeners()
+ {
+ EditorGUILayout.LabelField(listenerLabelContent);
+
+ // Edit mode info.
+ if (!Application.isPlaying)
+ {
+ EditorGUILayout.HelpBox(
+ "Added listeners will be displayed here",
+ MessageType.Info
+ );
+
+ return;
+ }
+
+ // Play mode info.
+ if (scriptableEvent.Listeners.Count == 0)
+ {
+ EditorGUILayout.HelpBox(
+ "There are no listeners added to this event",
+ MessageType.Warning
+ );
+
+ return;
+ }
+
+ foreach (var listener in scriptableEvent.Listeners)
+ {
+ if (listener is MonoBehaviour behaviour)
+ {
+ EditorGUILayout.ObjectField(behaviour, typeof(Object), true);
+ }
+ }
+ }
+
+ #endregion
+ }
+}
diff --git a/Packages/com.chark.scriptable-events/Editor/BaseScriptableEventEditor.cs.meta b/Packages/com.chark.scriptable-events/Editor/BaseScriptableEventEditor.cs.meta
new file mode 100644
index 0000000..484f239
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Editor/BaseScriptableEventEditor.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 71bc42aedc0346228c8a9bc64767ced5
+timeCreated: 1611217275
\ No newline at end of file
diff --git a/Packages/com.chark.scriptable-events/Editor/BoolScriptableEventEditor.cs b/Packages/com.chark.scriptable-events/Editor/BoolScriptableEventEditor.cs
new file mode 100644
index 0000000..6a71643
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Editor/BoolScriptableEventEditor.cs
@@ -0,0 +1,14 @@
+using ScriptableEvents.Bool;
+using UnityEditor;
+
+namespace ScriptableEvents.Editor
+{
+ [CustomEditor(typeof(BoolScriptableEvent))]
+ public class BoolScriptableEventEditor : BaseScriptableEventEditor
+ {
+ protected override bool DrawArgField(bool value)
+ {
+ return EditorGUILayout.Toggle(value);
+ }
+ }
+}
diff --git a/Assets/Editor/GameEvents/Bool/BoolGameEventEditor.cs.meta b/Packages/com.chark.scriptable-events/Editor/BoolScriptableEventEditor.cs.meta
similarity index 100%
rename from Assets/Editor/GameEvents/Bool/BoolGameEventEditor.cs.meta
rename to Packages/com.chark.scriptable-events/Editor/BoolScriptableEventEditor.cs.meta
diff --git a/Packages/com.chark.scriptable-events/Editor/Chark.ScriptableEvents.Editor.asmdef b/Packages/com.chark.scriptable-events/Editor/Chark.ScriptableEvents.Editor.asmdef
new file mode 100644
index 0000000..9b57c3a
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Editor/Chark.ScriptableEvents.Editor.asmdef
@@ -0,0 +1,10 @@
+{
+ "name": "Chark.ScriptableEvents.Editor",
+ "rootNamespace": "ScriptableEvents.Editor",
+ "references": [
+ "Chark.ScriptableEvents"
+ ],
+ "includePlatforms": [
+ "Editor"
+ ]
+}
diff --git a/Assets/Editor/Chark.UnityScriptableObjects.Editor.asmdef.meta b/Packages/com.chark.scriptable-events/Editor/Chark.ScriptableEvents.Editor.asmdef.meta
similarity index 100%
rename from Assets/Editor/Chark.UnityScriptableObjects.Editor.asmdef.meta
rename to Packages/com.chark.scriptable-events/Editor/Chark.ScriptableEvents.Editor.asmdef.meta
diff --git a/Packages/com.chark.scriptable-events/Editor/FloatScriptableEventEditor.cs b/Packages/com.chark.scriptable-events/Editor/FloatScriptableEventEditor.cs
new file mode 100644
index 0000000..13ec164
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Editor/FloatScriptableEventEditor.cs
@@ -0,0 +1,14 @@
+using ScriptableEvents.Float;
+using UnityEditor;
+
+namespace ScriptableEvents.Editor
+{
+ [CustomEditor(typeof(FloatScriptableEvent))]
+ public class FloatScriptableEventEditor : BaseScriptableEventEditor
+ {
+ protected override float DrawArgField(float value)
+ {
+ return EditorGUILayout.FloatField(value);
+ }
+ }
+}
diff --git a/Assets/Editor/GameEvents/Float/FloatGameEventEditor.cs.meta b/Packages/com.chark.scriptable-events/Editor/FloatScriptableEventEditor.cs.meta
similarity index 100%
rename from Assets/Editor/GameEvents/Float/FloatGameEventEditor.cs.meta
rename to Packages/com.chark.scriptable-events/Editor/FloatScriptableEventEditor.cs.meta
diff --git a/Packages/com.chark.scriptable-events/Editor/GameObjectScriptableEventEditor.cs b/Packages/com.chark.scriptable-events/Editor/GameObjectScriptableEventEditor.cs
new file mode 100644
index 0000000..8aae0e1
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Editor/GameObjectScriptableEventEditor.cs
@@ -0,0 +1,17 @@
+using ScriptableEvents.GameObject;
+using UnityEditor;
+
+namespace ScriptableEvents.Editor
+{
+ [CustomEditor(typeof(GameObjectScriptableEvent))]
+ public class GameObjectScriptableEventEditor : BaseScriptableEventEditor
+ {
+ protected override UnityEngine.GameObject DrawArgField(UnityEngine.GameObject value)
+ {
+ var fieldValue = EditorGUILayout
+ .ObjectField(value, typeof(UnityEngine.GameObject), true);
+
+ return fieldValue as UnityEngine.GameObject;
+ }
+ }
+}
diff --git a/Assets/Editor/GameEvents/Transform/GameObjectGameEventEditor.cs.meta b/Packages/com.chark.scriptable-events/Editor/GameObjectScriptableEventEditor.cs.meta
similarity index 100%
rename from Assets/Editor/GameEvents/Transform/GameObjectGameEventEditor.cs.meta
rename to Packages/com.chark.scriptable-events/Editor/GameObjectScriptableEventEditor.cs.meta
diff --git a/Packages/com.chark.scriptable-events/Editor/IntScriptableEventEditor.cs b/Packages/com.chark.scriptable-events/Editor/IntScriptableEventEditor.cs
new file mode 100644
index 0000000..bc40657
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Editor/IntScriptableEventEditor.cs
@@ -0,0 +1,14 @@
+using ScriptableEvents.Int;
+using UnityEditor;
+
+namespace ScriptableEvents.Editor
+{
+ [CustomEditor(typeof(IntScriptableEvent))]
+ public class IntScriptableEventEditor : BaseScriptableEventEditor
+ {
+ protected override int DrawArgField(int value)
+ {
+ return EditorGUILayout.IntField(value);
+ }
+ }
+}
diff --git a/Assets/Editor/GameEvents/Int/IntGameEventEditor.cs.meta b/Packages/com.chark.scriptable-events/Editor/IntScriptableEventEditor.cs.meta
similarity index 100%
rename from Assets/Editor/GameEvents/Int/IntGameEventEditor.cs.meta
rename to Packages/com.chark.scriptable-events/Editor/IntScriptableEventEditor.cs.meta
diff --git a/Packages/com.chark.scriptable-events/Editor/SimpleScriptableEventEditor.cs b/Packages/com.chark.scriptable-events/Editor/SimpleScriptableEventEditor.cs
new file mode 100644
index 0000000..eb0d955
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Editor/SimpleScriptableEventEditor.cs
@@ -0,0 +1,15 @@
+using ScriptableEvents.Simple;
+using UnityEditor;
+
+namespace ScriptableEvents.Editor
+{
+ [CustomEditor(typeof(SimpleScriptableEvent))]
+ public class SimpleScriptableEventEditor : BaseScriptableEventEditor
+ {
+ protected override SimpleArg DrawArgField(SimpleArg value)
+ {
+ // SimpleScriptableEvent "doesn't take" an arg.
+ return value;
+ }
+ }
+}
diff --git a/Packages/com.chark.scriptable-events/Editor/SimpleScriptableEventEditor.cs.meta b/Packages/com.chark.scriptable-events/Editor/SimpleScriptableEventEditor.cs.meta
new file mode 100644
index 0000000..3da8b44
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Editor/SimpleScriptableEventEditor.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: f53c2ce1f4654ed58dbf78ae486a448d
+timeCreated: 1611217717
\ No newline at end of file
diff --git a/Packages/com.chark.scriptable-events/Editor/StringScriptableEventEditor.cs b/Packages/com.chark.scriptable-events/Editor/StringScriptableEventEditor.cs
new file mode 100644
index 0000000..ca21e67
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Editor/StringScriptableEventEditor.cs
@@ -0,0 +1,14 @@
+using ScriptableEvents.String;
+using UnityEditor;
+
+namespace ScriptableEvents.Editor
+{
+ [CustomEditor(typeof(StringScriptableEvent))]
+ public class StringScriptableEventEditor : BaseScriptableEventEditor
+ {
+ protected override string DrawArgField(string value)
+ {
+ return EditorGUILayout.TextField(value);
+ }
+ }
+}
diff --git a/Assets/Editor/GameEvents/String/StringGameEventEditor.cs.meta b/Packages/com.chark.scriptable-events/Editor/StringScriptableEventEditor.cs.meta
similarity index 100%
rename from Assets/Editor/GameEvents/String/StringGameEventEditor.cs.meta
rename to Packages/com.chark.scriptable-events/Editor/StringScriptableEventEditor.cs.meta
diff --git a/Packages/com.chark.scriptable-events/Editor/TransformScriptableEventEditor.cs b/Packages/com.chark.scriptable-events/Editor/TransformScriptableEventEditor.cs
new file mode 100644
index 0000000..00130bb
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Editor/TransformScriptableEventEditor.cs
@@ -0,0 +1,17 @@
+using ScriptableEvents.Transform;
+using UnityEditor;
+
+namespace ScriptableEvents.Editor
+{
+ [CustomEditor(typeof(TransformScriptableEvent))]
+ public class TransformScriptableEventEditor : BaseScriptableEventEditor
+ {
+ protected override UnityEngine.Transform DrawArgField(UnityEngine.Transform value)
+ {
+ var fieldValue = EditorGUILayout
+ .ObjectField(value, typeof(UnityEngine.Transform), true);
+
+ return fieldValue as UnityEngine.Transform;
+ }
+ }
+}
diff --git a/Packages/com.chark.scriptable-events/Editor/TransformScriptableEventEditor.cs.meta b/Packages/com.chark.scriptable-events/Editor/TransformScriptableEventEditor.cs.meta
new file mode 100644
index 0000000..34a91fe
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Editor/TransformScriptableEventEditor.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 63fc5c913a8f47629857734fb0765467
+timeCreated: 1611219840
\ No newline at end of file
diff --git a/Packages/com.chark.scriptable-events/Editor/Vector2ScriptableEventEditor.cs b/Packages/com.chark.scriptable-events/Editor/Vector2ScriptableEventEditor.cs
new file mode 100644
index 0000000..d3c97e3
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Editor/Vector2ScriptableEventEditor.cs
@@ -0,0 +1,15 @@
+using ScriptableEvents.Vector2;
+using UnityEditor;
+using UnityEngine;
+
+namespace ScriptableEvents.Editor
+{
+ [CustomEditor(typeof(Vector2ScriptableEvent))]
+ public class Vector2ScriptableEventEditor : BaseScriptableEventEditor
+ {
+ protected override UnityEngine.Vector2 DrawArgField(UnityEngine.Vector2 value)
+ {
+ return EditorGUILayout.Vector2Field(GUIContent.none, value);
+ }
+ }
+}
diff --git a/Assets/Editor/GameEvents/Vector2/Vector2GameEventEditor.cs.meta b/Packages/com.chark.scriptable-events/Editor/Vector2ScriptableEventEditor.cs.meta
similarity index 100%
rename from Assets/Editor/GameEvents/Vector2/Vector2GameEventEditor.cs.meta
rename to Packages/com.chark.scriptable-events/Editor/Vector2ScriptableEventEditor.cs.meta
diff --git a/Packages/com.chark.scriptable-events/Editor/Vector3ScriptableEventEditor.cs b/Packages/com.chark.scriptable-events/Editor/Vector3ScriptableEventEditor.cs
new file mode 100644
index 0000000..8f46395
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Editor/Vector3ScriptableEventEditor.cs
@@ -0,0 +1,15 @@
+using ScriptableEvents.Vector3;
+using UnityEditor;
+using UnityEngine;
+
+namespace ScriptableEvents.Editor
+{
+ [CustomEditor(typeof(Vector3ScriptableEvent))]
+ public class Vector3ScriptableEventEditor : BaseScriptableEventEditor
+ {
+ protected override UnityEngine.Vector3 DrawArgField(UnityEngine.Vector3 value)
+ {
+ return EditorGUILayout.Vector3Field(GUIContent.none, value);
+ }
+ }
+}
diff --git a/Assets/Editor/GameEvents/Vector3/Vector3GameEventEditor.cs.meta b/Packages/com.chark.scriptable-events/Editor/Vector3ScriptableEventEditor.cs.meta
similarity index 100%
rename from Assets/Editor/GameEvents/Vector3/Vector3GameEventEditor.cs.meta
rename to Packages/com.chark.scriptable-events/Editor/Vector3ScriptableEventEditor.cs.meta
diff --git a/Assets/LICENSE.md b/Packages/com.chark.scriptable-events/LICENSE.md
similarity index 95%
rename from Assets/LICENSE.md
rename to Packages/com.chark.scriptable-events/LICENSE.md
index 17c3331..eb92704 100644
--- a/Assets/LICENSE.md
+++ b/Packages/com.chark.scriptable-events/LICENSE.md
@@ -1,6 +1,6 @@
-MIT License
+MIT License
-Copyright (c) 2020 CHARK
+Copyright (c) 2021 CHARK
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/Assets/LICENSE.md.meta b/Packages/com.chark.scriptable-events/LICENSE.md.meta
similarity index 75%
rename from Assets/LICENSE.md.meta
rename to Packages/com.chark.scriptable-events/LICENSE.md.meta
index f91af22..995a43a 100644
--- a/Assets/LICENSE.md.meta
+++ b/Packages/com.chark.scriptable-events/LICENSE.md.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 08f66b2194ffc0d46a0aeb2126cf9591
+guid: 76ac805efdb30d743bfbd2659df8c200
TextScriptImporter:
externalObjects: {}
userData:
diff --git a/Assets/Runtime.meta b/Packages/com.chark.scriptable-events/Runtime.meta
similarity index 100%
rename from Assets/Runtime.meta
rename to Packages/com.chark.scriptable-events/Runtime.meta
diff --git a/Packages/com.chark.scriptable-events/Runtime/BaseScriptableEvent.cs b/Packages/com.chark.scriptable-events/Runtime/BaseScriptableEvent.cs
new file mode 100644
index 0000000..dfd506e
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Runtime/BaseScriptableEvent.cs
@@ -0,0 +1,126 @@
+using System;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace ScriptableEvents
+{
+ public abstract class BaseScriptableEvent : ScriptableObject, IScriptableEvent
+ {
+ #region Editor
+
+ // ReSharper disable once NotAccessedField.Local
+ [SerializeField, TextArea]
+ [Tooltip("Custom description to provide more additional information")]
+ private string description;
+
+ // ReSharper disable once NotAccessedField.Local
+ [SerializeField, HideInInspector]
+ private bool lockDescription = true;
+
+ [SerializeField]
+ [Tooltip("Should exceptions not break the listener chain")]
+ private bool suppressExceptions;
+
+ [SerializeField]
+ [Tooltip("Should additional trace information be logged")]
+ private bool trace;
+
+ #endregion
+
+ #region Fields
+
+ [NonSerialized]
+ private readonly List> listeners
+ = new List>();
+
+ #endregion
+
+ #region Unity Lifecycle
+
+ private void OnDisable()
+ {
+ listeners.Clear();
+ }
+
+ #endregion
+
+ #region Overrides
+
+ public IReadOnlyList> Listeners => listeners;
+
+ public void Raise(TArg arg)
+ {
+ for (var i = listeners.Count - 1; i >= 0; i--)
+ {
+ var listener = listeners[i];
+
+ if (trace)
+ {
+ Trace(listener, arg);
+ }
+
+ if (suppressExceptions)
+ {
+ OnRaiseSuppressed(listener, arg);
+ }
+ else
+ {
+ OnRaise(listener, arg);
+ }
+ }
+ }
+
+ public void Add(IScriptableEventListener listener)
+ {
+ if (listeners.Contains(listener))
+ {
+ return;
+ }
+
+ listeners.Add(listener);
+ }
+
+ public void Remove(IScriptableEventListener listener)
+ {
+ listeners.Remove(listener);
+ }
+
+ public void Clear()
+ {
+ listeners.Clear();
+ }
+
+ #endregion
+
+ #region Methods
+
+ private void Trace(IScriptableEventListener listener, TArg arg)
+ {
+ Debug.Log($"Raise event: {name}, listener: {listener}, arg: {arg}", this);
+ }
+
+ private void OnRaiseSuppressed(IScriptableEventListener listener, TArg arg)
+ {
+ try
+ {
+ listener.OnRaised(arg);
+ }
+ catch (Exception e)
+ {
+ Debug.LogError(
+ $"Listener: {listener} of event: {name} has thrown an exception.",
+ this
+ );
+
+ Debug.LogException(e, this);
+ }
+ }
+
+ private static void OnRaise(IScriptableEventListener listener, TArg arg)
+ {
+ listener.OnRaised(arg);
+ }
+
+ #endregion
+ }
+}
diff --git a/Packages/com.chark.scriptable-events/Runtime/BaseScriptableEvent.cs.meta b/Packages/com.chark.scriptable-events/Runtime/BaseScriptableEvent.cs.meta
new file mode 100644
index 0000000..4c47878
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Runtime/BaseScriptableEvent.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: ad7df0078c084622ad3d7be6fa67cf8d
+timeCreated: 1611166943
\ No newline at end of file
diff --git a/Packages/com.chark.scriptable-events/Runtime/BaseScriptableEventListener.cs b/Packages/com.chark.scriptable-events/Runtime/BaseScriptableEventListener.cs
new file mode 100644
index 0000000..65d17b8
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Runtime/BaseScriptableEventListener.cs
@@ -0,0 +1,57 @@
+using UnityEngine;
+using UnityEngine.Events;
+
+namespace ScriptableEvents
+{
+ public class BaseScriptableEventListener
+ : MonoBehaviour, IScriptableEventListener
+ where TScriptableEvent : BaseScriptableEvent
+ where TUnityEvent : UnityEvent
+ {
+ #region Editor
+
+ [SerializeField]
+ private TScriptableEvent scriptableEvent;
+
+ [Space]
+ [SerializeField]
+ private TUnityEvent onRaised;
+
+ #endregion
+
+ #region Unity Lifecycle
+
+ private void OnEnable()
+ {
+ if (scriptableEvent == null)
+ {
+ Debug.LogError($"{typeof(TScriptableEvent).Name} is not assigned", this);
+ return;
+ }
+
+ scriptableEvent.Add(this);
+ }
+
+ private void OnDisable()
+ {
+ if (scriptableEvent == null)
+ {
+ // Can exit without logging as OnEnable should give enough info.
+ return;
+ }
+
+ scriptableEvent.Remove(this);
+ }
+
+ #endregion
+
+ #region Overrides
+
+ public void OnRaised(TArg arg)
+ {
+ onRaised.Invoke(arg);
+ }
+
+ #endregion
+ }
+}
diff --git a/Packages/com.chark.scriptable-events/Runtime/BaseScriptableEventListener.cs.meta b/Packages/com.chark.scriptable-events/Runtime/BaseScriptableEventListener.cs.meta
new file mode 100644
index 0000000..758c01b
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Runtime/BaseScriptableEventListener.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 0e7519fc695046a4b4a0d24f1d1f60bf
+timeCreated: 1611166971
\ No newline at end of file
diff --git a/Assets/Runtime/GameEvents/Bool.meta b/Packages/com.chark.scriptable-events/Runtime/Bool.meta
similarity index 100%
rename from Assets/Runtime/GameEvents/Bool.meta
rename to Packages/com.chark.scriptable-events/Runtime/Bool.meta
diff --git a/Packages/com.chark.scriptable-events/Runtime/Bool/BoolScriptableEvent.cs b/Packages/com.chark.scriptable-events/Runtime/Bool/BoolScriptableEvent.cs
new file mode 100644
index 0000000..4686836
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Runtime/Bool/BoolScriptableEvent.cs
@@ -0,0 +1,13 @@
+using UnityEngine;
+
+namespace ScriptableEvents.Bool
+{
+ [CreateAssetMenu(
+ fileName = "BoolScriptableEvent",
+ menuName = "Scriptable Events/Bool Scriptable Event",
+ order = 1
+ )]
+ public class BoolScriptableEvent : BaseScriptableEvent
+ {
+ }
+}
diff --git a/Assets/Runtime/GameEvents/Bool/BoolGameEvent.cs.meta b/Packages/com.chark.scriptable-events/Runtime/Bool/BoolScriptableEvent.cs.meta
similarity index 100%
rename from Assets/Runtime/GameEvents/Bool/BoolGameEvent.cs.meta
rename to Packages/com.chark.scriptable-events/Runtime/Bool/BoolScriptableEvent.cs.meta
diff --git a/Packages/com.chark.scriptable-events/Runtime/Bool/BoolScriptableEventListener.cs b/Packages/com.chark.scriptable-events/Runtime/Bool/BoolScriptableEventListener.cs
new file mode 100644
index 0000000..f405d67
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Runtime/Bool/BoolScriptableEventListener.cs
@@ -0,0 +1,10 @@
+using UnityEngine;
+
+namespace ScriptableEvents.Bool
+{
+ [AddComponentMenu("Scriptable Events/Bool Scriptable Event Listener", 1)]
+ public class BoolScriptableEventListener
+ : BaseScriptableEventListener
+ {
+ }
+}
diff --git a/Assets/Runtime/GameEvents/Bool/BoolGameEventListener.cs.meta b/Packages/com.chark.scriptable-events/Runtime/Bool/BoolScriptableEventListener.cs.meta
similarity index 100%
rename from Assets/Runtime/GameEvents/Bool/BoolGameEventListener.cs.meta
rename to Packages/com.chark.scriptable-events/Runtime/Bool/BoolScriptableEventListener.cs.meta
diff --git a/Packages/com.chark.scriptable-events/Runtime/Bool/BoolUnityEvent.cs b/Packages/com.chark.scriptable-events/Runtime/Bool/BoolUnityEvent.cs
new file mode 100644
index 0000000..0e391aa
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Runtime/Bool/BoolUnityEvent.cs
@@ -0,0 +1,10 @@
+using System;
+using UnityEngine.Events;
+
+namespace ScriptableEvents.Bool
+{
+ [Serializable]
+ public class BoolUnityEvent : UnityEvent
+ {
+ }
+}
diff --git a/Assets/Runtime/GameEvents/Bool/BoolEvent.cs.meta b/Packages/com.chark.scriptable-events/Runtime/Bool/BoolUnityEvent.cs.meta
similarity index 100%
rename from Assets/Runtime/GameEvents/Bool/BoolEvent.cs.meta
rename to Packages/com.chark.scriptable-events/Runtime/Bool/BoolUnityEvent.cs.meta
diff --git a/Packages/com.chark.scriptable-events/Runtime/Chark.ScriptableEvents.asmdef b/Packages/com.chark.scriptable-events/Runtime/Chark.ScriptableEvents.asmdef
new file mode 100644
index 0000000..efffc5c
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Runtime/Chark.ScriptableEvents.asmdef
@@ -0,0 +1,4 @@
+{
+ "name": "Chark.ScriptableEvents",
+ "rootNamespace": "ScriptableEvents"
+}
diff --git a/Assets/Runtime/Chark.UnityScriptableObjects.asmdef.meta b/Packages/com.chark.scriptable-events/Runtime/Chark.ScriptableEvents.asmdef.meta
similarity index 100%
rename from Assets/Runtime/Chark.UnityScriptableObjects.asmdef.meta
rename to Packages/com.chark.scriptable-events/Runtime/Chark.ScriptableEvents.asmdef.meta
diff --git a/Assets/Runtime/GameEvents/Float.meta b/Packages/com.chark.scriptable-events/Runtime/Float.meta
similarity index 100%
rename from Assets/Runtime/GameEvents/Float.meta
rename to Packages/com.chark.scriptable-events/Runtime/Float.meta
diff --git a/Packages/com.chark.scriptable-events/Runtime/Float/FloatScriptableEvent.cs b/Packages/com.chark.scriptable-events/Runtime/Float/FloatScriptableEvent.cs
new file mode 100644
index 0000000..30e420d
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Runtime/Float/FloatScriptableEvent.cs
@@ -0,0 +1,13 @@
+using UnityEngine;
+
+namespace ScriptableEvents.Float
+{
+ [CreateAssetMenu(
+ fileName = "FloatScriptableEvent",
+ menuName = "Scriptable Events/Float Scriptable Event",
+ order = 2
+ )]
+ public class FloatScriptableEvent : BaseScriptableEvent
+ {
+ }
+}
diff --git a/Assets/Runtime/GameEvents/Float/FloatGameEvent.cs.meta b/Packages/com.chark.scriptable-events/Runtime/Float/FloatScriptableEvent.cs.meta
similarity index 100%
rename from Assets/Runtime/GameEvents/Float/FloatGameEvent.cs.meta
rename to Packages/com.chark.scriptable-events/Runtime/Float/FloatScriptableEvent.cs.meta
diff --git a/Packages/com.chark.scriptable-events/Runtime/Float/FloatScriptableEventListener.cs b/Packages/com.chark.scriptable-events/Runtime/Float/FloatScriptableEventListener.cs
new file mode 100644
index 0000000..9d1506c
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Runtime/Float/FloatScriptableEventListener.cs
@@ -0,0 +1,10 @@
+using UnityEngine;
+
+namespace ScriptableEvents.Float
+{
+ [AddComponentMenu("Scriptable Events/Float Scriptable Event Listener", 2)]
+ public class FloatScriptableEventListener
+ : BaseScriptableEventListener
+ {
+ }
+}
diff --git a/Assets/Runtime/GameEvents/Float/FloatGameEventListener.cs.meta b/Packages/com.chark.scriptable-events/Runtime/Float/FloatScriptableEventListener.cs.meta
similarity index 100%
rename from Assets/Runtime/GameEvents/Float/FloatGameEventListener.cs.meta
rename to Packages/com.chark.scriptable-events/Runtime/Float/FloatScriptableEventListener.cs.meta
diff --git a/Packages/com.chark.scriptable-events/Runtime/Float/FloatUnityEvent.cs b/Packages/com.chark.scriptable-events/Runtime/Float/FloatUnityEvent.cs
new file mode 100644
index 0000000..ef2bd33
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Runtime/Float/FloatUnityEvent.cs
@@ -0,0 +1,10 @@
+using System;
+using UnityEngine.Events;
+
+namespace ScriptableEvents.Float
+{
+ [Serializable]
+ public class FloatUnityEvent : UnityEvent
+ {
+ }
+}
diff --git a/Assets/Runtime/GameEvents/Float/FloatEvent.cs.meta b/Packages/com.chark.scriptable-events/Runtime/Float/FloatUnityEvent.cs.meta
similarity index 100%
rename from Assets/Runtime/GameEvents/Float/FloatEvent.cs.meta
rename to Packages/com.chark.scriptable-events/Runtime/Float/FloatUnityEvent.cs.meta
diff --git a/Assets/Runtime/GameEvents/GameObject.meta b/Packages/com.chark.scriptable-events/Runtime/GameObject.meta
similarity index 100%
rename from Assets/Runtime/GameEvents/GameObject.meta
rename to Packages/com.chark.scriptable-events/Runtime/GameObject.meta
diff --git a/Packages/com.chark.scriptable-events/Runtime/GameObject/GameObjectGameEventListener.cs b/Packages/com.chark.scriptable-events/Runtime/GameObject/GameObjectGameEventListener.cs
new file mode 100644
index 0000000..95e3fe4
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Runtime/GameObject/GameObjectGameEventListener.cs
@@ -0,0 +1,14 @@
+using UnityEngine;
+
+namespace ScriptableEvents.GameObject
+{
+ [AddComponentMenu("Scriptable Events/Game Object Scriptable Event Listener", 3)]
+ public class GameObjectScriptableEventListener
+ : BaseScriptableEventListener<
+ GameObjectScriptableEvent,
+ GameObjectUnityEvent,
+ UnityEngine.GameObject
+ >
+ {
+ }
+}
diff --git a/Assets/Runtime/GameEvents/GameObject/GameObjectGameEventListener.cs.meta b/Packages/com.chark.scriptable-events/Runtime/GameObject/GameObjectGameEventListener.cs.meta
similarity index 100%
rename from Assets/Runtime/GameEvents/GameObject/GameObjectGameEventListener.cs.meta
rename to Packages/com.chark.scriptable-events/Runtime/GameObject/GameObjectGameEventListener.cs.meta
diff --git a/Packages/com.chark.scriptable-events/Runtime/GameObject/GameObjectScriptableEvent.cs b/Packages/com.chark.scriptable-events/Runtime/GameObject/GameObjectScriptableEvent.cs
new file mode 100644
index 0000000..04ef807
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Runtime/GameObject/GameObjectScriptableEvent.cs
@@ -0,0 +1,13 @@
+using UnityEngine;
+
+namespace ScriptableEvents.GameObject
+{
+ [CreateAssetMenu(
+ fileName = "GameObjectScriptableEvent",
+ menuName = "Scriptable Events/Game Object Scriptable Event",
+ order = 3
+ )]
+ public class GameObjectScriptableEvent : BaseScriptableEvent
+ {
+ }
+}
diff --git a/Assets/Runtime/GameEvents/GameObject/GameObjectGameEvent.cs.meta b/Packages/com.chark.scriptable-events/Runtime/GameObject/GameObjectScriptableEvent.cs.meta
similarity index 100%
rename from Assets/Runtime/GameEvents/GameObject/GameObjectGameEvent.cs.meta
rename to Packages/com.chark.scriptable-events/Runtime/GameObject/GameObjectScriptableEvent.cs.meta
diff --git a/Packages/com.chark.scriptable-events/Runtime/GameObject/GameObjectUnityEvent.cs b/Packages/com.chark.scriptable-events/Runtime/GameObject/GameObjectUnityEvent.cs
new file mode 100644
index 0000000..c73d002
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Runtime/GameObject/GameObjectUnityEvent.cs
@@ -0,0 +1,10 @@
+using System;
+using UnityEngine.Events;
+
+namespace ScriptableEvents.GameObject
+{
+ [Serializable]
+ public class GameObjectUnityEvent : UnityEvent
+ {
+ }
+}
diff --git a/Assets/Runtime/GameEvents/GameObject/GameObjectEvent.cs.meta b/Packages/com.chark.scriptable-events/Runtime/GameObject/GameObjectUnityEvent.cs.meta
similarity index 100%
rename from Assets/Runtime/GameEvents/GameObject/GameObjectEvent.cs.meta
rename to Packages/com.chark.scriptable-events/Runtime/GameObject/GameObjectUnityEvent.cs.meta
diff --git a/Packages/com.chark.scriptable-events/Runtime/IScriptableEvent.cs b/Packages/com.chark.scriptable-events/Runtime/IScriptableEvent.cs
new file mode 100644
index 0000000..37dd2c3
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Runtime/IScriptableEvent.cs
@@ -0,0 +1,32 @@
+using System.Collections.Generic;
+
+namespace ScriptableEvents
+{
+ public interface IScriptableEvent
+ {
+ ///
+ /// List of listeners added to this event.
+ ///
+ IReadOnlyList> Listeners { get; }
+
+ ///
+ /// Raise this event with an argument.
+ ///
+ void Raise(TArg arg);
+
+ ///
+ /// Add a listener to this event.
+ ///
+ void Add(IScriptableEventListener listener);
+
+ ///
+ /// Remove a listener from this event.
+ ///
+ void Remove(IScriptableEventListener listener);
+
+ ///
+ /// Remove all listeners from this event.
+ ///
+ void Clear();
+ }
+}
diff --git a/Packages/com.chark.scriptable-events/Runtime/IScriptableEvent.cs.meta b/Packages/com.chark.scriptable-events/Runtime/IScriptableEvent.cs.meta
new file mode 100644
index 0000000..ddd7e9c
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Runtime/IScriptableEvent.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: f62ff48639d0421598a90127b09a990c
+timeCreated: 1611166784
\ No newline at end of file
diff --git a/Packages/com.chark.scriptable-events/Runtime/IScriptableEventListener.cs b/Packages/com.chark.scriptable-events/Runtime/IScriptableEventListener.cs
new file mode 100644
index 0000000..9000cf4
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Runtime/IScriptableEventListener.cs
@@ -0,0 +1,10 @@
+namespace ScriptableEvents
+{
+ public interface IScriptableEventListener
+ {
+ ///
+ /// Handle raised event by accepting its argument.
+ ///
+ void OnRaised(TArg arg);
+ }
+}
diff --git a/Packages/com.chark.scriptable-events/Runtime/IScriptableEventListener.cs.meta b/Packages/com.chark.scriptable-events/Runtime/IScriptableEventListener.cs.meta
new file mode 100644
index 0000000..ae8370c
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Runtime/IScriptableEventListener.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: d3afe043ca8a4e36bbf19fe482d7ca13
+timeCreated: 1611166884
\ No newline at end of file
diff --git a/Assets/Runtime/GameEvents/Int.meta b/Packages/com.chark.scriptable-events/Runtime/Int.meta
similarity index 100%
rename from Assets/Runtime/GameEvents/Int.meta
rename to Packages/com.chark.scriptable-events/Runtime/Int.meta
diff --git a/Packages/com.chark.scriptable-events/Runtime/Int/IntScriptableEvent.cs b/Packages/com.chark.scriptable-events/Runtime/Int/IntScriptableEvent.cs
new file mode 100644
index 0000000..e1a8b4e
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Runtime/Int/IntScriptableEvent.cs
@@ -0,0 +1,13 @@
+using UnityEngine;
+
+namespace ScriptableEvents.Int
+{
+ [CreateAssetMenu(
+ fileName = "IntScriptableEvent",
+ menuName = "Scriptable Events/Int Scriptable Event",
+ order = 4
+ )]
+ public class IntScriptableEvent : BaseScriptableEvent
+ {
+ }
+}
diff --git a/Assets/Runtime/GameEvents/Int/IntGameEvent.cs.meta b/Packages/com.chark.scriptable-events/Runtime/Int/IntScriptableEvent.cs.meta
similarity index 100%
rename from Assets/Runtime/GameEvents/Int/IntGameEvent.cs.meta
rename to Packages/com.chark.scriptable-events/Runtime/Int/IntScriptableEvent.cs.meta
diff --git a/Packages/com.chark.scriptable-events/Runtime/Int/IntScriptableEventListener.cs b/Packages/com.chark.scriptable-events/Runtime/Int/IntScriptableEventListener.cs
new file mode 100644
index 0000000..0ba00b6
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Runtime/Int/IntScriptableEventListener.cs
@@ -0,0 +1,10 @@
+using UnityEngine;
+
+namespace ScriptableEvents.Int
+{
+ [AddComponentMenu("Scriptable Events/Int Scriptable Event Listener", 4)]
+ public class IntScriptableEventListener
+ : BaseScriptableEventListener
+ {
+ }
+}
diff --git a/Assets/Runtime/GameEvents/Int/IntGameEventListener.cs.meta b/Packages/com.chark.scriptable-events/Runtime/Int/IntScriptableEventListener.cs.meta
similarity index 100%
rename from Assets/Runtime/GameEvents/Int/IntGameEventListener.cs.meta
rename to Packages/com.chark.scriptable-events/Runtime/Int/IntScriptableEventListener.cs.meta
diff --git a/Packages/com.chark.scriptable-events/Runtime/Int/IntUnityEvent.cs b/Packages/com.chark.scriptable-events/Runtime/Int/IntUnityEvent.cs
new file mode 100644
index 0000000..936af16
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Runtime/Int/IntUnityEvent.cs
@@ -0,0 +1,10 @@
+using System;
+using UnityEngine.Events;
+
+namespace ScriptableEvents.Int
+{
+ [Serializable]
+ public class IntUnityEvent : UnityEvent
+ {
+ }
+}
diff --git a/Assets/Runtime/GameEvents/Int/IntEvent.cs.meta b/Packages/com.chark.scriptable-events/Runtime/Int/IntUnityEvent.cs.meta
similarity index 100%
rename from Assets/Runtime/GameEvents/Int/IntEvent.cs.meta
rename to Packages/com.chark.scriptable-events/Runtime/Int/IntUnityEvent.cs.meta
diff --git a/Assets/Runtime/GameEvents/Game.meta b/Packages/com.chark.scriptable-events/Runtime/Simple.meta
similarity index 100%
rename from Assets/Runtime/GameEvents/Game.meta
rename to Packages/com.chark.scriptable-events/Runtime/Simple.meta
diff --git a/Packages/com.chark.scriptable-events/Runtime/Simple/SimpleArg.cs b/Packages/com.chark.scriptable-events/Runtime/Simple/SimpleArg.cs
new file mode 100644
index 0000000..d57d6a8
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Runtime/Simple/SimpleArg.cs
@@ -0,0 +1,11 @@
+namespace ScriptableEvents.Simple
+{
+ public class SimpleArg
+ {
+ public static readonly SimpleArg Instance = new SimpleArg();
+
+ private SimpleArg()
+ {
+ }
+ }
+}
diff --git a/Packages/com.chark.scriptable-events/Runtime/Simple/SimpleArg.cs.meta b/Packages/com.chark.scriptable-events/Runtime/Simple/SimpleArg.cs.meta
new file mode 100644
index 0000000..f57700f
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Runtime/Simple/SimpleArg.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: b613ccfb6b6e458b94acf07de26dbbb2
+timeCreated: 1611167750
\ No newline at end of file
diff --git a/Packages/com.chark.scriptable-events/Runtime/Simple/SimpleScriptableEvent.cs b/Packages/com.chark.scriptable-events/Runtime/Simple/SimpleScriptableEvent.cs
new file mode 100644
index 0000000..6cc08c7
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Runtime/Simple/SimpleScriptableEvent.cs
@@ -0,0 +1,20 @@
+using UnityEngine;
+
+namespace ScriptableEvents.Simple
+{
+ [CreateAssetMenu(
+ fileName = "SimpleScriptableEvent",
+ menuName = "Scriptable Events/Simple Scriptable Event",
+ order = -10
+ )]
+ public class SimpleScriptableEvent : BaseScriptableEvent
+ {
+ ///
+ /// Raise this event without an argument.
+ ///
+ public void Raise()
+ {
+ Raise(SimpleArg.Instance);
+ }
+ }
+}
diff --git a/Packages/com.chark.scriptable-events/Runtime/Simple/SimpleScriptableEvent.cs.meta b/Packages/com.chark.scriptable-events/Runtime/Simple/SimpleScriptableEvent.cs.meta
new file mode 100644
index 0000000..319d375
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Runtime/Simple/SimpleScriptableEvent.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 3ca9d72c0f5043e9b9ed7e25d63422f5
+timeCreated: 1611167731
\ No newline at end of file
diff --git a/Packages/com.chark.scriptable-events/Runtime/Simple/SimpleScriptableEventListener.cs b/Packages/com.chark.scriptable-events/Runtime/Simple/SimpleScriptableEventListener.cs
new file mode 100644
index 0000000..a02c8b7
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Runtime/Simple/SimpleScriptableEventListener.cs
@@ -0,0 +1,10 @@
+using UnityEngine;
+
+namespace ScriptableEvents.Simple
+{
+ [AddComponentMenu("Scriptable Events/Simple Scriptable Event Listener", -10)]
+ public class SimpleScriptableEventListener
+ : BaseScriptableEventListener
+ {
+ }
+}
diff --git a/Packages/com.chark.scriptable-events/Runtime/Simple/SimpleScriptableEventListener.cs.meta b/Packages/com.chark.scriptable-events/Runtime/Simple/SimpleScriptableEventListener.cs.meta
new file mode 100644
index 0000000..e710ebe
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Runtime/Simple/SimpleScriptableEventListener.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 2300d56ac22446e59de6de2fb87235d1
+timeCreated: 1611167874
\ No newline at end of file
diff --git a/Packages/com.chark.scriptable-events/Runtime/Simple/SimpleUnityEvent.cs b/Packages/com.chark.scriptable-events/Runtime/Simple/SimpleUnityEvent.cs
new file mode 100644
index 0000000..f3f7fb9
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Runtime/Simple/SimpleUnityEvent.cs
@@ -0,0 +1,10 @@
+using System;
+using UnityEngine.Events;
+
+namespace ScriptableEvents.Simple
+{
+ [Serializable]
+ public class SimpleUnityEvent : UnityEvent
+ {
+ }
+}
diff --git a/Packages/com.chark.scriptable-events/Runtime/Simple/SimpleUnityEvent.cs.meta b/Packages/com.chark.scriptable-events/Runtime/Simple/SimpleUnityEvent.cs.meta
new file mode 100644
index 0000000..5232043
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Runtime/Simple/SimpleUnityEvent.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 9aae76d7ace94aeba4f40e74b469dd82
+timeCreated: 1611167840
\ No newline at end of file
diff --git a/Assets/Runtime/GameEvents/String.meta b/Packages/com.chark.scriptable-events/Runtime/String.meta
similarity index 100%
rename from Assets/Runtime/GameEvents/String.meta
rename to Packages/com.chark.scriptable-events/Runtime/String.meta
diff --git a/Packages/com.chark.scriptable-events/Runtime/String/StringScriptableEvent.cs b/Packages/com.chark.scriptable-events/Runtime/String/StringScriptableEvent.cs
new file mode 100644
index 0000000..e233148
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Runtime/String/StringScriptableEvent.cs
@@ -0,0 +1,13 @@
+using UnityEngine;
+
+namespace ScriptableEvents.String
+{
+ [CreateAssetMenu(
+ fileName = "StringScriptableEvent",
+ menuName = "Scriptable Events/String Scriptable Event",
+ order = 5
+ )]
+ public class StringScriptableEvent : BaseScriptableEvent
+ {
+ }
+}
diff --git a/Assets/Runtime/GameEvents/String/StringGameEvent.cs.meta b/Packages/com.chark.scriptable-events/Runtime/String/StringScriptableEvent.cs.meta
similarity index 100%
rename from Assets/Runtime/GameEvents/String/StringGameEvent.cs.meta
rename to Packages/com.chark.scriptable-events/Runtime/String/StringScriptableEvent.cs.meta
diff --git a/Packages/com.chark.scriptable-events/Runtime/String/StringScriptableEventListener.cs b/Packages/com.chark.scriptable-events/Runtime/String/StringScriptableEventListener.cs
new file mode 100644
index 0000000..215a848
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Runtime/String/StringScriptableEventListener.cs
@@ -0,0 +1,10 @@
+using UnityEngine;
+
+namespace ScriptableEvents.String
+{
+ [AddComponentMenu("Scriptable Events/String Scriptable Event Listener", 5)]
+ public class StringScriptableEventListener
+ : BaseScriptableEventListener
+ {
+ }
+}
diff --git a/Assets/Runtime/GameEvents/String/StringGameEventListener.cs.meta b/Packages/com.chark.scriptable-events/Runtime/String/StringScriptableEventListener.cs.meta
similarity index 100%
rename from Assets/Runtime/GameEvents/String/StringGameEventListener.cs.meta
rename to Packages/com.chark.scriptable-events/Runtime/String/StringScriptableEventListener.cs.meta
diff --git a/Packages/com.chark.scriptable-events/Runtime/String/StringUnityEvent.cs b/Packages/com.chark.scriptable-events/Runtime/String/StringUnityEvent.cs
new file mode 100644
index 0000000..90ada13
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Runtime/String/StringUnityEvent.cs
@@ -0,0 +1,10 @@
+using System;
+using UnityEngine.Events;
+
+namespace ScriptableEvents.String
+{
+ [Serializable]
+ public class StringUnityEvent : UnityEvent
+ {
+ }
+}
diff --git a/Assets/Runtime/GameEvents/String/StringEvent.cs.meta b/Packages/com.chark.scriptable-events/Runtime/String/StringUnityEvent.cs.meta
similarity index 100%
rename from Assets/Runtime/GameEvents/String/StringEvent.cs.meta
rename to Packages/com.chark.scriptable-events/Runtime/String/StringUnityEvent.cs.meta
diff --git a/Assets/Runtime/GameEvents/Transform.meta b/Packages/com.chark.scriptable-events/Runtime/Transform.meta
similarity index 100%
rename from Assets/Runtime/GameEvents/Transform.meta
rename to Packages/com.chark.scriptable-events/Runtime/Transform.meta
diff --git a/Packages/com.chark.scriptable-events/Runtime/Transform/TransformScriptableEvent.cs b/Packages/com.chark.scriptable-events/Runtime/Transform/TransformScriptableEvent.cs
new file mode 100644
index 0000000..572898b
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Runtime/Transform/TransformScriptableEvent.cs
@@ -0,0 +1,13 @@
+using UnityEngine;
+
+namespace ScriptableEvents.Transform
+{
+ [CreateAssetMenu(
+ fileName = "TransformScriptableEvent",
+ menuName = "Scriptable Events/Transform Scriptable Event",
+ order = 6
+ )]
+ public class TransformScriptableEvent : BaseScriptableEvent
+ {
+ }
+}
diff --git a/Assets/Runtime/GameEvents/Transform/TransformGameEvent.cs.meta b/Packages/com.chark.scriptable-events/Runtime/Transform/TransformScriptableEvent.cs.meta
similarity index 100%
rename from Assets/Runtime/GameEvents/Transform/TransformGameEvent.cs.meta
rename to Packages/com.chark.scriptable-events/Runtime/Transform/TransformScriptableEvent.cs.meta
diff --git a/Packages/com.chark.scriptable-events/Runtime/Transform/TransformScriptableEventListener.cs b/Packages/com.chark.scriptable-events/Runtime/Transform/TransformScriptableEventListener.cs
new file mode 100644
index 0000000..c548218
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Runtime/Transform/TransformScriptableEventListener.cs
@@ -0,0 +1,14 @@
+using UnityEngine;
+
+namespace ScriptableEvents.Transform
+{
+ [AddComponentMenu("Scriptable Events/Transform Scriptable Event Listener", 6)]
+ public class TransformScriptableEventListener
+ : BaseScriptableEventListener<
+ TransformScriptableEvent,
+ TransformUnityEvent,
+ UnityEngine.Transform
+ >
+ {
+ }
+}
diff --git a/Assets/Runtime/GameEvents/Transform/TransformGameEventListener.cs.meta b/Packages/com.chark.scriptable-events/Runtime/Transform/TransformScriptableEventListener.cs.meta
similarity index 100%
rename from Assets/Runtime/GameEvents/Transform/TransformGameEventListener.cs.meta
rename to Packages/com.chark.scriptable-events/Runtime/Transform/TransformScriptableEventListener.cs.meta
diff --git a/Packages/com.chark.scriptable-events/Runtime/Transform/TransformUnityEvent.cs b/Packages/com.chark.scriptable-events/Runtime/Transform/TransformUnityEvent.cs
new file mode 100644
index 0000000..faf3f45
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Runtime/Transform/TransformUnityEvent.cs
@@ -0,0 +1,10 @@
+using System;
+using UnityEngine.Events;
+
+namespace ScriptableEvents.Transform
+{
+ [Serializable]
+ public class TransformUnityEvent : UnityEvent
+ {
+ }
+}
diff --git a/Assets/Runtime/GameEvents/Transform/TransformEvent.cs.meta b/Packages/com.chark.scriptable-events/Runtime/Transform/TransformUnityEvent.cs.meta
similarity index 100%
rename from Assets/Runtime/GameEvents/Transform/TransformEvent.cs.meta
rename to Packages/com.chark.scriptable-events/Runtime/Transform/TransformUnityEvent.cs.meta
diff --git a/Assets/Runtime/GameEvents/Vector2.meta b/Packages/com.chark.scriptable-events/Runtime/Vector2.meta
similarity index 100%
rename from Assets/Runtime/GameEvents/Vector2.meta
rename to Packages/com.chark.scriptable-events/Runtime/Vector2.meta
diff --git a/Packages/com.chark.scriptable-events/Runtime/Vector2/Vector2ScriptableEvent.cs b/Packages/com.chark.scriptable-events/Runtime/Vector2/Vector2ScriptableEvent.cs
new file mode 100644
index 0000000..407177f
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Runtime/Vector2/Vector2ScriptableEvent.cs
@@ -0,0 +1,13 @@
+using UnityEngine;
+
+namespace ScriptableEvents.Vector2
+{
+ [CreateAssetMenu(
+ fileName = "Vector2ScriptableEvent",
+ menuName = "Scriptable Events/Vector2 Scriptable Event",
+ order = 7
+ )]
+ public class Vector2ScriptableEvent : BaseScriptableEvent
+ {
+ }
+}
diff --git a/Assets/Runtime/GameEvents/Vector2/Vector2GameEvent.cs.meta b/Packages/com.chark.scriptable-events/Runtime/Vector2/Vector2ScriptableEvent.cs.meta
similarity index 100%
rename from Assets/Runtime/GameEvents/Vector2/Vector2GameEvent.cs.meta
rename to Packages/com.chark.scriptable-events/Runtime/Vector2/Vector2ScriptableEvent.cs.meta
diff --git a/Packages/com.chark.scriptable-events/Runtime/Vector2/Vector2ScriptableEventListener.cs b/Packages/com.chark.scriptable-events/Runtime/Vector2/Vector2ScriptableEventListener.cs
new file mode 100644
index 0000000..a0109a6
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Runtime/Vector2/Vector2ScriptableEventListener.cs
@@ -0,0 +1,14 @@
+using UnityEngine;
+
+namespace ScriptableEvents.Vector2
+{
+ [AddComponentMenu("Scriptable Events/Vector2 Scriptable Event Listener", 7)]
+ public class Vector2ScriptableEventListener
+ : BaseScriptableEventListener<
+ Vector2ScriptableEvent,
+ Vector2UnityEvent,
+ UnityEngine.Vector2
+ >
+ {
+ }
+}
diff --git a/Assets/Runtime/GameEvents/Vector2/Vector2GameEventListener.cs.meta b/Packages/com.chark.scriptable-events/Runtime/Vector2/Vector2ScriptableEventListener.cs.meta
similarity index 100%
rename from Assets/Runtime/GameEvents/Vector2/Vector2GameEventListener.cs.meta
rename to Packages/com.chark.scriptable-events/Runtime/Vector2/Vector2ScriptableEventListener.cs.meta
diff --git a/Packages/com.chark.scriptable-events/Runtime/Vector2/Vector2UnityEvent.cs b/Packages/com.chark.scriptable-events/Runtime/Vector2/Vector2UnityEvent.cs
new file mode 100644
index 0000000..ede3767
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Runtime/Vector2/Vector2UnityEvent.cs
@@ -0,0 +1,10 @@
+using System;
+using UnityEngine.Events;
+
+namespace ScriptableEvents.Vector2
+{
+ [Serializable]
+ public class Vector2UnityEvent : UnityEvent
+ {
+ }
+}
diff --git a/Assets/Runtime/GameEvents/Vector2/Vector2Event.cs.meta b/Packages/com.chark.scriptable-events/Runtime/Vector2/Vector2UnityEvent.cs.meta
similarity index 100%
rename from Assets/Runtime/GameEvents/Vector2/Vector2Event.cs.meta
rename to Packages/com.chark.scriptable-events/Runtime/Vector2/Vector2UnityEvent.cs.meta
diff --git a/Assets/Runtime/GameEvents/Vector3.meta b/Packages/com.chark.scriptable-events/Runtime/Vector3.meta
similarity index 100%
rename from Assets/Runtime/GameEvents/Vector3.meta
rename to Packages/com.chark.scriptable-events/Runtime/Vector3.meta
diff --git a/Packages/com.chark.scriptable-events/Runtime/Vector3/Vector3ScriptableEvent.cs b/Packages/com.chark.scriptable-events/Runtime/Vector3/Vector3ScriptableEvent.cs
new file mode 100644
index 0000000..5c614f7
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Runtime/Vector3/Vector3ScriptableEvent.cs
@@ -0,0 +1,13 @@
+using UnityEngine;
+
+namespace ScriptableEvents.Vector3
+{
+ [CreateAssetMenu(
+ fileName = "Vector3ScriptableEvent",
+ menuName = "Scriptable Events/Vector3 Scriptable Event",
+ order = 8
+ )]
+ public class Vector3ScriptableEvent : BaseScriptableEvent
+ {
+ }
+}
diff --git a/Assets/Runtime/GameEvents/Vector3/Vector3GameEvent.cs.meta b/Packages/com.chark.scriptable-events/Runtime/Vector3/Vector3ScriptableEvent.cs.meta
similarity index 100%
rename from Assets/Runtime/GameEvents/Vector3/Vector3GameEvent.cs.meta
rename to Packages/com.chark.scriptable-events/Runtime/Vector3/Vector3ScriptableEvent.cs.meta
diff --git a/Packages/com.chark.scriptable-events/Runtime/Vector3/Vector3ScriptableEventListener.cs b/Packages/com.chark.scriptable-events/Runtime/Vector3/Vector3ScriptableEventListener.cs
new file mode 100644
index 0000000..62b5ee9
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Runtime/Vector3/Vector3ScriptableEventListener.cs
@@ -0,0 +1,14 @@
+using UnityEngine;
+
+namespace ScriptableEvents.Vector3
+{
+ [AddComponentMenu("Scriptable Events/Vector3 Scriptable Event Listener", 8)]
+ public class Vector3ScriptableEventListener
+ : BaseScriptableEventListener<
+ Vector3ScriptableEvent,
+ Vector3UnityEvent,
+ UnityEngine.Vector3
+ >
+ {
+ }
+}
diff --git a/Assets/Runtime/GameEvents/Vector3/Vector3GameEventListener.cs.meta b/Packages/com.chark.scriptable-events/Runtime/Vector3/Vector3ScriptableEventListener.cs.meta
similarity index 100%
rename from Assets/Runtime/GameEvents/Vector3/Vector3GameEventListener.cs.meta
rename to Packages/com.chark.scriptable-events/Runtime/Vector3/Vector3ScriptableEventListener.cs.meta
diff --git a/Packages/com.chark.scriptable-events/Runtime/Vector3/Vector3UnityEvent.cs b/Packages/com.chark.scriptable-events/Runtime/Vector3/Vector3UnityEvent.cs
new file mode 100644
index 0000000..a0c35a4
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Runtime/Vector3/Vector3UnityEvent.cs
@@ -0,0 +1,10 @@
+using System;
+using UnityEngine.Events;
+
+namespace ScriptableEvents.Vector3
+{
+ [Serializable]
+ public class Vector3UnityEvent : UnityEvent
+ {
+ }
+}
diff --git a/Assets/Runtime/GameEvents/Vector3/Vector3Event.cs.meta b/Packages/com.chark.scriptable-events/Runtime/Vector3/Vector3UnityEvent.cs.meta
similarity index 100%
rename from Assets/Runtime/GameEvents/Vector3/Vector3Event.cs.meta
rename to Packages/com.chark.scriptable-events/Runtime/Vector3/Vector3UnityEvent.cs.meta
diff --git a/Packages/com.chark.scriptable-events/Samples~/Chark.ScriptableEvents.Samples.asmdef b/Packages/com.chark.scriptable-events/Samples~/Chark.ScriptableEvents.Samples.asmdef
new file mode 100644
index 0000000..48b9d5d
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Samples~/Chark.ScriptableEvents.Samples.asmdef
@@ -0,0 +1,8 @@
+{
+ "name": "Chark.ScriptableEvents.Samples",
+ "rootNamespace": "ScriptableEvents.Samples",
+ "references": [
+ "Chark.ScriptableEvents",
+ "Chark.ScriptableEvents.Editor"
+ ]
+}
diff --git a/Assets/Samples/Chark.UnityScriptableObjects.Samples.asmdef.meta b/Packages/com.chark.scriptable-events/Samples~/Chark.ScriptableEvents.Samples.asmdef.meta
similarity index 100%
rename from Assets/Samples/Chark.UnityScriptableObjects.Samples.asmdef.meta
rename to Packages/com.chark.scriptable-events/Samples~/Chark.ScriptableEvents.Samples.asmdef.meta
diff --git a/Assets/Editor/GameEvents.meta b/Packages/com.chark.scriptable-events/Samples~/CustomEvents.meta
similarity index 77%
rename from Assets/Editor/GameEvents.meta
rename to Packages/com.chark.scriptable-events/Samples~/CustomEvents.meta
index a6e8f61..02f97e6 100644
--- a/Assets/Editor/GameEvents.meta
+++ b/Packages/com.chark.scriptable-events/Samples~/CustomEvents.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: cbcc665b02ec09a4eabb8541ac606e5b
+guid: 669c792519f2e9b4996215c7db31d5ec
folderAsset: yes
DefaultImporter:
externalObjects: {}
diff --git a/Packages/com.chark.scriptable-events/Samples~/CustomEvents/CustomEventsScene.unity b/Packages/com.chark.scriptable-events/Samples~/CustomEvents/CustomEventsScene.unity
new file mode 100644
index 0000000..a3bd611
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Samples~/CustomEvents/CustomEventsScene.unity
@@ -0,0 +1,2210 @@
+%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, g: 0, b: 0, a: 1}
+ m_UseRadianceAmbientProbe: 0
+--- !u!157 &3
+LightmapSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 11
+ m_GIWorkflowMode: 1
+ m_GISettings:
+ serializedVersion: 2
+ m_BounceScale: 1
+ m_IndirectOutputScale: 1
+ m_AlbedoBoost: 1
+ m_EnvironmentLightingMode: 0
+ m_EnableBakedLightmaps: 1
+ m_EnableRealtimeLightmaps: 0
+ m_LightmapEditorSettings:
+ serializedVersion: 12
+ m_Resolution: 2
+ m_BakeResolution: 40
+ m_AtlasSize: 1024
+ m_AO: 0
+ m_AOMaxDistance: 1
+ m_CompAOExponent: 1
+ m_CompAOExponentDirect: 0
+ m_ExtractAmbientOcclusion: 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: 512
+ m_PVRBounces: 2
+ m_PVREnvironmentSampleCount: 256
+ m_PVREnvironmentReferencePointCount: 2048
+ m_PVRFilteringMode: 1
+ m_PVRDenoiserTypeDirect: 1
+ m_PVRDenoiserTypeIndirect: 1
+ m_PVRDenoiserTypeAO: 1
+ m_PVRFilterTypeDirect: 0
+ m_PVRFilterTypeIndirect: 0
+ m_PVRFilterTypeAO: 0
+ m_PVREnvironmentMIS: 1
+ m_PVRCulling: 1
+ m_PVRFilteringGaussRadiusDirect: 1
+ m_PVRFilteringGaussRadiusIndirect: 5
+ m_PVRFilteringGaussRadiusAO: 2
+ m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+ m_PVRFilteringAtrousPositionSigmaIndirect: 2
+ m_PVRFilteringAtrousPositionSigmaAO: 1
+ m_ExportTrainingData: 0
+ m_TrainingDataDestination: TrainingData
+ m_LightProbeSampleCountMultiplier: 4
+ 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 &77099691
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 77099692}
+ - component: {fileID: 77099695}
+ - component: {fileID: 77099694}
+ - component: {fileID: 77099693}
+ m_Layer: 5
+ m_Name: Viewport
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &77099692
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 77099691}
+ 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: 717997524}
+ m_Father: {fileID: 1354972338}
+ 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: -18, y: 0}
+ m_Pivot: {x: 0, y: 1}
+--- !u!114 &77099693
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 77099691}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_ShowMaskGraphic: 0
+--- !u!114 &77099694
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 77099691}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10917, 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
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &77099695
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 77099691}
+ m_CullTransparentMesh: 0
+--- !u!1 &141972452
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 141972453}
+ - component: {fileID: 141972455}
+ - component: {fileID: 141972454}
+ m_Layer: 5
+ m_Name: Label
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &141972453
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 141972452}
+ 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: 505419880}
+ 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: -7.5, y: -0.5}
+ m_SizeDelta: {x: -35, y: -13}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &141972454
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 141972452}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, 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_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ 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: 3
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: White
+--- !u!222 &141972455
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 141972452}
+ m_CullTransparentMesh: 0
+--- !u!1 &476993018
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 476993019}
+ m_Layer: 5
+ m_Name: Sliding Area
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &476993019
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 476993018}
+ 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: 576385275}
+ m_Father: {fileID: 1144044471}
+ 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: -20, y: -20}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &505419879
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 505419880}
+ - component: {fileID: 505419883}
+ - component: {fileID: 505419882}
+ - component: {fileID: 505419881}
+ m_Layer: 5
+ m_Name: ColorDropdown
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &505419880
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 505419879}
+ 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: 141972453}
+ - {fileID: 1904093297}
+ - {fileID: 1354972338}
+ m_Father: {fileID: 1815001690}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0}
+ m_AnchorMax: {x: 0.5, y: 0}
+ m_AnchoredPosition: {x: 0, y: 32}
+ m_SizeDelta: {x: 160, y: 30}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &505419881
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 505419879}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 0d0b652f32a2cc243917e4028fa0f046, 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_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, 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_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Selected
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 505419882}
+ m_Template: {fileID: 1354972338}
+ m_CaptionText: {fileID: 141972454}
+ m_CaptionImage: {fileID: 0}
+ m_ItemText: {fileID: 1595682152}
+ m_ItemImage: {fileID: 0}
+ m_Value: 0
+ m_Options:
+ m_Options:
+ - m_Text: White
+ m_Image: {fileID: 0}
+ - m_Text: Red
+ m_Image: {fileID: 0}
+ - m_Text: Green
+ m_Image: {fileID: 0}
+ - m_Text: Blue
+ m_Image: {fileID: 0}
+ m_OnValueChanged:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 1815001691}
+ m_MethodName: OnChangeColor
+ m_Mode: 0
+ 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_AlphaFadeSpeed: 0.15
+--- !u!114 &505419882
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 505419879}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ 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
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &505419883
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 505419879}
+ m_CullTransparentMesh: 0
+--- !u!1 &576385274
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 576385275}
+ - component: {fileID: 576385277}
+ - component: {fileID: 576385276}
+ m_Layer: 5
+ m_Name: Handle
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &576385275
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 576385274}
+ 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: 476993019}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 0.2}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 20, y: 20}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &576385276
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 576385274}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ 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
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &576385277
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 576385274}
+ m_CullTransparentMesh: 0
+--- !u!1 &579522505
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 579522507}
+ - component: {fileID: 579522506}
+ m_Layer: 0
+ m_Name: DirectionalLight
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!108 &579522506
+Light:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 579522505}
+ m_Enabled: 1
+ serializedVersion: 10
+ m_Type: 1
+ m_Shape: 0
+ m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
+ m_Intensity: 1
+ m_Range: 10
+ m_SpotAngle: 30
+ m_InnerSpotAngle: 21.80208
+ 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_CullingMatrixOverride:
+ e00: 1
+ e01: 0
+ e02: 0
+ e03: 0
+ e10: 0
+ e11: 1
+ e12: 0
+ e13: 0
+ e20: 0
+ e21: 0
+ e22: 1
+ e23: 0
+ e30: 0
+ e31: 0
+ e32: 0
+ e33: 1
+ m_UseCullingMatrixOverride: 0
+ m_Cookie: {fileID: 0}
+ m_DrawHalo: 0
+ m_Flare: {fileID: 0}
+ m_RenderMode: 0
+ m_CullingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ m_RenderingLayerMask: 1
+ m_Lightmapping: 4
+ m_LightShadowCasterMode: 0
+ m_AreaSize: {x: 1, y: 1}
+ m_BounceIntensity: 1
+ m_ColorTemperature: 6570
+ m_UseColorTemperature: 0
+ m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
+ m_UseBoundingSphereOverride: 0
+ m_ShadowRadius: 0
+ m_ShadowAngle: 0
+--- !u!4 &579522507
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 579522505}
+ 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: 1560495123}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
+--- !u!1 &717997523
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 717997524}
+ m_Layer: 5
+ m_Name: Content
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &717997524
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 717997523}
+ 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: 1600359325}
+ m_Father: {fileID: 77099692}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 28}
+ m_Pivot: {x: 0.5, y: 1}
+--- !u!1 &996868308
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 996868309}
+ - component: {fileID: 996868311}
+ - component: {fileID: 996868310}
+ m_Layer: 5
+ m_Name: Background
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &996868309
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 996868308}
+ 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: 2091594018}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0.25}
+ m_AnchorMax: {x: 1, y: 0.75}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &996868310
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 996868308}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10907, 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
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &996868311
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 996868308}
+ m_CullTransparentMesh: 0
+--- !u!1 &1144044470
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1144044471}
+ - component: {fileID: 1144044474}
+ - component: {fileID: 1144044473}
+ - component: {fileID: 1144044472}
+ m_Layer: 5
+ m_Name: Scrollbar
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1144044471
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1144044470}
+ 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: 476993019}
+ m_Father: {fileID: 1354972338}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 1, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 20, y: 0}
+ m_Pivot: {x: 1, y: 1}
+--- !u!114 &1144044472
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1144044470}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, 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_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, 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_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Selected
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 576385276}
+ m_HandleRect: {fileID: 576385275}
+ m_Direction: 2
+ m_Value: 0
+ m_Size: 0.2
+ m_NumberOfSteps: 0
+ m_OnValueChanged:
+ m_PersistentCalls:
+ m_Calls: []
+--- !u!114 &1144044473
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1144044470}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10907, 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
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1144044474
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1144044470}
+ m_CullTransparentMesh: 0
+--- !u!1 &1194471405
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1194471408}
+ - component: {fileID: 1194471407}
+ - component: {fileID: 1194471406}
+ m_Layer: 0
+ m_Name: EventSystem
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1194471406
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1194471405}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, 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 &1194471407
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1194471405}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_FirstSelected: {fileID: 0}
+ m_sendNavigationEvents: 1
+ m_DragThreshold: 10
+--- !u!4 &1194471408
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1194471405}
+ 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: 1711634209}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1315013218
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1315013221}
+ - component: {fileID: 1315013220}
+ - component: {fileID: 1315013219}
+ m_Layer: 0
+ m_Name: MainCamera
+ m_TagString: MainCamera
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!81 &1315013219
+AudioListener:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1315013218}
+ m_Enabled: 1
+--- !u!20 &1315013220
+Camera:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1315013218}
+ 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_GateFitMode: 2
+ m_FOVAxisMode: 0
+ 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 &1315013221
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1315013218}
+ 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: 1560495123}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1354972337
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1354972338}
+ - component: {fileID: 1354972341}
+ - component: {fileID: 1354972340}
+ - component: {fileID: 1354972339}
+ m_Layer: 5
+ m_Name: Template
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 0
+--- !u!224 &1354972338
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1354972337}
+ 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: 77099692}
+ - {fileID: 1144044471}
+ m_Father: {fileID: 505419880}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 0}
+ m_AnchoredPosition: {x: 0, y: 2}
+ m_SizeDelta: {x: 0, y: 150}
+ m_Pivot: {x: 0.5, y: 1}
+--- !u!114 &1354972339
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1354972337}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Content: {fileID: 717997524}
+ m_Horizontal: 0
+ m_Vertical: 1
+ m_MovementType: 2
+ m_Elasticity: 0.1
+ m_Inertia: 1
+ m_DecelerationRate: 0.135
+ m_ScrollSensitivity: 1
+ m_Viewport: {fileID: 77099692}
+ m_HorizontalScrollbar: {fileID: 0}
+ m_VerticalScrollbar: {fileID: 1144044472}
+ m_HorizontalScrollbarVisibility: 0
+ m_VerticalScrollbarVisibility: 2
+ m_HorizontalScrollbarSpacing: 0
+ m_VerticalScrollbarSpacing: -3
+ m_OnValueChanged:
+ m_PersistentCalls:
+ m_Calls: []
+--- !u!114 &1354972340
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1354972337}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ 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
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1354972341
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1354972337}
+ m_CullTransparentMesh: 0
+--- !u!1 &1355824719
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1355824720}
+ - component: {fileID: 1355824722}
+ - component: {fileID: 1355824721}
+ m_Layer: 5
+ m_Name: Handle
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1355824720
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1355824719}
+ 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: 2133235091}
+ m_RootOrder: 0
+ 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: 20, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1355824721
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1355824719}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1355824722
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1355824719}
+ m_CullTransparentMesh: 0
+--- !u!1 &1560495122
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1560495123}
+ m_Layer: 0
+ m_Name: Setup
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1560495123
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1560495122}
+ 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: 1315013221}
+ - {fileID: 579522507}
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1595682150
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1595682151}
+ - component: {fileID: 1595682153}
+ - component: {fileID: 1595682152}
+ m_Layer: 5
+ m_Name: Item Label
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1595682151
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1595682150}
+ 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: 1600359325}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 5, y: -0.5}
+ m_SizeDelta: {x: -30, y: -3}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1595682152
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1595682150}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, 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_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ 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: 3
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: Option A
+--- !u!222 &1595682153
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1595682150}
+ m_CullTransparentMesh: 0
+--- !u!1 &1600359324
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1600359325}
+ - component: {fileID: 1600359326}
+ m_Layer: 5
+ m_Name: Item
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1600359325
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1600359324}
+ 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: 2037437775}
+ - {fileID: 1842968514}
+ - {fileID: 1595682151}
+ m_Father: {fileID: 717997524}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0.5}
+ m_AnchorMax: {x: 1, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 20}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1600359326
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1600359324}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, 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_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, 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_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Selected
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 2037437776}
+ toggleTransition: 1
+ graphic: {fileID: 1842968515}
+ m_Group: {fileID: 0}
+ onValueChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_IsOn: 1
+--- !u!1 &1711634208
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1711634209}
+ m_Layer: 0
+ m_Name: UI
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1711634209
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1711634208}
+ 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: 1815001690}
+ - {fileID: 1194471408}
+ m_Father: {fileID: 0}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1815001686
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1815001690}
+ - component: {fileID: 1815001689}
+ - component: {fileID: 1815001688}
+ - component: {fileID: 1815001687}
+ - component: {fileID: 1815001691}
+ m_Layer: 5
+ m_Name: Canvas
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1815001687
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1815001686}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreReversedGraphics: 1
+ m_BlockingObjects: 0
+ m_BlockingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+--- !u!114 &1815001688
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1815001686}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, 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 &1815001689
+Canvas:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1815001686}
+ 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 &1815001690
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1815001686}
+ 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: 2091594018}
+ - {fileID: 505419880}
+ m_Father: {fileID: 1711634209}
+ m_RootOrder: 0
+ 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!114 &1815001691
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1815001686}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: ea7d8baaa3cec734e94b4adf9dcd73fc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ onMaterialChanged:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 11400000, guid: 4101eb954e9cc7b4f94add4909259cf5, type: 2}
+ m_MethodName: Raise
+ m_Mode: 0
+ 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
+--- !u!1 &1842968513
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1842968514}
+ - component: {fileID: 1842968516}
+ - component: {fileID: 1842968515}
+ m_Layer: 5
+ m_Name: Item Checkmark
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1842968514
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1842968513}
+ 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: 1600359325}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0.5}
+ m_AnchorMax: {x: 0, y: 0.5}
+ m_AnchoredPosition: {x: 10, y: 0}
+ m_SizeDelta: {x: 20, y: 20}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1842968515
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1842968513}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10901, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1842968516
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1842968513}
+ m_CullTransparentMesh: 0
+--- !u!1 &1901124777
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1901124778}
+ m_Layer: 5
+ m_Name: Fill Area
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1901124778
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1901124777}
+ 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: 1935845758}
+ m_Father: {fileID: 2091594018}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0.25}
+ m_AnchorMax: {x: 1, y: 0.75}
+ m_AnchoredPosition: {x: -5, y: 0}
+ m_SizeDelta: {x: -20, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &1904093296
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1904093297}
+ - component: {fileID: 1904093299}
+ - component: {fileID: 1904093298}
+ m_Layer: 5
+ m_Name: Arrow
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1904093297
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1904093296}
+ 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: 505419880}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 1, y: 0.5}
+ m_AnchorMax: {x: 1, y: 0.5}
+ m_AnchoredPosition: {x: -15, y: 0}
+ m_SizeDelta: {x: 20, y: 20}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1904093298
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1904093296}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10915, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1904093299
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1904093296}
+ m_CullTransparentMesh: 0
+--- !u!1 &1935845757
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1935845758}
+ - component: {fileID: 1935845760}
+ - component: {fileID: 1935845759}
+ m_Layer: 5
+ m_Name: Fill
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1935845758
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1935845757}
+ 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: 1901124778}
+ m_RootOrder: 0
+ 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: 10, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1935845759
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1935845757}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ 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
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1935845760
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1935845757}
+ m_CullTransparentMesh: 0
+--- !u!1 &1972673856
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1972673860}
+ - component: {fileID: 1972673859}
+ - component: {fileID: 1972673858}
+ - component: {fileID: 1972673857}
+ m_Layer: 0
+ m_Name: Cube
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1972673857
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1972673856}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 1f39f6e9127645ad87fb98c084cd9965, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!23 &1972673858
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1972673856}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ 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_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ 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 &1972673859
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1972673856}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!4 &1972673860
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1972673856}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 3, y: 3, z: 3}
+ m_Children: []
+ m_Father: {fileID: 2081766997}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &2037437774
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2037437775}
+ - component: {fileID: 2037437777}
+ - component: {fileID: 2037437776}
+ m_Layer: 5
+ m_Name: Item Background
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &2037437775
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2037437774}
+ 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: 1600359325}
+ 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 &2037437776
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2037437774}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ 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
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &2037437777
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2037437774}
+ m_CullTransparentMesh: 0
+--- !u!1 &2081766996
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2081766997}
+ m_Layer: 0
+ m_Name: Sample
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &2081766997
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2081766996}
+ 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: 1972673860}
+ - {fileID: 2085729137}
+ m_Father: {fileID: 0}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &2085729135
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2085729137}
+ - component: {fileID: 2085729136}
+ m_Layer: 0
+ m_Name: MaterialDataChangeEventListener
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &2085729136
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2085729135}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f129bceb33ca40bebd7a270e22fbacd9, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ scriptableEvent: {fileID: 11400000, guid: 4101eb954e9cc7b4f94add4909259cf5, type: 2}
+ onRaised:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 1972673857}
+ m_MethodName: ChangeMaterial
+ m_Mode: 0
+ 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
+--- !u!4 &2085729137
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2085729135}
+ 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: 2081766997}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &2091594017
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2091594018}
+ - component: {fileID: 2091594019}
+ m_Layer: 5
+ m_Name: MetallicSlider
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &2091594018
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2091594017}
+ 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: 996868309}
+ - {fileID: 1901124778}
+ - {fileID: 2133235091}
+ m_Father: {fileID: 1815001690}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0}
+ m_AnchorMax: {x: 0.5, y: 0}
+ m_AnchoredPosition: {x: 0, y: 64}
+ m_SizeDelta: {x: 160, y: 20}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &2091594019
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2091594017}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, 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_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, 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_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Selected
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 1355824721}
+ m_FillRect: {fileID: 1935845758}
+ m_HandleRect: {fileID: 1355824720}
+ m_Direction: 0
+ m_MinValue: 0
+ m_MaxValue: 1
+ m_WholeNumbers: 0
+ m_Value: 0
+ m_OnValueChanged:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 1815001691}
+ m_MethodName: OnChangeMetallic
+ m_Mode: 0
+ 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
+--- !u!1 &2133235090
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2133235091}
+ m_Layer: 5
+ m_Name: Handle Slide Area
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &2133235091
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2133235090}
+ 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: 1355824720}
+ m_Father: {fileID: 2091594018}
+ m_RootOrder: 2
+ 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: -20, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
diff --git a/Assets/Samples/MutableObjects/Scenes/MutableObjects.unity.meta b/Packages/com.chark.scriptable-events/Samples~/CustomEvents/CustomEventsScene.unity.meta
similarity index 74%
rename from Assets/Samples/MutableObjects/Scenes/MutableObjects.unity.meta
rename to Packages/com.chark.scriptable-events/Samples~/CustomEvents/CustomEventsScene.unity.meta
index 597c765..3d3ab6f 100644
--- a/Assets/Samples/MutableObjects/Scenes/MutableObjects.unity.meta
+++ b/Packages/com.chark.scriptable-events/Samples~/CustomEvents/CustomEventsScene.unity.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: ac31d203f09bf1c4a8033c527c3d6fb2
+guid: cb809b3c415029840a2bad5c079dd504
DefaultImporter:
externalObjects: {}
userData:
diff --git a/Assets/Editor/GameEvents/GameObject.meta b/Packages/com.chark.scriptable-events/Samples~/CustomEvents/Editor.meta
similarity index 77%
rename from Assets/Editor/GameEvents/GameObject.meta
rename to Packages/com.chark.scriptable-events/Samples~/CustomEvents/Editor.meta
index dbf658e..c42d3ba 100644
--- a/Assets/Editor/GameEvents/GameObject.meta
+++ b/Packages/com.chark.scriptable-events/Samples~/CustomEvents/Editor.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 3bd3d37f552f4556b5abcdafc361945d
+guid: 9f676735a9240e5438bc8ce5764eee93
folderAsset: yes
DefaultImporter:
externalObjects: {}
diff --git a/Packages/com.chark.scriptable-events/Samples~/CustomEvents/Editor/MaterialDataScriptableEventEditor.cs b/Packages/com.chark.scriptable-events/Samples~/CustomEvents/Editor/MaterialDataScriptableEventEditor.cs
new file mode 100644
index 0000000..d71fedd
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Samples~/CustomEvents/Editor/MaterialDataScriptableEventEditor.cs
@@ -0,0 +1,25 @@
+using ScriptableEvents.Editor;
+using UnityEditor;
+using UnityEngine;
+
+namespace ScriptableEvents.Samples.CustomEvents.Editor
+{
+ [CustomEditor(typeof(MaterialDataScriptableEvent))]
+ public class MaterialDataScriptableEventEditor : BaseScriptableEventEditor
+ {
+ protected override MaterialData DrawArgField(MaterialData value)
+ {
+ if (value == null)
+ {
+ return new MaterialData(0f, Color.white);
+ }
+
+ EditorGUILayout.BeginVertical();
+ var metallic = EditorGUILayout.Slider("Metallic", value.Metallic, 0f, 1f);
+ var color = EditorGUILayout.ColorField("Color", value.Color);
+ EditorGUILayout.EndVertical();
+
+ return new MaterialData(metallic, color);
+ }
+ }
+}
diff --git a/Assets/Runtime/GameEvents/Generic/ArgumentGameEvent.cs.meta b/Packages/com.chark.scriptable-events/Samples~/CustomEvents/Editor/MaterialDataScriptableEventEditor.cs.meta
similarity index 83%
rename from Assets/Runtime/GameEvents/Generic/ArgumentGameEvent.cs.meta
rename to Packages/com.chark.scriptable-events/Samples~/CustomEvents/Editor/MaterialDataScriptableEventEditor.cs.meta
index c4b1d66..e90ddca 100644
--- a/Assets/Runtime/GameEvents/Generic/ArgumentGameEvent.cs.meta
+++ b/Packages/com.chark.scriptable-events/Samples~/CustomEvents/Editor/MaterialDataScriptableEventEditor.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: d30ce9ddbe6ab324a958ce96f81dd13c
+guid: fd23b8159f166c543a3a3433e29ae1a9
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Packages/com.chark.scriptable-events/Samples~/CustomEvents/MaterialChanger.cs b/Packages/com.chark.scriptable-events/Samples~/CustomEvents/MaterialChanger.cs
new file mode 100644
index 0000000..3ed8030
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Samples~/CustomEvents/MaterialChanger.cs
@@ -0,0 +1,21 @@
+using UnityEngine;
+
+namespace ScriptableEvents.Samples.CustomEvents
+{
+ public class MaterialChanger : MonoBehaviour
+ {
+ private static readonly int Metallic = Shader.PropertyToID("_Metallic");
+ private Material material;
+
+ private void Awake()
+ {
+ material = GetComponent().material;
+ }
+
+ public void ChangeMaterial(MaterialData data)
+ {
+ material.color = data.Color;
+ material.SetFloat(Metallic, data.Metallic);
+ }
+ }
+}
diff --git a/Packages/com.chark.scriptable-events/Samples~/CustomEvents/MaterialChanger.cs.meta b/Packages/com.chark.scriptable-events/Samples~/CustomEvents/MaterialChanger.cs.meta
new file mode 100644
index 0000000..4724413
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Samples~/CustomEvents/MaterialChanger.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 1f39f6e9127645ad87fb98c084cd9965
+timeCreated: 1611488611
\ No newline at end of file
diff --git a/Packages/com.chark.scriptable-events/Samples~/CustomEvents/MaterialData.cs b/Packages/com.chark.scriptable-events/Samples~/CustomEvents/MaterialData.cs
new file mode 100644
index 0000000..41e1ca1
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Samples~/CustomEvents/MaterialData.cs
@@ -0,0 +1,17 @@
+using UnityEngine;
+
+namespace ScriptableEvents.Samples.CustomEvents
+{
+ public class MaterialData
+ {
+ public float Metallic { get; }
+
+ public Color Color { get; }
+
+ public MaterialData(float metallic, Color color)
+ {
+ Metallic = metallic;
+ Color = color;
+ }
+ }
+}
diff --git a/Packages/com.chark.scriptable-events/Samples~/CustomEvents/MaterialData.cs.meta b/Packages/com.chark.scriptable-events/Samples~/CustomEvents/MaterialData.cs.meta
new file mode 100644
index 0000000..9a54dc8
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Samples~/CustomEvents/MaterialData.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: b17a93b78ca44f78a7d5438bcf3bcebb
+timeCreated: 1611488469
\ No newline at end of file
diff --git a/Assets/Samples/MutableObjects/MutableObjects/PlayerHealth.asset b/Packages/com.chark.scriptable-events/Samples~/CustomEvents/MaterialDataChangeEvent.asset
similarity index 50%
rename from Assets/Samples/MutableObjects/MutableObjects/PlayerHealth.asset
rename to Packages/com.chark.scriptable-events/Samples~/CustomEvents/MaterialDataChangeEvent.asset
index 63923db..b207900 100644
--- a/Assets/Samples/MutableObjects/MutableObjects/PlayerHealth.asset
+++ b/Packages/com.chark.scriptable-events/Samples~/CustomEvents/MaterialDataChangeEvent.asset
@@ -9,7 +9,13 @@ MonoBehaviour:
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: eb4c1ad19b56486ca2a4e9514f8b7acc, type: 3}
- m_Name: PlayerHealth
+ m_Script: {fileID: 11500000, guid: 3ecea89908c4413b8a1c24d87c376e74, type: 3}
+ m_Name: MaterialDataChangeEvent
m_EditorClassIdentifier:
- value: 100
+ description: 'Changes color and metalic property of the material. Raised when slider
+ or dropdown value changes.
+
+'
+ lockDescription: 1
+ suppressExceptions: 0
+ trace: 0
diff --git a/Assets/Samples/GameEvents/Events/ShotGameEvent.asset.meta b/Packages/com.chark.scriptable-events/Samples~/CustomEvents/MaterialDataChangeEvent.asset.meta
similarity index 78%
rename from Assets/Samples/GameEvents/Events/ShotGameEvent.asset.meta
rename to Packages/com.chark.scriptable-events/Samples~/CustomEvents/MaterialDataChangeEvent.asset.meta
index fb5cfb8..99888d3 100644
--- a/Assets/Samples/GameEvents/Events/ShotGameEvent.asset.meta
+++ b/Packages/com.chark.scriptable-events/Samples~/CustomEvents/MaterialDataChangeEvent.asset.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: d15108d9f7748d24584a3a876de12713
+guid: 4101eb954e9cc7b4f94add4909259cf5
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
diff --git a/Packages/com.chark.scriptable-events/Samples~/CustomEvents/MaterialDataScriptableEvent.cs b/Packages/com.chark.scriptable-events/Samples~/CustomEvents/MaterialDataScriptableEvent.cs
new file mode 100644
index 0000000..28c7a01
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Samples~/CustomEvents/MaterialDataScriptableEvent.cs
@@ -0,0 +1,12 @@
+using UnityEngine;
+
+namespace ScriptableEvents.Samples.CustomEvents
+{
+ [CreateAssetMenu(
+ fileName = "MaterialDataScriptableEvent",
+ menuName = "Custom Scriptable Events/Material Data Scriptable Event"
+ )]
+ public class MaterialDataScriptableEvent : BaseScriptableEvent
+ {
+ }
+}
diff --git a/Packages/com.chark.scriptable-events/Samples~/CustomEvents/MaterialDataScriptableEvent.cs.meta b/Packages/com.chark.scriptable-events/Samples~/CustomEvents/MaterialDataScriptableEvent.cs.meta
new file mode 100644
index 0000000..fa3615f
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Samples~/CustomEvents/MaterialDataScriptableEvent.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 3ecea89908c4413b8a1c24d87c376e74
+timeCreated: 1611488685
\ No newline at end of file
diff --git a/Packages/com.chark.scriptable-events/Samples~/CustomEvents/MaterialDataScriptableEventListener.cs b/Packages/com.chark.scriptable-events/Samples~/CustomEvents/MaterialDataScriptableEventListener.cs
new file mode 100644
index 0000000..b5893eb
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Samples~/CustomEvents/MaterialDataScriptableEventListener.cs
@@ -0,0 +1,14 @@
+using UnityEngine;
+
+namespace ScriptableEvents.Samples.CustomEvents
+{
+ [AddComponentMenu("Custom Scriptable Events/Material Data Event Listener")]
+ public class MaterialDataScriptableEventListener
+ : BaseScriptableEventListener<
+ MaterialDataScriptableEvent,
+ MaterialDataUnityEvent,
+ MaterialData
+ >
+ {
+ }
+}
diff --git a/Packages/com.chark.scriptable-events/Samples~/CustomEvents/MaterialDataScriptableEventListener.cs.meta b/Packages/com.chark.scriptable-events/Samples~/CustomEvents/MaterialDataScriptableEventListener.cs.meta
new file mode 100644
index 0000000..525d588
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Samples~/CustomEvents/MaterialDataScriptableEventListener.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: f129bceb33ca40bebd7a270e22fbacd9
+timeCreated: 1611488763
\ No newline at end of file
diff --git a/Packages/com.chark.scriptable-events/Samples~/CustomEvents/MaterialDataUnityEvent.cs b/Packages/com.chark.scriptable-events/Samples~/CustomEvents/MaterialDataUnityEvent.cs
new file mode 100644
index 0000000..ffbfe76
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Samples~/CustomEvents/MaterialDataUnityEvent.cs
@@ -0,0 +1,10 @@
+using System;
+using UnityEngine.Events;
+
+namespace ScriptableEvents.Samples.CustomEvents
+{
+ [Serializable]
+ public class MaterialDataUnityEvent : UnityEvent
+ {
+ }
+}
diff --git a/Packages/com.chark.scriptable-events/Samples~/CustomEvents/MaterialDataUnityEvent.cs.meta b/Packages/com.chark.scriptable-events/Samples~/CustomEvents/MaterialDataUnityEvent.cs.meta
new file mode 100644
index 0000000..8096ac0
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Samples~/CustomEvents/MaterialDataUnityEvent.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 89412734c6b84b038eb55c96ae664811
+timeCreated: 1611488545
\ No newline at end of file
diff --git a/Packages/com.chark.scriptable-events/Samples~/CustomEvents/MaterialOptionsHandler.cs b/Packages/com.chark.scriptable-events/Samples~/CustomEvents/MaterialOptionsHandler.cs
new file mode 100644
index 0000000..f82275d
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Samples~/CustomEvents/MaterialOptionsHandler.cs
@@ -0,0 +1,48 @@
+using UnityEngine;
+
+namespace ScriptableEvents.Samples.CustomEvents
+{
+ public class MaterialOptionsHandler : MonoBehaviour
+ {
+ [SerializeField]
+ private MaterialDataUnityEvent onMaterialChanged;
+
+ private float metallic;
+ private Color color = Color.white;
+
+ public void OnChangeMetallic(float newMetallic)
+ {
+ metallic = newMetallic;
+ InvokeEvent();
+ }
+
+ public void OnChangeColor(int colorIndex)
+ {
+ switch (colorIndex)
+ {
+ case 0:
+ color = Color.white;
+ break;
+ case 1:
+ color = Color.red;
+ break;
+ case 2:
+ color = Color.green;
+ break;
+ case 3:
+ color = Color.blue;
+ break;
+ default:
+ color = Color.black;
+ break;
+ }
+
+ InvokeEvent();
+ }
+
+ private void InvokeEvent()
+ {
+ onMaterialChanged.Invoke(new MaterialData(metallic, color));
+ }
+ }
+}
diff --git a/Assets/Runtime/GameEvents/Generic/BaseGameEventListener.cs.meta b/Packages/com.chark.scriptable-events/Samples~/CustomEvents/MaterialOptionsHandler.cs.meta
similarity index 83%
rename from Assets/Runtime/GameEvents/Generic/BaseGameEventListener.cs.meta
rename to Packages/com.chark.scriptable-events/Samples~/CustomEvents/MaterialOptionsHandler.cs.meta
index fb48634..da8d820 100644
--- a/Assets/Runtime/GameEvents/Generic/BaseGameEventListener.cs.meta
+++ b/Packages/com.chark.scriptable-events/Samples~/CustomEvents/MaterialOptionsHandler.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 6085baf1c9ef647428c1dde1cc5d7633
+guid: ea7d8baaa3cec734e94b4adf9dcd73fc
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Assets/Runtime/GameEvents.meta b/Packages/com.chark.scriptable-events/Samples~/EventsWithArguments.meta
similarity index 77%
rename from Assets/Runtime/GameEvents.meta
rename to Packages/com.chark.scriptable-events/Samples~/EventsWithArguments.meta
index 0aa9259..2d15ef0 100644
--- a/Assets/Runtime/GameEvents.meta
+++ b/Packages/com.chark.scriptable-events/Samples~/EventsWithArguments.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: d181c151a2755a34a9710bdbb608a9c7
+guid: 869f4106911d8f84a849ce02bdb392c7
folderAsset: yes
DefaultImporter:
externalObjects: {}
diff --git a/Assets/Samples/GameEvents/Events/ShotGameEvent.asset b/Packages/com.chark.scriptable-events/Samples~/EventsWithArguments/ChangeColorEvent.asset
similarity index 52%
rename from Assets/Samples/GameEvents/Events/ShotGameEvent.asset
rename to Packages/com.chark.scriptable-events/Samples~/EventsWithArguments/ChangeColorEvent.asset
index ce5342a..40f8259 100644
--- a/Assets/Samples/GameEvents/Events/ShotGameEvent.asset
+++ b/Packages/com.chark.scriptable-events/Samples~/EventsWithArguments/ChangeColorEvent.asset
@@ -9,7 +9,13 @@ MonoBehaviour:
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: b7d4060906d542e7a9dca07008bdc652, type: 3}
- m_Name: ShotGameEvent
+ m_Script: {fileID: 11500000, guid: ff6c51af645c42938d2b5a26ee3e6238, type: 3}
+ m_Name: ChangeColorEvent
m_EditorClassIdentifier:
- debug: 0
+ description: 'Changes red, green, and blue color components. Raised when slider
+ value changes.
+
+'
+ lockDescription: 1
+ suppressExceptions: 0
+ trace: 0
diff --git a/Assets/Samples/GameEvents/Events/TargetDeathEvent.asset.meta b/Packages/com.chark.scriptable-events/Samples~/EventsWithArguments/ChangeColorEvent.asset.meta
similarity index 78%
rename from Assets/Samples/GameEvents/Events/TargetDeathEvent.asset.meta
rename to Packages/com.chark.scriptable-events/Samples~/EventsWithArguments/ChangeColorEvent.asset.meta
index 3768c8c..d69233c 100644
--- a/Assets/Samples/GameEvents/Events/TargetDeathEvent.asset.meta
+++ b/Packages/com.chark.scriptable-events/Samples~/EventsWithArguments/ChangeColorEvent.asset.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: ba3e9660171fc3e499829b9d9ed8b9cb
+guid: 42d9aaec5884bc746b5e0ca61b22d5d5
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
diff --git a/Packages/com.chark.scriptable-events/Samples~/EventsWithArguments/EventsWithArgumentsScene.unity b/Packages/com.chark.scriptable-events/Samples~/EventsWithArguments/EventsWithArgumentsScene.unity
new file mode 100644
index 0000000..8d19af7
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Samples~/EventsWithArguments/EventsWithArgumentsScene.unity
@@ -0,0 +1,1103 @@
+%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, g: 0, b: 0, a: 1}
+ m_UseRadianceAmbientProbe: 0
+--- !u!157 &3
+LightmapSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 11
+ m_GIWorkflowMode: 1
+ m_GISettings:
+ serializedVersion: 2
+ m_BounceScale: 1
+ m_IndirectOutputScale: 1
+ m_AlbedoBoost: 1
+ m_EnvironmentLightingMode: 0
+ m_EnableBakedLightmaps: 1
+ m_EnableRealtimeLightmaps: 0
+ m_LightmapEditorSettings:
+ serializedVersion: 12
+ m_Resolution: 2
+ m_BakeResolution: 40
+ m_AtlasSize: 1024
+ m_AO: 0
+ m_AOMaxDistance: 1
+ m_CompAOExponent: 1
+ m_CompAOExponentDirect: 0
+ m_ExtractAmbientOcclusion: 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: 512
+ m_PVRBounces: 2
+ m_PVREnvironmentSampleCount: 256
+ m_PVREnvironmentReferencePointCount: 2048
+ m_PVRFilteringMode: 1
+ m_PVRDenoiserTypeDirect: 1
+ m_PVRDenoiserTypeIndirect: 1
+ m_PVRDenoiserTypeAO: 1
+ m_PVRFilterTypeDirect: 0
+ m_PVRFilterTypeIndirect: 0
+ m_PVRFilterTypeAO: 0
+ m_PVREnvironmentMIS: 1
+ m_PVRCulling: 1
+ m_PVRFilteringGaussRadiusDirect: 1
+ m_PVRFilteringGaussRadiusIndirect: 5
+ m_PVRFilteringGaussRadiusAO: 2
+ m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+ m_PVRFilteringAtrousPositionSigmaIndirect: 2
+ m_PVRFilteringAtrousPositionSigmaAO: 1
+ m_ExportTrainingData: 0
+ m_TrainingDataDestination: TrainingData
+ m_LightProbeSampleCountMultiplier: 4
+ 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 &579522505
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 579522507}
+ - component: {fileID: 579522506}
+ m_Layer: 0
+ m_Name: DirectionalLight
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!108 &579522506
+Light:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 579522505}
+ m_Enabled: 1
+ serializedVersion: 10
+ m_Type: 1
+ m_Shape: 0
+ m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
+ m_Intensity: 1
+ m_Range: 10
+ m_SpotAngle: 30
+ m_InnerSpotAngle: 21.80208
+ 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_CullingMatrixOverride:
+ e00: 1
+ e01: 0
+ e02: 0
+ e03: 0
+ e10: 0
+ e11: 1
+ e12: 0
+ e13: 0
+ e20: 0
+ e21: 0
+ e22: 1
+ e23: 0
+ e30: 0
+ e31: 0
+ e32: 0
+ e33: 1
+ m_UseCullingMatrixOverride: 0
+ m_Cookie: {fileID: 0}
+ m_DrawHalo: 0
+ m_Flare: {fileID: 0}
+ m_RenderMode: 0
+ m_CullingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ m_RenderingLayerMask: 1
+ m_Lightmapping: 4
+ m_LightShadowCasterMode: 0
+ m_AreaSize: {x: 1, y: 1}
+ m_BounceIntensity: 1
+ m_ColorTemperature: 6570
+ m_UseColorTemperature: 0
+ m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
+ m_UseBoundingSphereOverride: 0
+ m_ShadowRadius: 0
+ m_ShadowAngle: 0
+--- !u!4 &579522507
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 579522505}
+ 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: 1560495123}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
+--- !u!1 &996868308
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 996868309}
+ - component: {fileID: 996868311}
+ - component: {fileID: 996868310}
+ m_Layer: 5
+ m_Name: Background
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &996868309
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 996868308}
+ 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: 2091594018}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0.25}
+ m_AnchorMax: {x: 1, y: 0.75}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &996868310
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 996868308}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10907, 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
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &996868311
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 996868308}
+ m_CullTransparentMesh: 0
+--- !u!1 &1194471405
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1194471408}
+ - component: {fileID: 1194471407}
+ - component: {fileID: 1194471406}
+ m_Layer: 0
+ m_Name: EventSystem
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1194471406
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1194471405}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, 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 &1194471407
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1194471405}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_FirstSelected: {fileID: 0}
+ m_sendNavigationEvents: 1
+ m_DragThreshold: 10
+--- !u!4 &1194471408
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1194471405}
+ 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: 1711634209}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1315013218
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1315013221}
+ - component: {fileID: 1315013220}
+ - component: {fileID: 1315013219}
+ m_Layer: 0
+ m_Name: MainCamera
+ m_TagString: MainCamera
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!81 &1315013219
+AudioListener:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1315013218}
+ m_Enabled: 1
+--- !u!20 &1315013220
+Camera:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1315013218}
+ 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_GateFitMode: 2
+ m_FOVAxisMode: 0
+ 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 &1315013221
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1315013218}
+ 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: 1560495123}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1355824719
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1355824720}
+ - component: {fileID: 1355824722}
+ - component: {fileID: 1355824721}
+ m_Layer: 5
+ m_Name: Handle
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1355824720
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1355824719}
+ 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: 2133235091}
+ m_RootOrder: 0
+ 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: 20, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1355824721
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1355824719}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1355824722
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1355824719}
+ m_CullTransparentMesh: 0
+--- !u!1 &1560495122
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1560495123}
+ m_Layer: 0
+ m_Name: Setup
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1560495123
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1560495122}
+ 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: 1315013221}
+ - {fileID: 579522507}
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1711634208
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1711634209}
+ m_Layer: 0
+ m_Name: UI
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1711634209
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1711634208}
+ 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: 1815001690}
+ - {fileID: 1194471408}
+ m_Father: {fileID: 0}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1815001686
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1815001690}
+ - component: {fileID: 1815001689}
+ - component: {fileID: 1815001688}
+ - component: {fileID: 1815001687}
+ m_Layer: 5
+ m_Name: Canvas
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1815001687
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1815001686}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreReversedGraphics: 1
+ m_BlockingObjects: 0
+ m_BlockingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+--- !u!114 &1815001688
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1815001686}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, 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 &1815001689
+Canvas:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1815001686}
+ 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 &1815001690
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1815001686}
+ 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: 2091594018}
+ m_Father: {fileID: 1711634209}
+ m_RootOrder: 0
+ 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 &1901124777
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1901124778}
+ m_Layer: 5
+ m_Name: Fill Area
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1901124778
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1901124777}
+ 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: 1935845758}
+ m_Father: {fileID: 2091594018}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0.25}
+ m_AnchorMax: {x: 1, y: 0.75}
+ m_AnchoredPosition: {x: -5, y: 0}
+ m_SizeDelta: {x: -20, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &1935845757
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1935845758}
+ - component: {fileID: 1935845760}
+ - component: {fileID: 1935845759}
+ m_Layer: 5
+ m_Name: Fill
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1935845758
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1935845757}
+ 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: 1901124778}
+ m_RootOrder: 0
+ 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: 10, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1935845759
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1935845757}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ 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
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1935845760
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1935845757}
+ m_CullTransparentMesh: 0
+--- !u!1 &1972673856
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1972673860}
+ - component: {fileID: 1972673859}
+ - component: {fileID: 1972673858}
+ - component: {fileID: 1972673857}
+ m_Layer: 0
+ m_Name: Cube
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1972673857
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1972673856}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 88668e2b47742a14e88066f960d2f331, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!23 &1972673858
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1972673856}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ 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_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ 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 &1972673859
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1972673856}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!4 &1972673860
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1972673856}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 3, y: 3, z: 3}
+ m_Children: []
+ m_Father: {fileID: 2081766997}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &2081766996
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2081766997}
+ m_Layer: 0
+ m_Name: Sample
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &2081766997
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2081766996}
+ 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: 1972673860}
+ - {fileID: 2085729137}
+ m_Father: {fileID: 0}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &2085729135
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2085729137}
+ - component: {fileID: 2085729136}
+ m_Layer: 0
+ m_Name: ChangeColorEventListener
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &2085729136
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2085729135}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 46c9e0aa5c1e487e884cfba5886e0d41, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ scriptableEvent: {fileID: 11400000, guid: 42d9aaec5884bc746b5e0ca61b22d5d5, type: 2}
+ onRaised:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 1972673857}
+ m_MethodName: ChangeColor
+ m_Mode: 0
+ 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
+--- !u!4 &2085729137
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2085729135}
+ 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: 2081766997}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &2091594017
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2091594018}
+ - component: {fileID: 2091594019}
+ m_Layer: 5
+ m_Name: ColorSlider
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &2091594018
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2091594017}
+ 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: 996868309}
+ - {fileID: 1901124778}
+ - {fileID: 2133235091}
+ m_Father: {fileID: 1815001690}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0}
+ m_AnchorMax: {x: 0.5, y: 0}
+ m_AnchoredPosition: {x: 0, y: 32}
+ m_SizeDelta: {x: 160, y: 20}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &2091594019
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2091594017}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, 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_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, 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_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Selected
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 1355824721}
+ m_FillRect: {fileID: 1935845758}
+ m_HandleRect: {fileID: 1355824720}
+ m_Direction: 0
+ m_MinValue: 0
+ m_MaxValue: 1
+ m_WholeNumbers: 0
+ m_Value: 1
+ m_OnValueChanged:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 11400000, guid: 42d9aaec5884bc746b5e0ca61b22d5d5, type: 2}
+ m_MethodName: Raise
+ m_Mode: 0
+ 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
+--- !u!1 &2133235090
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2133235091}
+ m_Layer: 5
+ m_Name: Handle Slide Area
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &2133235091
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2133235090}
+ 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: 1355824720}
+ m_Father: {fileID: 2091594018}
+ m_RootOrder: 2
+ 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: -20, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
diff --git a/Packages/com.chark.scriptable-events/Samples~/EventsWithArguments/EventsWithArgumentsScene.unity.meta b/Packages/com.chark.scriptable-events/Samples~/EventsWithArguments/EventsWithArgumentsScene.unity.meta
new file mode 100644
index 0000000..acdc037
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Samples~/EventsWithArguments/EventsWithArgumentsScene.unity.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 027fa4519f13431488691c6d2bb732f5
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Packages/com.chark.scriptable-events/Samples~/EventsWithArguments/MaterialColorChanger.cs b/Packages/com.chark.scriptable-events/Samples~/EventsWithArguments/MaterialColorChanger.cs
new file mode 100644
index 0000000..fcdc6be
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Samples~/EventsWithArguments/MaterialColorChanger.cs
@@ -0,0 +1,24 @@
+using UnityEngine;
+
+namespace ScriptableEvents.EventsWithArguments
+{
+ [RequireComponent(typeof(MeshRenderer))]
+ public class MaterialColorChanger : MonoBehaviour
+ {
+ private Material material;
+
+ private void Awake()
+ {
+ material = GetComponent().material;
+ }
+
+ public void ChangeColor(float value)
+ {
+ var color = material.color;
+ color.r = value;
+ color.g = value;
+ color.b = value;
+ material.color = color;
+ }
+ }
+}
diff --git a/Assets/Editor/GameEvents/GameObject/GameObjectGameEventEditor.cs.meta b/Packages/com.chark.scriptable-events/Samples~/EventsWithArguments/MaterialColorChanger.cs.meta
similarity index 83%
rename from Assets/Editor/GameEvents/GameObject/GameObjectGameEventEditor.cs.meta
rename to Packages/com.chark.scriptable-events/Samples~/EventsWithArguments/MaterialColorChanger.cs.meta
index ca44439..35d0059 100644
--- a/Assets/Editor/GameEvents/GameObject/GameObjectGameEventEditor.cs.meta
+++ b/Packages/com.chark.scriptable-events/Samples~/EventsWithArguments/MaterialColorChanger.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: a7950ca1c5ef3a74aa19eaa9bf5b26c8
+guid: 88668e2b47742a14e88066f960d2f331
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Assets/Editor/GameEvents/Generic.meta b/Packages/com.chark.scriptable-events/Samples~/SimpleEvents.meta
similarity index 77%
rename from Assets/Editor/GameEvents/Generic.meta
rename to Packages/com.chark.scriptable-events/Samples~/SimpleEvents.meta
index b9c60dd..39e0090 100644
--- a/Assets/Editor/GameEvents/Generic.meta
+++ b/Packages/com.chark.scriptable-events/Samples~/SimpleEvents.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 64263b88ab86c2043913d3478aa388ea
+guid: 0c484137f5ba5334eb616d7bb5f5d4e9
folderAsset: yes
DefaultImporter:
externalObjects: {}
diff --git a/Packages/com.chark.scriptable-events/Samples~/SimpleEvents/MaterialColorToggle.cs b/Packages/com.chark.scriptable-events/Samples~/SimpleEvents/MaterialColorToggle.cs
new file mode 100644
index 0000000..5f93f33
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Samples~/SimpleEvents/MaterialColorToggle.cs
@@ -0,0 +1,23 @@
+using UnityEngine;
+
+namespace ScriptableEvents.SimpleEvents
+{
+ [RequireComponent(typeof(MeshRenderer))]
+ public class MaterialColorToggle : MonoBehaviour
+ {
+ private Material material;
+
+ private void Awake()
+ {
+ material = GetComponent().material;
+ }
+
+ public void ToggleColor()
+ {
+ var color = material.color;
+ material.color = color == Color.black
+ ? Color.white
+ : Color.black;
+ }
+ }
+}
diff --git a/Assets/Samples/GameEvents/Scripts/FloatFadeOutText.cs.meta b/Packages/com.chark.scriptable-events/Samples~/SimpleEvents/MaterialColorToggle.cs.meta
similarity index 83%
rename from Assets/Samples/GameEvents/Scripts/FloatFadeOutText.cs.meta
rename to Packages/com.chark.scriptable-events/Samples~/SimpleEvents/MaterialColorToggle.cs.meta
index b0cb724..0cd13fd 100644
--- a/Assets/Samples/GameEvents/Scripts/FloatFadeOutText.cs.meta
+++ b/Packages/com.chark.scriptable-events/Samples~/SimpleEvents/MaterialColorToggle.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 04272e1dd140b4647a81945fd79860d0
+guid: e3e861e18fd61714b8259b6e6b81974b
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Packages/com.chark.scriptable-events/Samples~/SimpleEvents/SimpleEventsScene.unity b/Packages/com.chark.scriptable-events/Samples~/SimpleEvents/SimpleEventsScene.unity
new file mode 100644
index 0000000..f3b2da4
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Samples~/SimpleEvents/SimpleEventsScene.unity
@@ -0,0 +1,917 @@
+%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, g: 0, b: 0, a: 1}
+ m_UseRadianceAmbientProbe: 0
+--- !u!157 &3
+LightmapSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 11
+ m_GIWorkflowMode: 1
+ m_GISettings:
+ serializedVersion: 2
+ m_BounceScale: 1
+ m_IndirectOutputScale: 1
+ m_AlbedoBoost: 1
+ m_EnvironmentLightingMode: 0
+ m_EnableBakedLightmaps: 1
+ m_EnableRealtimeLightmaps: 0
+ m_LightmapEditorSettings:
+ serializedVersion: 12
+ m_Resolution: 2
+ m_BakeResolution: 40
+ m_AtlasSize: 1024
+ m_AO: 0
+ m_AOMaxDistance: 1
+ m_CompAOExponent: 1
+ m_CompAOExponentDirect: 0
+ m_ExtractAmbientOcclusion: 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: 512
+ m_PVRBounces: 2
+ m_PVREnvironmentSampleCount: 256
+ m_PVREnvironmentReferencePointCount: 2048
+ m_PVRFilteringMode: 1
+ m_PVRDenoiserTypeDirect: 1
+ m_PVRDenoiserTypeIndirect: 1
+ m_PVRDenoiserTypeAO: 1
+ m_PVRFilterTypeDirect: 0
+ m_PVRFilterTypeIndirect: 0
+ m_PVRFilterTypeAO: 0
+ m_PVREnvironmentMIS: 1
+ m_PVRCulling: 1
+ m_PVRFilteringGaussRadiusDirect: 1
+ m_PVRFilteringGaussRadiusIndirect: 5
+ m_PVRFilteringGaussRadiusAO: 2
+ m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+ m_PVRFilteringAtrousPositionSigmaIndirect: 2
+ m_PVRFilteringAtrousPositionSigmaAO: 1
+ m_ExportTrainingData: 0
+ m_TrainingDataDestination: TrainingData
+ m_LightProbeSampleCountMultiplier: 4
+ 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 &579522505
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 579522507}
+ - component: {fileID: 579522506}
+ m_Layer: 0
+ m_Name: DirectionalLight
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!108 &579522506
+Light:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 579522505}
+ m_Enabled: 1
+ serializedVersion: 10
+ m_Type: 1
+ m_Shape: 0
+ m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
+ m_Intensity: 1
+ m_Range: 10
+ m_SpotAngle: 30
+ m_InnerSpotAngle: 21.80208
+ 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_CullingMatrixOverride:
+ e00: 1
+ e01: 0
+ e02: 0
+ e03: 0
+ e10: 0
+ e11: 1
+ e12: 0
+ e13: 0
+ e20: 0
+ e21: 0
+ e22: 1
+ e23: 0
+ e30: 0
+ e31: 0
+ e32: 0
+ e33: 1
+ m_UseCullingMatrixOverride: 0
+ m_Cookie: {fileID: 0}
+ m_DrawHalo: 0
+ m_Flare: {fileID: 0}
+ m_RenderMode: 0
+ m_CullingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ m_RenderingLayerMask: 1
+ m_Lightmapping: 4
+ m_LightShadowCasterMode: 0
+ m_AreaSize: {x: 1, y: 1}
+ m_BounceIntensity: 1
+ m_ColorTemperature: 6570
+ m_UseColorTemperature: 0
+ m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
+ m_UseBoundingSphereOverride: 0
+ m_ShadowRadius: 0
+ m_ShadowAngle: 0
+--- !u!4 &579522507
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 579522505}
+ 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: 1560495123}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
+--- !u!1 &1194471405
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1194471408}
+ - component: {fileID: 1194471407}
+ - component: {fileID: 1194471406}
+ m_Layer: 0
+ m_Name: EventSystem
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1194471406
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1194471405}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, 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 &1194471407
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1194471405}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_FirstSelected: {fileID: 0}
+ m_sendNavigationEvents: 1
+ m_DragThreshold: 10
+--- !u!4 &1194471408
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1194471405}
+ 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: 1711634209}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1230328349
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1230328350}
+ - component: {fileID: 1230328352}
+ - component: {fileID: 1230328351}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1230328350
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1230328349}
+ 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: 1467385995}
+ 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 &1230328351
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1230328349}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, 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_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ 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: Toggle color
+--- !u!222 &1230328352
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1230328349}
+ m_CullTransparentMesh: 0
+--- !u!1 &1315013218
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1315013221}
+ - component: {fileID: 1315013220}
+ - component: {fileID: 1315013219}
+ m_Layer: 0
+ m_Name: MainCamera
+ m_TagString: MainCamera
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!81 &1315013219
+AudioListener:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1315013218}
+ m_Enabled: 1
+--- !u!20 &1315013220
+Camera:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1315013218}
+ 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_GateFitMode: 2
+ m_FOVAxisMode: 0
+ 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 &1315013221
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1315013218}
+ 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: 1560495123}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1467385994
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1467385995}
+ - component: {fileID: 1467385998}
+ - component: {fileID: 1467385997}
+ - component: {fileID: 1467385996}
+ m_Layer: 5
+ m_Name: ToggleColorButton
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1467385995
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1467385994}
+ 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: 1230328350}
+ m_Father: {fileID: 1815001690}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0}
+ m_AnchorMax: {x: 0.5, y: 0}
+ m_AnchoredPosition: {x: 0, y: 32}
+ m_SizeDelta: {x: 160, y: 30}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1467385996
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1467385994}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, 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_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, 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_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Selected
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 1467385997}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 11400000, guid: d00456c7b79fe934e94fc3ea78469b7a, 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
+--- !u!114 &1467385997
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1467385994}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ 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
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1467385998
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1467385994}
+ m_CullTransparentMesh: 0
+--- !u!1 &1560495122
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1560495123}
+ m_Layer: 0
+ m_Name: Setup
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1560495123
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1560495122}
+ 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: 1315013221}
+ - {fileID: 579522507}
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1711634208
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1711634209}
+ m_Layer: 0
+ m_Name: UI
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1711634209
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1711634208}
+ 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: 1815001690}
+ - {fileID: 1194471408}
+ m_Father: {fileID: 0}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1815001686
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1815001690}
+ - component: {fileID: 1815001689}
+ - component: {fileID: 1815001688}
+ - component: {fileID: 1815001687}
+ m_Layer: 5
+ m_Name: Canvas
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1815001687
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1815001686}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreReversedGraphics: 1
+ m_BlockingObjects: 0
+ m_BlockingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+--- !u!114 &1815001688
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1815001686}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, 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 &1815001689
+Canvas:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1815001686}
+ 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 &1815001690
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1815001686}
+ 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: 1467385995}
+ m_Father: {fileID: 1711634209}
+ m_RootOrder: 0
+ 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 &1972673856
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1972673860}
+ - component: {fileID: 1972673859}
+ - component: {fileID: 1972673858}
+ - component: {fileID: 1972673857}
+ m_Layer: 0
+ m_Name: Cube
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1972673857
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1972673856}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: e3e861e18fd61714b8259b6e6b81974b, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!23 &1972673858
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1972673856}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ 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_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ 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 &1972673859
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1972673856}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!4 &1972673860
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1972673856}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 3, y: 3, z: 3}
+ m_Children: []
+ m_Father: {fileID: 2081766997}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &2081766996
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2081766997}
+ m_Layer: 0
+ m_Name: Sample
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &2081766997
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2081766996}
+ 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: 1972673860}
+ - {fileID: 2085729137}
+ m_Father: {fileID: 0}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &2085729135
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2085729137}
+ - component: {fileID: 2085729136}
+ m_Layer: 0
+ m_Name: ToggleColorEventListener
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &2085729136
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2085729135}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 2300d56ac22446e59de6de2fb87235d1, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ scriptableEvent: {fileID: 11400000, guid: d00456c7b79fe934e94fc3ea78469b7a, type: 2}
+ onRaised:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 1972673857}
+ m_MethodName: ToggleColor
+ 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
+--- !u!4 &2085729137
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2085729135}
+ 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: 2081766997}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
diff --git a/Packages/com.chark.scriptable-events/Samples~/SimpleEvents/SimpleEventsScene.unity.meta b/Packages/com.chark.scriptable-events/Samples~/SimpleEvents/SimpleEventsScene.unity.meta
new file mode 100644
index 0000000..f7a19a4
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Samples~/SimpleEvents/SimpleEventsScene.unity.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 9ab50225cf365ce499a69d7011561174
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Samples/GameEvents/Events/TargetDeathEvent.asset b/Packages/com.chark.scriptable-events/Samples~/SimpleEvents/ToggleColorEvent.asset
similarity index 52%
rename from Assets/Samples/GameEvents/Events/TargetDeathEvent.asset
rename to Packages/com.chark.scriptable-events/Samples~/SimpleEvents/ToggleColorEvent.asset
index 66e9a18..bd5503d 100644
--- a/Assets/Samples/GameEvents/Events/TargetDeathEvent.asset
+++ b/Packages/com.chark.scriptable-events/Samples~/SimpleEvents/ToggleColorEvent.asset
@@ -9,7 +9,13 @@ MonoBehaviour:
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 21db6c450dc447148ebdd67c2a7c553d, type: 3}
- m_Name: TargetDeathEvent
+ m_Script: {fileID: 11500000, guid: 3ca9d72c0f5043e9b9ed7e25d63422f5, type: 3}
+ m_Name: ToggleColorEvent
m_EditorClassIdentifier:
- debug: 0
+ description: 'Toggles between whie and black colors. Raised when color toggle button
+ is clicked.
+
+'
+ lockDescription: 1
+ suppressExceptions: 0
+ trace: 0
diff --git a/Assets/Samples/GameEvents/Materials/Target.mat.meta b/Packages/com.chark.scriptable-events/Samples~/SimpleEvents/ToggleColorEvent.asset.meta
similarity index 78%
rename from Assets/Samples/GameEvents/Materials/Target.mat.meta
rename to Packages/com.chark.scriptable-events/Samples~/SimpleEvents/ToggleColorEvent.asset.meta
index 74c946f..a062008 100644
--- a/Assets/Samples/GameEvents/Materials/Target.mat.meta
+++ b/Packages/com.chark.scriptable-events/Samples~/SimpleEvents/ToggleColorEvent.asset.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 275f385ed1d71b242ac4af4042c4974e
+guid: d00456c7b79fe934e94fc3ea78469b7a
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
diff --git a/Assets/Tests.meta b/Packages/com.chark.scriptable-events/Tests.meta
similarity index 100%
rename from Assets/Tests.meta
rename to Packages/com.chark.scriptable-events/Tests.meta
diff --git a/Packages/com.chark.scriptable-events/Tests/Editor.meta b/Packages/com.chark.scriptable-events/Tests/Editor.meta
new file mode 100644
index 0000000..b0342b2
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Tests/Editor.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 210cefc4ade5410aa5e1b1bd69ab9117
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Packages/com.chark.scriptable-events/Tests/Editor/Chark.ScriptableEvents.Editor.Tests.asmdef b/Packages/com.chark.scriptable-events/Tests/Editor/Chark.ScriptableEvents.Editor.Tests.asmdef
new file mode 100644
index 0000000..5e8a95d
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Tests/Editor/Chark.ScriptableEvents.Editor.Tests.asmdef
@@ -0,0 +1,14 @@
+{
+ "name": "Chark.ScriptableEvents.Editor.Tests",
+ "rootNamespace": "ScriptableEvents.Editor.Tests",
+ "references": [
+ "Chark.ScriptableEvents",
+ "Chark.ScriptableEvents.Editor"
+ ],
+ "includePlatforms": [
+ "Editor"
+ ],
+ "optionalUnityReferences": [
+ "TestAssemblies"
+ ]
+}
diff --git a/Packages/com.chark.scriptable-events/Tests/Editor/Chark.ScriptableEvents.Editor.Tests.asmdef.meta b/Packages/com.chark.scriptable-events/Tests/Editor/Chark.ScriptableEvents.Editor.Tests.asmdef.meta
new file mode 100644
index 0000000..3a93ec1
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Tests/Editor/Chark.ScriptableEvents.Editor.Tests.asmdef.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 615be4064e9e4487b1de6bca3ddbbb78
+timeCreated: 1611441796
\ No newline at end of file
diff --git a/Packages/com.chark.scriptable-events/Tests/Editor/ScriptableEventAttributeTest.cs b/Packages/com.chark.scriptable-events/Tests/Editor/ScriptableEventAttributeTest.cs
new file mode 100644
index 0000000..509b109
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Tests/Editor/ScriptableEventAttributeTest.cs
@@ -0,0 +1,60 @@
+using System;
+using System.Reflection;
+using NUnit.Framework;
+using UnityEngine;
+
+namespace ScriptableEvents.Editor.Tests
+{
+ [TestFixtureSource(typeof(ScriptableEventAttributeTestSource))]
+ public class ScriptableEventAttributeTest
+ {
+ private readonly Type eventType;
+ private readonly Type listenerType;
+
+ private readonly string eventFileName;
+ private readonly string eventMenuName;
+ private readonly string listenerMenuName;
+
+ private readonly int order;
+
+ public ScriptableEventAttributeTest(
+ Type eventType,
+ Type listenerType,
+ string eventFileName,
+ string eventMenuName,
+ string listenerMenuName,
+ int order
+ )
+ {
+ this.eventType = eventType;
+ this.listenerType = listenerType;
+ this.eventFileName = eventFileName;
+ this.eventMenuName = eventMenuName;
+ this.listenerMenuName = listenerMenuName;
+ this.order = order;
+ }
+
+ [Test]
+ public void ShouldMatchEventAttributeValues()
+ {
+ var eventMenuAttribute = GetAttribute(eventType);
+ Assert.AreEqual(eventFileName, eventMenuAttribute.fileName);
+ Assert.AreEqual(eventMenuName, eventMenuAttribute.menuName);
+ Assert.AreEqual(order, eventMenuAttribute.order);
+ }
+
+ [Test]
+ public void ShouldMatchListenerAttributeValues()
+ {
+ var listenerMenuAttribute = GetAttribute(listenerType);
+ Assert.AreEqual(listenerMenuName, listenerMenuAttribute.componentMenu);
+ Assert.AreEqual(order, listenerMenuAttribute.componentOrder);
+ }
+
+ private static TAttribute GetAttribute(MemberInfo type)
+ where TAttribute : Attribute
+ {
+ return (TAttribute) type.GetCustomAttribute(typeof(TAttribute));
+ }
+ }
+}
diff --git a/Packages/com.chark.scriptable-events/Tests/Editor/ScriptableEventAttributeTest.cs.meta b/Packages/com.chark.scriptable-events/Tests/Editor/ScriptableEventAttributeTest.cs.meta
new file mode 100644
index 0000000..4f258c5
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Tests/Editor/ScriptableEventAttributeTest.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 13e0bf5f226f4e97a5dcaa290ca66394
+timeCreated: 1611441959
\ No newline at end of file
diff --git a/Packages/com.chark.scriptable-events/Tests/Editor/ScriptableEventAttributeTestSource.cs b/Packages/com.chark.scriptable-events/Tests/Editor/ScriptableEventAttributeTestSource.cs
new file mode 100644
index 0000000..0164f22
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Tests/Editor/ScriptableEventAttributeTestSource.cs
@@ -0,0 +1,130 @@
+using System.Collections;
+using ScriptableEvents.Bool;
+using ScriptableEvents.Float;
+using ScriptableEvents.GameObject;
+using ScriptableEvents.Int;
+using ScriptableEvents.Simple;
+using ScriptableEvents.String;
+using ScriptableEvents.Transform;
+using ScriptableEvents.Vector2;
+using ScriptableEvents.Vector3;
+
+namespace ScriptableEvents.Editor.Tests
+{
+ public class ScriptableEventAttributeTestSource : IEnumerable
+ {
+ public IEnumerator GetEnumerator()
+ {
+ yield return CreateTestCase<
+ BoolScriptableEvent,
+ BoolScriptableEventListener
+ >(
+ "BoolScriptableEvent",
+ "Scriptable Events/Bool Scriptable Event",
+ "Scriptable Events/Bool Scriptable Event Listener",
+ 1
+ );
+
+ yield return CreateTestCase<
+ FloatScriptableEvent,
+ FloatScriptableEventListener
+ >(
+ "FloatScriptableEvent",
+ "Scriptable Events/Float Scriptable Event",
+ "Scriptable Events/Float Scriptable Event Listener",
+ 2
+ );
+
+ yield return CreateTestCase<
+ GameObjectScriptableEvent,
+ GameObjectScriptableEventListener
+ >(
+ "GameObjectScriptableEvent",
+ "Scriptable Events/Game Object Scriptable Event",
+ "Scriptable Events/Game Object Scriptable Event Listener",
+ 3
+ );
+
+ yield return CreateTestCase<
+ IntScriptableEvent,
+ IntScriptableEventListener
+ >(
+ "IntScriptableEvent",
+ "Scriptable Events/Int Scriptable Event",
+ "Scriptable Events/Int Scriptable Event Listener",
+ 4
+ );
+
+ yield return CreateTestCase<
+ SimpleScriptableEvent,
+ SimpleScriptableEventListener
+ >(
+ "SimpleScriptableEvent",
+ "Scriptable Events/Simple Scriptable Event",
+ "Scriptable Events/Simple Scriptable Event Listener",
+ -10
+ );
+
+ yield return CreateTestCase<
+ StringScriptableEvent,
+ StringScriptableEventListener
+ >(
+ "StringScriptableEvent",
+ "Scriptable Events/String Scriptable Event",
+ "Scriptable Events/String Scriptable Event Listener",
+ 5
+ );
+
+ yield return CreateTestCase<
+ TransformScriptableEvent,
+ TransformScriptableEventListener
+ >(
+ "TransformScriptableEvent",
+ "Scriptable Events/Transform Scriptable Event",
+ "Scriptable Events/Transform Scriptable Event Listener",
+ 6
+ );
+
+ yield return CreateTestCase<
+ Vector2ScriptableEvent,
+ Vector2ScriptableEventListener
+ >(
+ "Vector2ScriptableEvent",
+ "Scriptable Events/Vector2 Scriptable Event",
+ "Scriptable Events/Vector2 Scriptable Event Listener",
+ 7
+ );
+
+ yield return CreateTestCase<
+ Vector3ScriptableEvent,
+ Vector3ScriptableEventListener
+ >(
+ "Vector3ScriptableEvent",
+ "Scriptable Events/Vector3 Scriptable Event",
+ "Scriptable Events/Vector3 Scriptable Event Listener",
+ 8
+ );
+ }
+
+ private static object[] CreateTestCase<
+ TScriptableEvent,
+ TScriptableEventListener
+ >(
+ string eventFileName,
+ string eventMenuName,
+ string listenerMenuName,
+ int order
+ )
+ {
+ return new object[]
+ {
+ typeof(TScriptableEvent),
+ typeof(TScriptableEventListener),
+ eventFileName,
+ eventMenuName,
+ listenerMenuName,
+ order
+ };
+ }
+ }
+}
diff --git a/Packages/com.chark.scriptable-events/Tests/Editor/ScriptableEventAttributeTestSource.cs.meta b/Packages/com.chark.scriptable-events/Tests/Editor/ScriptableEventAttributeTestSource.cs.meta
new file mode 100644
index 0000000..e6ad066
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Tests/Editor/ScriptableEventAttributeTestSource.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: fcdd45780f4445de98bc82ee46433efb
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Tests/Runtime.meta b/Packages/com.chark.scriptable-events/Tests/Runtime.meta
similarity index 100%
rename from Assets/Tests/Runtime.meta
rename to Packages/com.chark.scriptable-events/Tests/Runtime.meta
diff --git a/Packages/com.chark.scriptable-events/Tests/Runtime/Chark.ScriptableEvents.Tests.asmdef b/Packages/com.chark.scriptable-events/Tests/Runtime/Chark.ScriptableEvents.Tests.asmdef
new file mode 100644
index 0000000..9654347
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Tests/Runtime/Chark.ScriptableEvents.Tests.asmdef
@@ -0,0 +1,10 @@
+{
+ "name": "Chark.ScriptableEvents.Tests",
+ "rootNamespace": "ScriptableEvents.Tests",
+ "references": [
+ "Chark.ScriptableEvents"
+ ],
+ "optionalUnityReferences": [
+ "TestAssemblies"
+ ]
+}
diff --git a/Packages/com.chark.scriptable-events/Tests/Runtime/Chark.ScriptableEvents.Tests.asmdef.meta b/Packages/com.chark.scriptable-events/Tests/Runtime/Chark.ScriptableEvents.Tests.asmdef.meta
new file mode 100644
index 0000000..ca68477
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Tests/Runtime/Chark.ScriptableEvents.Tests.asmdef.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 81ca8701d7fd4d309754b55f4e13dd62
+timeCreated: 1611398777
\ No newline at end of file
diff --git a/Packages/com.chark.scriptable-events/Tests/Runtime/MockScriptableEventListener.cs b/Packages/com.chark.scriptable-events/Tests/Runtime/MockScriptableEventListener.cs
new file mode 100644
index 0000000..ca9f3ca
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Tests/Runtime/MockScriptableEventListener.cs
@@ -0,0 +1,14 @@
+using System;
+
+namespace ScriptableEvents.Tests
+{
+ public class MockScriptableEventListener : IScriptableEventListener
+ {
+ public Action Action { get; set; }
+
+ public void OnRaised(TArg arg)
+ {
+ Action?.Invoke(arg);
+ }
+ }
+}
diff --git a/Packages/com.chark.scriptable-events/Tests/Runtime/MockScriptableEventListener.cs.meta b/Packages/com.chark.scriptable-events/Tests/Runtime/MockScriptableEventListener.cs.meta
new file mode 100644
index 0000000..908082e
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Tests/Runtime/MockScriptableEventListener.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 9842077435ff46a898175b8ad3da81df
+timeCreated: 1611438003
\ No newline at end of file
diff --git a/Packages/com.chark.scriptable-events/Tests/Runtime/ReflectionExtensions.cs b/Packages/com.chark.scriptable-events/Tests/Runtime/ReflectionExtensions.cs
new file mode 100644
index 0000000..8ddd3e7
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Tests/Runtime/ReflectionExtensions.cs
@@ -0,0 +1,35 @@
+using System.Reflection;
+
+namespace ScriptableEvents.Tests
+{
+ public static class TestExtensions
+ {
+ private const BindingFlags PrivateFieldBindingFlags =
+ BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.DeclaredOnly;
+
+ ///
+ /// Set private field value with give name on this object.
+ ///
+ public static void SetField(this object obj, string name, object value)
+ {
+ var field = obj.GetField(name);
+ field.SetValue(obj, value);
+ }
+
+ ///
+ /// Private field from this this with given name.
+ ///
+ public static FieldInfo GetField(this object obj, string name)
+ {
+ var type = obj.GetType();
+
+ FieldInfo info;
+ do
+ {
+ info = type.GetField(name, PrivateFieldBindingFlags);
+ } while (info == null && (type = type.BaseType) != null);
+
+ return info;
+ }
+ }
+}
diff --git a/Packages/com.chark.scriptable-events/Tests/Runtime/ReflectionExtensions.cs.meta b/Packages/com.chark.scriptable-events/Tests/Runtime/ReflectionExtensions.cs.meta
new file mode 100644
index 0000000..b77d2bd
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Tests/Runtime/ReflectionExtensions.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 1fe75f7c383b466693b98cef1b66c887
+timeCreated: 1611421081
\ No newline at end of file
diff --git a/Packages/com.chark.scriptable-events/Tests/Runtime/ScriptableEventTest.cs b/Packages/com.chark.scriptable-events/Tests/Runtime/ScriptableEventTest.cs
new file mode 100644
index 0000000..6fc2d6c
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Tests/Runtime/ScriptableEventTest.cs
@@ -0,0 +1,142 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using NUnit.Framework;
+using UnityEngine;
+using UnityEngine.Events;
+using UnityEngine.TestTools;
+
+namespace ScriptableEvents.Tests
+{
+ [TestFixtureSource(typeof(ScriptableEventTestSource))]
+ public class ScriptableEventTest<
+ TScriptableEvent,
+ TScriptableEventListener,
+ TUnityEvent,
+ TArg
+ >
+ where TScriptableEvent : ScriptableObject, IScriptableEvent
+ where TScriptableEventListener : Component, IScriptableEventListener
+ where TUnityEvent : UnityEvent, new()
+ {
+ #region Fields
+
+ private readonly TArg arg;
+
+ private List capturedArgs;
+ private TScriptableEvent scriptableEvent;
+ private TUnityEvent unityEvent;
+ private TScriptableEventListener scriptableEventListener;
+
+ #endregion
+
+ #region Methods
+
+ public ScriptableEventTest(TArg arg)
+ {
+ this.arg = arg;
+ }
+
+ [SetUp]
+ public void SetUp()
+ {
+ SetupRaisedArgs();
+ SetupScriptableEvent();
+ SetupUnityEvent();
+ SetupScriptableEventListener();
+ }
+
+ [Test]
+ public void ShouldGetListeners()
+ {
+ var listeners = scriptableEvent.Listeners;
+
+ // By default one listener is added in this test.
+ Assert.AreEqual(1, listeners.Count);
+ Assert.AreEqual(scriptableEventListener, listeners.First());
+ }
+
+ [Test]
+ public void ShouldRaiseEvent()
+ {
+ scriptableEvent.Raise(arg);
+
+ Assert.AreEqual(1, capturedArgs.Count);
+ Assert.AreEqual(arg, capturedArgs.First());
+ }
+
+ [Test]
+ public void ShouldRaiseEventAndContinueListenerChain()
+ {
+ LogAssert.ignoreFailingMessages = true;
+
+ scriptableEvent.SetField("suppressExceptions", true);
+ scriptableEvent.Add(new MockScriptableEventListener
+ {
+ Action = capturedArg => throw new Exception()
+ });
+
+ scriptableEvent.Raise(arg);
+
+ Assert.AreEqual(1, capturedArgs.Count);
+ }
+
+ [Test]
+ public void ShouldAddListenerTwiceAndRaiseEventOnce()
+ {
+ scriptableEvent.Add(scriptableEventListener);
+ scriptableEvent.Raise(arg);
+
+ Assert.AreEqual(1, capturedArgs.Count);
+ }
+
+ [Test]
+ public void ShouldRemoveListenerAndRaiseEvent()
+ {
+ scriptableEvent.Remove(scriptableEventListener);
+ scriptableEvent.Raise(arg);
+
+ Assert.AreEqual(0, capturedArgs.Count);
+ }
+
+ [Test]
+ public void ShouldClearAndRaiseEvent()
+ {
+ scriptableEvent.Clear();
+ scriptableEvent.Raise(arg);
+
+ Assert.AreEqual(0, capturedArgs.Count);
+ }
+
+ private void SetupRaisedArgs()
+ {
+ capturedArgs = new List();
+ }
+
+ private void SetupScriptableEvent()
+ {
+ scriptableEvent = ScriptableObject.CreateInstance();
+ }
+
+ private void SetupUnityEvent()
+ {
+ unityEvent = new TUnityEvent();
+ unityEvent.AddListener(capturedArgs.Add);
+ }
+
+ private void SetupScriptableEventListener()
+ {
+ var gameObject = new UnityEngine.GameObject();
+ gameObject.SetActive(false);
+
+ scriptableEventListener = gameObject.AddComponent();
+ scriptableEventListener.SetField("scriptableEvent", scriptableEvent);
+ scriptableEventListener.SetField("onRaised", unityEvent);
+
+ // Add listener by triggering OnEnabled.
+ gameObject.SetActive(true);
+ }
+
+ #endregion
+ }
+}
diff --git a/Packages/com.chark.scriptable-events/Tests/Runtime/ScriptableEventTest.cs.meta b/Packages/com.chark.scriptable-events/Tests/Runtime/ScriptableEventTest.cs.meta
new file mode 100644
index 0000000..70a10ef
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Tests/Runtime/ScriptableEventTest.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: daa2c11fbd9541b89b5d1cd38e37dfad
+timeCreated: 1611399015
\ No newline at end of file
diff --git a/Packages/com.chark.scriptable-events/Tests/Runtime/ScriptableEventTestSource.cs b/Packages/com.chark.scriptable-events/Tests/Runtime/ScriptableEventTestSource.cs
new file mode 100644
index 0000000..e11de2e
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Tests/Runtime/ScriptableEventTestSource.cs
@@ -0,0 +1,95 @@
+using System.Collections;
+using NUnit.Framework;
+using NUnit.Framework.Internal;
+using ScriptableEvents.Bool;
+using ScriptableEvents.Float;
+using ScriptableEvents.GameObject;
+using ScriptableEvents.Int;
+using ScriptableEvents.Simple;
+using ScriptableEvents.String;
+using ScriptableEvents.Transform;
+using ScriptableEvents.Vector2;
+using ScriptableEvents.Vector3;
+
+namespace ScriptableEvents.Tests
+{
+ public class ScriptableEventTestSource : IEnumerable
+ {
+ public IEnumerator GetEnumerator()
+ {
+ yield return CreateTestCase<
+ BoolScriptableEvent,
+ BoolScriptableEventListener,
+ BoolUnityEvent
+ >(true);
+
+ yield return CreateTestCase<
+ FloatScriptableEvent,
+ FloatScriptableEventListener,
+ FloatUnityEvent
+ >(1.0f);
+
+ yield return CreateTestCase<
+ GameObjectScriptableEvent,
+ GameObjectScriptableEventListener,
+ GameObjectUnityEvent
+ >(new UnityEngine.GameObject());
+
+ yield return CreateTestCase<
+ IntScriptableEvent,
+ IntScriptableEventListener,
+ IntUnityEvent
+ >(1);
+
+ yield return CreateTestCase<
+ SimpleScriptableEvent,
+ SimpleScriptableEventListener,
+ SimpleUnityEvent
+ >(SimpleArg.Instance);
+
+ yield return CreateTestCase<
+ StringScriptableEvent,
+ StringScriptableEventListener,
+ StringUnityEvent
+ >("hello");
+
+ yield return CreateTestCase<
+ TransformScriptableEvent,
+ TransformScriptableEventListener,
+ TransformUnityEvent
+ >(new UnityEngine.GameObject().transform);
+
+ yield return CreateTestCase<
+ Vector2ScriptableEvent,
+ Vector2ScriptableEventListener,
+ Vector2UnityEvent
+ >(UnityEngine.Vector2.one);
+
+ yield return CreateTestCase<
+ Vector3ScriptableEvent,
+ Vector3ScriptableEventListener,
+ Vector3UnityEvent
+ >(UnityEngine.Vector3.one);
+ }
+
+ private static TestFixtureParameters CreateTestCase<
+ TScriptableEvent,
+ TScriptableEventListener,
+ TUnityEvent
+ >(object arg)
+ {
+ var attribute = new TestFixtureAttribute(arg)
+ {
+ TypeArgs = new[]
+ {
+ typeof(TScriptableEvent),
+ typeof(TScriptableEventListener),
+ typeof(TUnityEvent),
+ arg.GetType()
+ }
+ };
+
+ return new TestFixtureParameters(attribute);
+ }
+ }
+}
diff --git a/Packages/com.chark.scriptable-events/Tests/Runtime/ScriptableEventTestSource.cs.meta b/Packages/com.chark.scriptable-events/Tests/Runtime/ScriptableEventTestSource.cs.meta
new file mode 100644
index 0000000..52c34a1
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Tests/Runtime/ScriptableEventTestSource.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: d9d62e2b5a72460483706b5b707a7de4
+timeCreated: 1611419836
\ No newline at end of file
diff --git a/Packages/com.chark.scriptable-events/Tests/Runtime/SimpleScriptableEventTest.cs b/Packages/com.chark.scriptable-events/Tests/Runtime/SimpleScriptableEventTest.cs
new file mode 100644
index 0000000..97a9242
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Tests/Runtime/SimpleScriptableEventTest.cs
@@ -0,0 +1,31 @@
+using System.Collections.Generic;
+using System.Linq;
+using NUnit.Framework;
+using ScriptableEvents.Simple;
+using UnityEngine;
+
+namespace ScriptableEvents.Tests
+{
+ [TestFixture]
+ public class SimpleScriptableEventTest
+ {
+ // Requires additional test case as SimpleScriptableEvent introduces a new method.
+ [Test]
+ public void ShouldRaiseEventWithoutArgument()
+ {
+ var capturedArgs = new List();
+ var mockScriptableEventListener = new MockScriptableEventListener
+ {
+ Action = capturedArgs.Add
+ };
+
+ var simpleScriptableEvent = ScriptableObject.CreateInstance();
+ simpleScriptableEvent.Add(mockScriptableEventListener);
+
+ simpleScriptableEvent.Raise();
+
+ Assert.AreEqual(1, capturedArgs.Count);
+ Assert.AreEqual(SimpleArg.Instance, capturedArgs.First());
+ }
+ }
+}
diff --git a/Packages/com.chark.scriptable-events/Tests/Runtime/SimpleScriptableEventTest.cs.meta b/Packages/com.chark.scriptable-events/Tests/Runtime/SimpleScriptableEventTest.cs.meta
new file mode 100644
index 0000000..44883dd
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/Tests/Runtime/SimpleScriptableEventTest.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 0de27fa351484c83ad39fcd1c746e3ce
+timeCreated: 1611441400
\ No newline at end of file
diff --git a/Packages/com.chark.scriptable-events/package.json b/Packages/com.chark.scriptable-events/package.json
new file mode 100644
index 0000000..5f674e2
--- /dev/null
+++ b/Packages/com.chark.scriptable-events/package.json
@@ -0,0 +1,35 @@
+{
+ "name": "com.chark.scriptable-events",
+ "displayName": "Scriptable Events",
+ "author": {
+ "name": "CHARK",
+ "url": "https://chark.io"
+ },
+ "version": "1.0.0",
+ "unity": "2019.4",
+ "description": "Simple and extensible event system implemented via ScriptableObject.",
+ "keywords": [
+ "event",
+ "listener",
+ "scriptableobject",
+ "unity",
+ "architecture"
+ ],
+ "samples": [
+ {
+ "displayName": "Simple Events",
+ "description": "Shows how to use events without passing any arguments.",
+ "path": "Samples~/SimpleEvents"
+ },
+ {
+ "displayName": "Events With Arguments",
+ "description": "Shows how to use events with arguments.",
+ "path": "Samples~/EventsWithArguments"
+ },
+ {
+ "displayName": "Custom Events",
+ "description": "Shows how to create custom events, editors and pass custom data via events.",
+ "path": "Samples~/CustomEvents"
+ }
+ ]
+}
diff --git a/Assets/package.json.meta b/Packages/com.chark.scriptable-events/package.json.meta
similarity index 100%
rename from Assets/package.json.meta
rename to Packages/com.chark.scriptable-events/package.json.meta
diff --git a/Packages/manifest.json b/Packages/manifest.json
index 3819415..ddd1fdf 100644
--- a/Packages/manifest.json
+++ b/Packages/manifest.json
@@ -1,9 +1,9 @@
{
"dependencies": {
"com.unity.ide.rider": "1.1.4",
- "com.unity.ide.vscode": "1.2.1",
- "com.unity.render-pipelines.universal": "7.3.1",
- "com.unity.test-framework": "1.1.16",
+ "com.unity.ide.vscode": "1.2.3",
+ "com.unity.package-validation-suite": "0.19.2-preview",
+ "com.unity.test-framework": "1.1.20",
"com.unity.ugui": "1.0.0",
"com.unity.modules.assetbundle": "1.0.0",
"com.unity.modules.audio": "1.0.0",
diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json
index c70904d..e000a49 100644
--- a/Packages/packages-lock.json
+++ b/Packages/packages-lock.json
@@ -1,7 +1,13 @@
{
"dependencies": {
+ "com.chark.scriptable-events": {
+ "version": "file:com.chark.scriptable-events",
+ "depth": 0,
+ "source": "embedded",
+ "dependencies": {}
+ },
"com.unity.ext.nunit": {
- "version": "1.0.0",
+ "version": "1.0.6",
"depth": 1,
"source": "registry",
"dependencies": {},
@@ -17,46 +23,36 @@
"url": "https://packages.unity.com"
},
"com.unity.ide.vscode": {
- "version": "1.2.1",
+ "version": "1.2.3",
"depth": 0,
"source": "registry",
"dependencies": {},
"url": "https://packages.unity.com"
},
- "com.unity.render-pipelines.core": {
- "version": "7.3.1",
+ "com.unity.nuget.mono-cecil": {
+ "version": "0.1.6-preview.2",
"depth": 1,
"source": "registry",
"dependencies": {
- "com.unity.ugui": "1.0.0"
+ "nuget.mono-cecil": "0.1.6-preview"
},
"url": "https://packages.unity.com"
},
- "com.unity.render-pipelines.universal": {
- "version": "7.3.1",
+ "com.unity.package-validation-suite": {
+ "version": "0.19.2-preview",
"depth": 0,
"source": "registry",
"dependencies": {
- "com.unity.render-pipelines.core": "7.3.1",
- "com.unity.shadergraph": "7.3.1"
- },
- "url": "https://packages.unity.com"
- },
- "com.unity.shadergraph": {
- "version": "7.3.1",
- "depth": 1,
- "source": "registry",
- "dependencies": {
- "com.unity.render-pipelines.core": "7.3.1"
+ "com.unity.nuget.mono-cecil": "0.1.6-preview.2"
},
"url": "https://packages.unity.com"
},
"com.unity.test-framework": {
- "version": "1.1.16",
+ "version": "1.1.20",
"depth": 0,
"source": "registry",
"dependencies": {
- "com.unity.ext.nunit": "1.0.0",
+ "com.unity.ext.nunit": "1.0.6",
"com.unity.modules.imgui": "1.0.0",
"com.unity.modules.jsonserialize": "1.0.0"
},
@@ -71,6 +67,13 @@
"com.unity.modules.imgui": "1.0.0"
}
},
+ "nuget.mono-cecil": {
+ "version": "0.1.6-preview",
+ "depth": 2,
+ "source": "registry",
+ "dependencies": {},
+ "url": "https://packages.unity.com"
+ },
"com.unity.modules.animation": {
"version": "1.0.0",
"depth": 1,
diff --git a/ProjectSettings/GraphicsSettings.asset b/ProjectSettings/GraphicsSettings.asset
index 841a23c..7b627d9 100644
--- a/ProjectSettings/GraphicsSettings.asset
+++ b/ProjectSettings/GraphicsSettings.asset
@@ -42,8 +42,7 @@ GraphicsSettings:
m_PreloadedShaders: []
m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000,
type: 0}
- m_CustomRenderPipeline: {fileID: 11400000, guid: 4cc95e0ffb4cb5b41a626555d36a9b76,
- type: 2}
+ m_CustomRenderPipeline: {fileID: 0}
m_TransparencySortMode: 0
m_TransparencySortAxis: {x: 0, y: 0, z: 1}
m_DefaultRenderingPath: 1
diff --git a/ProjectSettings/PackageManagerSettings.asset b/ProjectSettings/PackageManagerSettings.asset
index 9418901..6920e3a 100644
--- a/ProjectSettings/PackageManagerSettings.asset
+++ b/ProjectSettings/PackageManagerSettings.asset
@@ -9,9 +9,9 @@ MonoBehaviour:
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
- m_Script: {fileID: 0}
+ m_Script: {fileID: 13964, guid: 0000000000000000e000000000000000, type: 0}
m_Name:
- m_EditorClassIdentifier: UnityEditor:UnityEditor.PackageManager.UI:PackageManagerProjectSettings
+ m_EditorClassIdentifier:
m_ScopedRegistriesSettingsExpanded: 1
oneTimeWarningShown: 0
m_Registries:
diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset
index 0fa50c3..66a5264 100644
--- a/ProjectSettings/ProjectSettings.asset
+++ b/ProjectSettings/ProjectSettings.asset
@@ -12,8 +12,8 @@ PlayerSettings:
targetDevice: 2
useOnDemandResources: 0
accelerometerFrequency: 60
- companyName: chark
- productName: com.chark.unity-scriptable-objects
+ companyName: CHARK
+ productName: com.chark.scriptable-events
defaultCursor: {fileID: 0}
cursorHotspot: {x: 0, y: 0}
m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1}
@@ -124,7 +124,7 @@ PlayerSettings:
16:10: 1
16:9: 1
Others: 1
- bundleVersion: 0.1.0
+ bundleVersion: 1.0.0
preloadedAssets: []
metroInputSource: 0
wsaTransparentSwapchain: 0
diff --git a/ProjectSettings/ProjectVersion.txt b/ProjectSettings/ProjectVersion.txt
index ae9c8eb..d8ee6b5 100644
--- a/ProjectSettings/ProjectVersion.txt
+++ b/ProjectSettings/ProjectVersion.txt
@@ -1,2 +1,2 @@
-m_EditorVersion: 2019.4.12f1
-m_EditorVersionWithRevision: 2019.4.12f1 (225e826a680e)
+m_EditorVersion: 2019.4.18f1
+m_EditorVersionWithRevision: 2019.4.18f1 (3310a4d4f880)
diff --git a/ProjectSettings/QualitySettings.asset b/ProjectSettings/QualitySettings.asset
index 4219f4b..0600089 100644
--- a/ProjectSettings/QualitySettings.asset
+++ b/ProjectSettings/QualitySettings.asset
@@ -95,7 +95,7 @@ QualitySettings:
skinWeights: 2
textureQuality: 0
anisotropicTextures: 1
- antiAliasing: 8
+ antiAliasing: 0
softParticles: 0
softVegetation: 1
realtimeReflectionProbes: 1
@@ -114,8 +114,7 @@ QualitySettings:
asyncUploadBufferSize: 16
asyncUploadPersistentBuffer: 1
resolutionScalingFixedDPIFactor: 1
- customRenderPipeline: {fileID: 11400000, guid: 19ba41d7c0026c3459d37c2fe90c55a0,
- type: 2}
+ customRenderPipeline: {fileID: 0}
excludedTargetPlatforms: []
m_PerPlatformDefaultQuality:
Android: 1
diff --git a/README.md b/README.md
deleted file mode 100644
index 2daa55b..0000000
--- a/README.md
+++ /dev/null
@@ -1,150 +0,0 @@
-# Unity Scriptable Objects
-[](https://unity3d.com/get-unity/download)
-[](https://github.com/chark/unity-scriptable-objects/actions)
-
-This package provides utilities for implementing game architecture which is oriented around `ScriptableObject` assets and game events. Most of these ideas are based on [Unite2017](https://github.com/roboryantron/Unite2017).
-
-## Features
-- Game events - allows transferring of data between scripts using `ScriptableObject` event assets.
-- Game event listeners - listener components which allow subscribing to various events.
-- Mutable objects - eases up sharing of mutable data via `ScriptableObject` assets.
-
-## Installation
-This package can be installed by using the [Unity Package Manager]. To install this package, add the following to `manifest.json`:
-```json
-{
- "dependencies": {
- "com.chark.unity-scriptable-objects": "https://github.com/chark/unity-scriptable-objects.git#upm"
- }
-}
-```
-
-## Samples
-Example usage of game events and mutable objects can be found in [Assets/Samples](Assets/Samples) directory. These samples can also be imported via [Unity Package Manager].
-
-## Documentation
-
-### Game events
-
-
-
-
-
-Game events are scriptable objects (_Right Click -> Create -> Game Events -> ..._) which can be subscribed to via listener components (_Add Component -> Game Events -> ..._). Events allow to decouple scripts and instead rely on intermediate `ScriptableObject` assets for communication.
-
-Available game events:
-- `GameEvent` - simple event which doesn't accept any arguments.
-- `BoolGameEvent` - event with a `bool` argument.
-- `IntGameEvent` - event with an `int` argument.
-- `FloatGameEvent` - event with a `float` argument.
-- `StringGameEvent` - event with a `string` argument.
-- `Vector2GameEvent` - event with a `Vector2` argument.
-- `Vector3GameEvent` - event with a `Vector3` argument.
-- `TransformGameEvent` - event with a `Transform` argument.
-- `GameObjectGameEvent` - event with a `GameObject` argument.
-
-### Mutable objects
-
-
-Mutable objects are used for storing and editing data on `ScriptableObject` assets at runtime. This data can be referenced, observed and used as a bridge by various scripts. Mutable objects are useful in situations where `ScriptableObject` data needs to be reset when the [active scene changes](https://docs.unity3d.com/ScriptReference/SceneManagement.SceneManager-activeSceneChanged.html).
-
-Available mutable objects:
-- `MutableBool` - encapsulates a `bool` value.
-- `MutableInt` - encapsulates an `int` value.
-- `MutableFloat` - encapsulates a `float` value.
-- `MutableString` - encapsulates a `string` value.
-- `MutableVector2` - encapsulates a `Vector2` value.
-- `MutableVector3` - encapsulates a `Vector3` value.
-
-Each mutable object has a `ResetType` property. This allows specifying when data in the mutable object should be reset. The following modes are available:
-- `None` - do not reset (default).
-- `ActiveSceneChange` - when the active (focused) scene changes.
-- `SceneUnloaded` - when the current scene gets unloaded.
-- `SceneLoaded` - when the scene is loaded.
-
-### Custom game events
-In some situations, built-in game events might not suffice. For example if a custom type needs to be passed as an argument to the event. In this case, a custom game event can be created which would carry all the necessary data.
-
-To create a custom game event, first create a regular `UnityEvent`:
-```cs
-[Serializable]
-public class CustomEvent : UnityEvent
-{
-}
-```
-
-After that is ready, create a game event by extending `GameEvents.Generic.ArgumentGameEvent`:
-```cs
-[CreateAssetMenu(fileName = "CustomEvent", menuName = "Game Events/Custom Event")]
-public class CustomGameEvent : ArgumentGameEvent
-{
-}
-```
-
-Finally, create a game event listener by extending `GameEvents.Generic.ArgumentGameEventListener`:
-```cs
-[AddComponentMenu("Game Events/Custom Game Event Listener")]
-public class CustomGameEventListener : ArgumentGameEventListener
-{
-}
-```
-
-, add a custom editor so that the event could be raised, and the listeners which reference the event get displayed in the inspector.
-```cs
-[CustomEditor(typeof(CustomGameEvent))]
-public class GameObjectGameEventEditor : ArgumentGameEventEditor
-{
- protected override Custom DrawArgumentField(Custom value)
- {
- var fieldValue = EditorGUILayout
- .ObjectField(value, typeof(Custom), true);
-
- return fieldValue as Custom;
- }
-}
-```
-
-### Custom mutable objects
-In some cases, littering the script code with loads of `MutableObject` references can be inconvenient. To avoid this, a single object can be used which encompasses multiple fields.
-
-To create a custom mutable object, extend `MutableObjects.Generic.MutableObject` and override `ResetValues()` method, e.g:
-```cs
-[CreateAssetMenu(fileName = "MutableCustom", menuName = "Mutable Objects/Mutable Custom")]
-public class MutableCustom : MutableObject
-{
- [SerializeField]
- private int health = default;
-
- [SerializeField]
- private int armor = default;
-
- [SerializeField]
- private int xp = default;
-
- public int Health { get; set; }
-
- public int Armor { get; set; }
-
- public int Xp { get; set; }
-
- // This will set property values when mutable object is enabled or if the values change in the
- // inspector.
- public override void ResetValues()
- {
- Health = health;
- Armor = armor;
- Xp = xp;
- }
-}
-```
-
-[Unity Package Manager]: https://docs.unity3d.com/Packages/com.unity.package-manager-ui@2.0/manual/index.html