diff --git a/Common/TimerWrapper.cs b/Common/TimerWrapper.cs
deleted file mode 100644
index c7aaf74..0000000
--- a/Common/TimerWrapper.cs
+++ /dev/null
@@ -1,44 +0,0 @@
-using UnityEngine;
-using UnityEngine.Events;
-
-namespace Common
-{
- public class TimerWrapper : MonoBehaviour
- {
- public UnityAction OnTimerOver;
-
- [SerializeField, Min(0)] private float startTime;
- [SerializeField] private bool countDown = true;
- [SerializeField] private bool startOnAwake;
- [SerializeField] private bool startOnStart;
-
- private Timer timer;
-
- public bool IsRunning => timer.IsRunning;
- public float CurrentTime => timer.CurrentTime;
-
- private void Awake()
- {
- timer = new Timer(startTime, countDown);
- timer.OnTimeOver += OnTimeOver;
- if (startOnAwake) timer.Start();
- }
-
- private void Start()
- {
- if (startOnStart) timer.Start();
- }
-
- private void Update()
- {
- timer.Tick(Time.deltaTime);
- }
-
- public void StartTimer() => timer.Start();
- public void PauseTimer() => timer.Pause();
- public void StopTimer() => timer.Stop();
- public void ResetTimer() => timer.Reset();
-
- private void OnTimeOver() => OnTimerOver?.Invoke();
- }
-}
\ No newline at end of file
diff --git a/Editor/SceneAutoLoader.cs b/Editor/SceneAutoLoader.cs
deleted file mode 100644
index 0eb40fc..0000000
--- a/Editor/SceneAutoLoader.cs
+++ /dev/null
@@ -1,133 +0,0 @@
-using UnityEngine;
-using UnityEditor;
-using UnityEditor.SceneManagement;
-using UnityEngine.SceneManagement;
-
-///
-/// Scene auto loader.
-///
-///
-/// This class adds a File > Scene Autoload menu containing options to select
-/// a "master scene" enable it to be auto-loaded when the user presses play
-/// in the editor. When enabled, the selected scene will be loaded on play,
-/// then the original scene will be reloaded on stop.
-///
-/// Based on an idea on this thread:
-/// http://forum.unity3d.com/threads/157502-Executing-first-scene-in-build-settings-when-pressing-play-button-in-editor
-///
-[InitializeOnLoad]
-public static class SceneAutoLoader
-{
- // Static constructor binds a playmode-changed callback.
- // [InitializeOnLoad] above makes sure this gets executed.
- static SceneAutoLoader()
- {
- EditorApplication.playModeStateChanged += OnPlayModeChanged;
- }
-
- // Menu items to select the "master" scene and control whether or not to load it.
- [MenuItem("File/Scene Autoload/Select Master Scene...")]
- private static void SelectMasterScene()
- {
- string masterScene = EditorUtility.OpenFilePanel("Select Master Scene", Application.dataPath, "unity");
- masterScene = masterScene.Replace(Application.dataPath, "Assets"); //project relative instead of absolute path
- if (!string.IsNullOrEmpty(masterScene))
- {
- MasterScene = masterScene;
- LoadMasterOnPlay = true;
- }
- }
-
- [MenuItem("File/Scene Autoload/Load Master On Play", true)]
- private static bool ShowLoadMasterOnPlay()
- {
- return !LoadMasterOnPlay;
- }
-
- [MenuItem("File/Scene Autoload/Load Master On Play")]
- private static void EnableLoadMasterOnPlay()
- {
- LoadMasterOnPlay = true;
- }
-
- [MenuItem("File/Scene Autoload/Don't Load Master On Play", true)]
- private static bool ShowDontLoadMasterOnPlay()
- {
- return LoadMasterOnPlay;
- }
-
- [MenuItem("File/Scene Autoload/Don't Load Master On Play")]
- private static void DisableLoadMasterOnPlay()
- {
- LoadMasterOnPlay = false;
- }
-
- // Play mode change callback handles the scene load/reload.
- private static void OnPlayModeChanged(PlayModeStateChange state)
- {
- if (!LoadMasterOnPlay)
- {
- return;
- }
-
- if (!EditorApplication.isPlaying && EditorApplication.isPlayingOrWillChangePlaymode)
- {
- // User pressed play -- autoload master scene.
- PreviousScene = SceneManager.GetActiveScene().path;
- if (EditorSceneManager.SaveCurrentModifiedScenesIfUserWantsTo())
- {
- try
- {
- EditorSceneManager.OpenScene(MasterScene);
- }
- catch
- {
- Debug.LogError($"error: scene not found: {MasterScene}");
- EditorApplication.isPlaying = false;
- }
- }
- else
- {
- // User cancelled the save operation -- cancel play as well.
- EditorApplication.isPlaying = false;
- }
- }
-
- // isPlaying check required because cannot OpenScene while playing
- if (!EditorApplication.isPlaying && !EditorApplication.isPlayingOrWillChangePlaymode)
- {
- // User pressed stop -- reload previous scene.
- try
- {
- EditorSceneManager.OpenScene(PreviousScene);
- }
- catch
- {
- Debug.LogError($"error: scene not found: {PreviousScene}");
- }
- }
- }
-
- // Properties are remembered as editor preferences.
- private const string EDITOR_PREF_LOAD_MASTER_ON_PLAY = "SceneAutoLoader.LoadMasterOnPlay";
- private const string EDITOR_PREF_MASTER_SCENE = "SceneAutoLoader.MasterScene";
- private const string EDITOR_PREF_PREVIOUS_SCENE = "SceneAutoLoader.PreviousScene";
-
- private static bool LoadMasterOnPlay
- {
- get => EditorPrefs.GetBool(EDITOR_PREF_LOAD_MASTER_ON_PLAY, false);
- set => EditorPrefs.SetBool(EDITOR_PREF_LOAD_MASTER_ON_PLAY, value);
- }
-
- private static string MasterScene
- {
- get => EditorPrefs.GetString(EDITOR_PREF_MASTER_SCENE, "Master.unity");
- set => EditorPrefs.SetString(EDITOR_PREF_MASTER_SCENE, value);
- }
-
- private static string PreviousScene
- {
- get => EditorPrefs.GetString(EDITOR_PREF_PREVIOUS_SCENE, SceneManager.GetActiveScene().path);
- set => EditorPrefs.SetString(EDITOR_PREF_PREVIOUS_SCENE, value);
- }
-}
\ No newline at end of file
diff --git a/JohnsonUtils/Attributes.meta b/JohnsonUtils/Attributes.meta
new file mode 100644
index 0000000..1621c6d
--- /dev/null
+++ b/JohnsonUtils/Attributes.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 8bcf92219d69926459de23970607d69e
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/JohnsonUtils/Attributes/Editor.meta b/JohnsonUtils/Attributes/Editor.meta
new file mode 100644
index 0000000..b836fff
--- /dev/null
+++ b/JohnsonUtils/Attributes/Editor.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 23f202c345849144b9aa12e1b7bd7c6c
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/JohnsonUtils/Attributes/Editor/PropertyDrawers.meta b/JohnsonUtils/Attributes/Editor/PropertyDrawers.meta
new file mode 100644
index 0000000..b4e755e
--- /dev/null
+++ b/JohnsonUtils/Attributes/Editor/PropertyDrawers.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: f02c11902918fdc4495c07de5f6cb328
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Editor/PropertyDrawers/RangedFloatDrawer.cs b/JohnsonUtils/Attributes/Editor/PropertyDrawers/RangedFloatDrawer.cs
similarity index 98%
rename from Editor/PropertyDrawers/RangedFloatDrawer.cs
rename to JohnsonUtils/Attributes/Editor/PropertyDrawers/RangedFloatDrawer.cs
index c770012..89e16da 100644
--- a/Editor/PropertyDrawers/RangedFloatDrawer.cs
+++ b/JohnsonUtils/Attributes/Editor/PropertyDrawers/RangedFloatDrawer.cs
@@ -1,7 +1,7 @@
using UnityEditor;
using UnityEngine;
-namespace RangedValue
+namespace JohnsonUtils.Attributes
{
[CustomPropertyDrawer(typeof(RangedFloat), true)]
public class RangedFloatDrawer : PropertyDrawer
diff --git a/JohnsonUtils/Attributes/Editor/PropertyDrawers/RangedFloatDrawer.cs.meta b/JohnsonUtils/Attributes/Editor/PropertyDrawers/RangedFloatDrawer.cs.meta
new file mode 100644
index 0000000..a6f98b5
--- /dev/null
+++ b/JohnsonUtils/Attributes/Editor/PropertyDrawers/RangedFloatDrawer.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: ecba4d36f1be9fb4b9549aef53914004
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/RangedFloat/MinMaxRangeAttribute.cs b/JohnsonUtils/Attributes/MinMaxRangeAttribute.cs
similarity index 88%
rename from RangedFloat/MinMaxRangeAttribute.cs
rename to JohnsonUtils/Attributes/MinMaxRangeAttribute.cs
index cbed5b6..9bb7d86 100644
--- a/RangedFloat/MinMaxRangeAttribute.cs
+++ b/JohnsonUtils/Attributes/MinMaxRangeAttribute.cs
@@ -1,6 +1,6 @@
using System;
-namespace RangedValue
+namespace JohnsonUtils.Attributes
{
public class MinMaxRangeAttribute : Attribute
{
diff --git a/JohnsonUtils/Attributes/MinMaxRangeAttribute.cs.meta b/JohnsonUtils/Attributes/MinMaxRangeAttribute.cs.meta
new file mode 100644
index 0000000..fb38e79
--- /dev/null
+++ b/JohnsonUtils/Attributes/MinMaxRangeAttribute.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: f5c78e6a4385cd048a2515d2c310d89a
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/RangedFloat/RangedFloat.cs b/JohnsonUtils/Attributes/RangedFloat.cs
similarity index 92%
rename from RangedFloat/RangedFloat.cs
rename to JohnsonUtils/Attributes/RangedFloat.cs
index 1b30925..715847d 100644
--- a/RangedFloat/RangedFloat.cs
+++ b/JohnsonUtils/Attributes/RangedFloat.cs
@@ -1,6 +1,6 @@
using System;
-namespace RangedValue
+namespace JohnsonUtils.Attributes
{
[Serializable]
public struct RangedFloat
diff --git a/JohnsonUtils/Attributes/RangedFloat.cs.meta b/JohnsonUtils/Attributes/RangedFloat.cs.meta
new file mode 100644
index 0000000..d2462d5
--- /dev/null
+++ b/JohnsonUtils/Attributes/RangedFloat.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 689ad0d6f7f50b54aa91d1cf2464f254
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/JohnsonUtils/Audio.meta b/JohnsonUtils/Audio.meta
new file mode 100644
index 0000000..3bb9807
--- /dev/null
+++ b/JohnsonUtils/Audio.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: ccc532b9cdd14d6ea2f4027e8d4a9952
+timeCreated: 1679072656
\ No newline at end of file
diff --git a/JohnsonUtils/Audio/AudioEvent.meta b/JohnsonUtils/Audio/AudioEvent.meta
new file mode 100644
index 0000000..7d40821
--- /dev/null
+++ b/JohnsonUtils/Audio/AudioEvent.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 9a966376e35785a4c922cad29ccdae3e
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/AudioEvent/AudioEvent.cs b/JohnsonUtils/Audio/AudioEvent/AudioEvent.cs
similarity index 55%
rename from AudioEvent/AudioEvent.cs
rename to JohnsonUtils/Audio/AudioEvent/AudioEvent.cs
index 0ec07f2..ff66bbe 100644
--- a/AudioEvent/AudioEvent.cs
+++ b/JohnsonUtils/Audio/AudioEvent/AudioEvent.cs
@@ -1,9 +1,11 @@
-using UnityEngine;
+using JetBrains.Annotations;
+using UnityEngine;
-namespace AudioEvent
+namespace JohnsonUtils.Audio
{
public abstract class AudioEvent : ScriptableObject
{
+ [PublicAPI]
public abstract void Play(AudioSource source);
}
}
\ No newline at end of file
diff --git a/JohnsonUtils/Audio/AudioEvent/AudioEvent.cs.meta b/JohnsonUtils/Audio/AudioEvent/AudioEvent.cs.meta
new file mode 100644
index 0000000..1d5f334
--- /dev/null
+++ b/JohnsonUtils/Audio/AudioEvent/AudioEvent.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: a4d29285acc5dc94a96eea002ef6a3a2
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/JohnsonUtils/Audio/AudioEvent/Editor.meta b/JohnsonUtils/Audio/AudioEvent/Editor.meta
new file mode 100644
index 0000000..bbfacd2
--- /dev/null
+++ b/JohnsonUtils/Audio/AudioEvent/Editor.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 3d0932566c8043a4b937245e2b36f64c
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Editor/CustomInspectors/AudioEventInspector.cs b/JohnsonUtils/Audio/AudioEvent/Editor/AudioEventInspector.cs
similarity index 70%
rename from Editor/CustomInspectors/AudioEventInspector.cs
rename to JohnsonUtils/Audio/AudioEvent/Editor/AudioEventInspector.cs
index 4d0e7a9..2653ebb 100644
--- a/Editor/CustomInspectors/AudioEventInspector.cs
+++ b/JohnsonUtils/Audio/AudioEvent/Editor/AudioEventInspector.cs
@@ -1,23 +1,23 @@
using UnityEditor;
using UnityEngine;
-namespace AudioEvent
+namespace JohnsonUtils.Audio
{
[CustomEditor(typeof(AudioEvent), true)]
- public class AudioEventInspector : Editor
+ public class AudioEventInspector : UnityEditor.Editor
{
- [SerializeField] private AudioSource _audioSource;
+ [SerializeField] private AudioSource audioSource;
private void OnEnable()
{
- _audioSource =
+ audioSource =
EditorUtility.CreateGameObjectWithHideFlags("Audio preview", HideFlags.HideAndDontSave,
typeof(AudioSource)).GetComponent();
}
private void OnDisable()
{
- DestroyImmediate(_audioSource.gameObject);
+ DestroyImmediate(audioSource.gameObject);
}
@@ -28,7 +28,7 @@ namespace AudioEvent
EditorGUI.BeginDisabledGroup(serializedObject.isEditingMultipleObjects);
if (GUILayout.Button("Preview"))
{
- ((AudioEvent) target).Play(_audioSource);
+ ((AudioEvent) target).Play(audioSource);
}
EditorGUI.EndDisabledGroup();
diff --git a/JohnsonUtils/Audio/AudioEvent/Editor/AudioEventInspector.cs.meta b/JohnsonUtils/Audio/AudioEvent/Editor/AudioEventInspector.cs.meta
new file mode 100644
index 0000000..b04c2b9
--- /dev/null
+++ b/JohnsonUtils/Audio/AudioEvent/Editor/AudioEventInspector.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 80d27edc2350afc4aa26e2b0f21c804e
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/AudioEvent/SimpleAudioEvent.cs b/JohnsonUtils/Audio/AudioEvent/SimpleAudioEvent.cs
similarity index 74%
rename from AudioEvent/SimpleAudioEvent.cs
rename to JohnsonUtils/Audio/AudioEvent/SimpleAudioEvent.cs
index 7291bca..2556354 100644
--- a/AudioEvent/SimpleAudioEvent.cs
+++ b/JohnsonUtils/Audio/AudioEvent/SimpleAudioEvent.cs
@@ -1,15 +1,15 @@
-using RangedValue;
+using JohnsonUtils.Attributes;
using UnityEngine;
-namespace AudioEvent
+namespace JohnsonUtils.Audio
{
[CreateAssetMenu(menuName = "ScriptableObject/SimpleAudioEvent")]
public class SimpleAudioEvent : AudioEvent
{
public AudioClip[] Clips;
- public RangedFloat Volume = new RangedFloat(0.9f,1f);
+ public RangedFloat Volume = new (0.9f,1f);
- [MinMaxRange(0, 2)] public RangedFloat Pitch = new RangedFloat(0.95f,1.05f);
+ [MinMaxRange(0, 2)] public RangedFloat Pitch = new (0.95f,1.05f);
public override void Play(AudioSource source)
{
diff --git a/JohnsonUtils/Audio/AudioEvent/SimpleAudioEvent.cs.meta b/JohnsonUtils/Audio/AudioEvent/SimpleAudioEvent.cs.meta
new file mode 100644
index 0000000..4e06dc5
--- /dev/null
+++ b/JohnsonUtils/Audio/AudioEvent/SimpleAudioEvent.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 812a0d40f751a99469384da85b231dc0
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/JohnsonUtils/Canvases.meta b/JohnsonUtils/Canvases.meta
new file mode 100644
index 0000000..f0c9cdd
--- /dev/null
+++ b/JohnsonUtils/Canvases.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 6c5f62191df2e694db21497847d5649f
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/JohnsonUtils/Canvases/Components.meta b/JohnsonUtils/Canvases/Components.meta
new file mode 100644
index 0000000..ff3e10d
--- /dev/null
+++ b/JohnsonUtils/Canvases/Components.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 06c5c26b1b4379a45a83ca062577134e
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Canvases/Components/ButtonUIComponent.cs b/JohnsonUtils/Canvases/Components/ButtonUIComponent.cs
similarity index 77%
rename from Canvases/Components/ButtonUIComponent.cs
rename to JohnsonUtils/Canvases/Components/ButtonUIComponent.cs
index d9afcdb..ceec864 100644
--- a/Canvases/Components/ButtonUIComponent.cs
+++ b/JohnsonUtils/Canvases/Components/ButtonUIComponent.cs
@@ -1,24 +1,30 @@
using System;
+using JetBrains.Annotations;
using Sirenix.OdinInspector;
using UnityEngine;
using UnityEngine.UI;
+#if ODIN_INSPECTOR
+#endif
-namespace Canvases.Components
+namespace JohnsonUtils.Canvases
{
public class ButtonUIComponent : UISelectableComponentBase
{
public event Action OnClick;
- [Header("Association"), SerializeField, Required]
+#if ODIN_INSPECTOR
+ [Required]
+#endif
+ [Header("Association"), SerializeField]
private Button button;
- [Header("Configuration"), SerializeField]
+ [Header("Configuration"), SerializeField, UsedImplicitly]
private ButtonNavigationType buttonNavigationType;
-
+
private enum ButtonNavigationType
{
- Forward,
- Backward
+ [UsedImplicitly] Forward,
+ [UsedImplicitly] Backward
}
public Color Color
@@ -26,11 +32,13 @@ namespace Canvases.Components
set => button.image.color = value;
}
+ [PublicAPI]
public bool Enabled
{
set => button.interactable = value;
}
+ [PublicAPI]
public void Select() => button.Select();
protected override void SetSelectableGameObject() => Selectable = button;
@@ -49,7 +57,6 @@ namespace Canvases.Components
private void OnButtonClicked()
{
- // PlayClickedSound();
OnClick?.Invoke();
}
diff --git a/JohnsonUtils/Canvases/Components/ButtonUIComponent.cs.meta b/JohnsonUtils/Canvases/Components/ButtonUIComponent.cs.meta
new file mode 100644
index 0000000..9b00e3a
--- /dev/null
+++ b/JohnsonUtils/Canvases/Components/ButtonUIComponent.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 4f8583985379cfa409fa5463af6f62ae
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Canvases/Components/ImageUIComponent.cs b/JohnsonUtils/Canvases/Components/ImageUIComponent.cs
similarity index 63%
rename from Canvases/Components/ImageUIComponent.cs
rename to JohnsonUtils/Canvases/Components/ImageUIComponent.cs
index f980cfa..bfc9192 100644
--- a/Canvases/Components/ImageUIComponent.cs
+++ b/JohnsonUtils/Canvases/Components/ImageUIComponent.cs
@@ -1,22 +1,25 @@
-using Sirenix.OdinInspector;
+
+using Sirenix.OdinInspector;
using UnityEngine;
using UnityEngine.UI;
-namespace Canvases.Components
+namespace JohnsonUtils.Canvases
{
- // ReSharper disable once InconsistentNaming Reason: UI should be capitalized
public class ImageUIComponent : UIComponentBase
{
- [Header("Association")][Required]
+ [Header("Association")]
+#if ODIN_INSPECTOR
+ [Required]
+#endif
[SerializeField] private Image image;
- private Color initialColor;
+ private Color _initialColor;
- private void Awake() => initialColor = image.color;
+ private void Awake() => _initialColor = image.color;
private void Start() => Debug.Assert(image, $"A {nameof(image)} must be assigned to a {nameof(ImageUIComponent)}");
- public void ResetColor() => image.color = initialColor;
+ public void ResetColor() => image.color = _initialColor;
public Sprite Sprite
{
diff --git a/JohnsonUtils/Canvases/Components/ImageUIComponent.cs.meta b/JohnsonUtils/Canvases/Components/ImageUIComponent.cs.meta
new file mode 100644
index 0000000..a5e71e7
--- /dev/null
+++ b/JohnsonUtils/Canvases/Components/ImageUIComponent.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 9d0ab7cb6305cee4ea667a7cedab0cc9
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Canvases/Components/SliderUIComponent.cs b/JohnsonUtils/Canvases/Components/SliderUIComponent.cs
similarity index 67%
rename from Canvases/Components/SliderUIComponent.cs
rename to JohnsonUtils/Canvases/Components/SliderUIComponent.cs
index 82b4c87..29fc5b3 100644
--- a/Canvases/Components/SliderUIComponent.cs
+++ b/JohnsonUtils/Canvases/Components/SliderUIComponent.cs
@@ -1,17 +1,22 @@
using System;
using System.Collections;
+using JetBrains.Annotations;
using Sirenix.OdinInspector;
using UnityEngine;
using UnityEngine.UI;
+#if ODIN_INSPECTOR
+#endif
-namespace Canvases.Components
+namespace JohnsonUtils.Canvases
{
- // ReSharper disable once InconsistentNaming Reason: UI should be capitalized
public class SliderUIComponent : UISelectableComponentBase
{
- public event Action OnValueChanged;
+ [UsedImplicitly] public event Action OnValueChanged;
- [Header("Association"), SerializeField, Required]
+#if ODIN_INSPECTOR
+ [Required]
+#endif
+ [Header("Association"), SerializeField]
private Slider slider;
[SerializeField] private Image backgroundImage;
@@ -23,36 +28,39 @@ namespace Canvases.Components
[SerializeField] private Color valueIncreaseColor = Color.green;
[SerializeField] private Color valueDecreaseColor = Color.red;
- private float targetValue;
- private float currentValue;
+ private float _targetValue;
+ private float _currentValue;
- private Coroutine animationRoutine;
- private Color initialColor = Color.black;
+ private Coroutine _animationRoutine;
+ private Color _initialColor = Color.black;
+ [UsedImplicitly]
public float Value
{
- get => currentValue;
+ get => _currentValue;
set
{
if (isChangeValueAnimated)
{
- targetValue = value;
+ _targetValue = value;
StartAnimation();
}
else
{
- currentValue = value;
+ _currentValue = value;
slider.value = value;
}
}
}
-
+
+ [UsedImplicitly]
public float MaxValue
{
get => slider.maxValue;
set => slider.maxValue = value;
}
-
+
+ [UsedImplicitly]
public Color BackgroundColor
{
set
@@ -64,18 +72,20 @@ namespace Canvases.Components
}
}
+ [UsedImplicitly]
public Color FillColor
{
set
{
if (fillImage != null)
{
- initialColor = value;
- fillImage.color = initialColor;
+ _initialColor = value;
+ fillImage.color = _initialColor;
}
}
}
+ [UsedImplicitly]
public Color FrameColor
{
set
@@ -104,10 +114,10 @@ namespace Canvases.Components
private void StartAnimation()
{
- if (animationRoutine != null)
- StopCoroutine(animationRoutine);
+ if (_animationRoutine != null)
+ StopCoroutine(_animationRoutine);
- animationRoutine = StartCoroutine(AnimateValueChange(targetValue > currentValue));
+ _animationRoutine = StartCoroutine(AnimateValueChange(_targetValue > _currentValue));
}
private IEnumerator AnimateValueChange(bool isValueChangePositive)
@@ -116,10 +126,10 @@ namespace Canvases.Components
{
fillImage.color = valueIncreaseColor;
- while (currentValue < targetValue)
+ while (_currentValue < _targetValue)
{
- currentValue += animationSpeed * Time.deltaTime;
- slider.value = currentValue;
+ _currentValue += animationSpeed * Time.deltaTime;
+ slider.value = _currentValue;
yield return null;
}
}
@@ -127,17 +137,17 @@ namespace Canvases.Components
{
fillImage.color = valueDecreaseColor;
- while (currentValue > targetValue)
+ while (_currentValue > _targetValue)
{
- currentValue -= animationSpeed * Time.deltaTime;
- slider.value = currentValue;
+ _currentValue -= animationSpeed * Time.deltaTime;
+ slider.value = _currentValue;
yield return null;
}
}
- currentValue = targetValue;
- slider.value = currentValue;
- fillImage.color = initialColor;
+ _currentValue = _targetValue;
+ slider.value = _currentValue;
+ fillImage.color = _initialColor;
}
private void OnSliderChanged(float value) => OnValueChanged?.Invoke(value);
diff --git a/JohnsonUtils/Canvases/Components/SliderUIComponent.cs.meta b/JohnsonUtils/Canvases/Components/SliderUIComponent.cs.meta
new file mode 100644
index 0000000..914bdfd
--- /dev/null
+++ b/JohnsonUtils/Canvases/Components/SliderUIComponent.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 876f9760c3e58b248a8c3028ee11c049
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Canvases/Components/TextUIComponent.cs b/JohnsonUtils/Canvases/Components/TextUIComponent.cs
similarity index 65%
rename from Canvases/Components/TextUIComponent.cs
rename to JohnsonUtils/Canvases/Components/TextUIComponent.cs
index ba4b6ee..f3c4adb 100644
--- a/Canvases/Components/TextUIComponent.cs
+++ b/JohnsonUtils/Canvases/Components/TextUIComponent.cs
@@ -1,16 +1,20 @@
-using Sirenix.OdinInspector;
+
+using JetBrains.Annotations;
+using Sirenix.OdinInspector;
using TMPro;
using UnityEngine;
-namespace Canvases.Components
+namespace JohnsonUtils.Canvases
{
- // ReSharper disable once InconsistentNaming Reason: UI should be capitalized
public class TextUIComponent : UIComponentBase
{
- [Header("Association"), Required, SerializeField]
+#if ODIN_INSPECTOR
+ [Required]
+#endif
+ [Header("Association"), SerializeField]
private TMP_Text text;
- private string initialText;
+ private string _initialText;
public string Text
{
@@ -18,20 +22,23 @@ namespace Canvases.Components
set => text.text = string.IsNullOrEmpty(value) ? string.Empty : value;
}
+ [UsedImplicitly]
public Color Color
{
get => text.color;
set => text.color = value;
}
- private void Awake() => initialText = text.text;
+ private void Awake() => _initialText = text.text;
private void Start() => Debug.Assert(text, $"A {nameof(text)} must be assigned to a {nameof(TMP_Text)}");
-
- public void ResetText() => text.text = initialText;
+ public void ResetText() => text.text = _initialText;
+
+ [PublicAPI]
public void AddText(string textToAdd) => text.text += textToAdd;
+ [PublicAPI]
public void EraseText() => text.text = string.Empty;
private void OnValidate()
diff --git a/JohnsonUtils/Canvases/Components/TextUIComponent.cs.meta b/JohnsonUtils/Canvases/Components/TextUIComponent.cs.meta
new file mode 100644
index 0000000..61ef510
--- /dev/null
+++ b/JohnsonUtils/Canvases/Components/TextUIComponent.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 6abb350662ec32f4382b6053030a04e8
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Canvases/Components/ToggleUIComponent.cs b/JohnsonUtils/Canvases/Components/ToggleUIComponent.cs
similarity index 77%
rename from Canvases/Components/ToggleUIComponent.cs
rename to JohnsonUtils/Canvases/Components/ToggleUIComponent.cs
index 1e863b9..951d2e8 100644
--- a/Canvases/Components/ToggleUIComponent.cs
+++ b/JohnsonUtils/Canvases/Components/ToggleUIComponent.cs
@@ -1,18 +1,24 @@
using System;
+using JetBrains.Annotations;
using Sirenix.OdinInspector;
using UnityEngine;
using UnityEngine.UI;
+#if ODIN_INSPECTOR
+#endif
-namespace Canvases.Components
+namespace JohnsonUtils.Canvases
{
- // ReSharper disable once InconsistentNaming Reason: UI should be capitalized
public class ToggleUIComponent : UISelectableComponentBase
{
- public event Action OnValueChanged;
+ [UsedImplicitly] public event Action OnValueChanged;
- [Header("Association"), Required, SerializeField]
+#if ODIN_INSPECTOR
+ [Required]
+#endif
+ [Header("Association"), SerializeField]
private Toggle toggle;
+ [PublicAPI]
public bool IsOn => toggle.isOn;
private void Start()
@@ -29,6 +35,7 @@ namespace Canvases.Components
protected override void SetSelectableGameObject() => Selectable = toggle;
+ [PublicAPI]
public void Invert() => toggle.isOn = !toggle.isOn;
private void OnToggleChanged(bool value) => OnValueChanged?.Invoke(value);
diff --git a/JohnsonUtils/Canvases/Components/ToggleUIComponent.cs.meta b/JohnsonUtils/Canvases/Components/ToggleUIComponent.cs.meta
new file mode 100644
index 0000000..8c1e101
--- /dev/null
+++ b/JohnsonUtils/Canvases/Components/ToggleUIComponent.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 8bbf0d600bb435648859a6613e816656
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Canvases/Components/UIComponentBase.cs b/JohnsonUtils/Canvases/Components/UIComponentBase.cs
similarity index 67%
rename from Canvases/Components/UIComponentBase.cs
rename to JohnsonUtils/Canvases/Components/UIComponentBase.cs
index 729d9a6..12a7623 100644
--- a/Canvases/Components/UIComponentBase.cs
+++ b/JohnsonUtils/Canvases/Components/UIComponentBase.cs
@@ -1,15 +1,16 @@
-using UnityEngine;
-using Utilities.Extensions;
+using JetBrains.Annotations;
+using JohnsonUtils.Utilities;
+using UnityEngine;
-namespace Canvases.Components
+namespace JohnsonUtils.Canvases
{
- // ReSharper disable once InconsistentNaming Reason: UI should be capitalized
public abstract class UIComponentBase : MonoBehaviour
{
public void Show() => gameObject.Show();
public void Hide() => gameObject.Hide();
+ [PublicAPI]
public void ToggleDisplay() => gameObject.SetActive(!gameObject.activeInHierarchy);
public void SetActive(bool active) => gameObject.SetActive(active);
diff --git a/JohnsonUtils/Canvases/Components/UIComponentBase.cs.meta b/JohnsonUtils/Canvases/Components/UIComponentBase.cs.meta
new file mode 100644
index 0000000..4bcb9af
--- /dev/null
+++ b/JohnsonUtils/Canvases/Components/UIComponentBase.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: ce11554684acbfa458b1e1aac7d6f738
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Canvases/Components/UISelectableComponentBase.cs b/JohnsonUtils/Canvases/Components/UISelectableComponentBase.cs
similarity index 54%
rename from Canvases/Components/UISelectableComponentBase.cs
rename to JohnsonUtils/Canvases/Components/UISelectableComponentBase.cs
index 03d0e52..fbffbaa 100644
--- a/Canvases/Components/UISelectableComponentBase.cs
+++ b/JohnsonUtils/Canvases/Components/UISelectableComponentBase.cs
@@ -1,25 +1,26 @@
using System;
+using JetBrains.Annotations;
+using JohnsonUtils.Utilities;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
-using Utilities.Extensions;
-namespace Canvases.Components
+namespace JohnsonUtils.Canvases
{
public abstract class UISelectableComponentBase : UIComponentBase
{
- public event Action OnSelected;
+ [UsedImplicitly] public event Action OnSelected;
protected Selectable Selectable = null;
- private EventTrigger.Entry selectEventTriggerEntry;
- private CanvasGroup parentCanvasGroup;
+ private EventTrigger.Entry _selectEventTriggerEntry;
+ private CanvasGroup _parentCanvasGroup;
private void Awake()
{
SetSelectableGameObject();
AddSelectEventTrigger();
- parentCanvasGroup = gameObject.GetComponentInParents();
+ _parentCanvasGroup = gameObject.GetComponentInParents();
}
protected abstract void SetSelectableGameObject();
@@ -27,26 +28,25 @@ namespace Canvases.Components
private void AddSelectEventTrigger()
{
EventTrigger eventTrigger = Selectable.gameObject.GetOrAddComponent();
- selectEventTriggerEntry = new EventTrigger.Entry
+ _selectEventTriggerEntry = new EventTrigger.Entry
{
eventID = EventTriggerType.Select
};
- selectEventTriggerEntry.callback.AddListener(OnSelectableSelected);
- eventTrigger.triggers.Add(selectEventTriggerEntry);
+ _selectEventTriggerEntry.callback.AddListener(OnSelectableSelected);
+ eventTrigger.triggers.Add(_selectEventTriggerEntry);
}
private void OnSelectableSelected(BaseEventData data)
{
- if (!Selectable.interactable || parentCanvasGroup != null && !parentCanvasGroup.interactable)
+ if (!Selectable.interactable || _parentCanvasGroup != null && !_parentCanvasGroup.interactable)
return;
-
- // Play select sound
+
OnSelected?.Invoke();
}
protected virtual void OnDestroy()
{
- selectEventTriggerEntry?.callback.RemoveListener(OnSelectableSelected);
+ _selectEventTriggerEntry?.callback.RemoveListener(OnSelectableSelected);
}
}
}
\ No newline at end of file
diff --git a/JohnsonUtils/Canvases/Components/UISelectableComponentBase.cs.meta b/JohnsonUtils/Canvases/Components/UISelectableComponentBase.cs.meta
new file mode 100644
index 0000000..7bd9ae4
--- /dev/null
+++ b/JohnsonUtils/Canvases/Components/UISelectableComponentBase.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: c7554ebd4dc164f4e8bb12a69c5e3388
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/JohnsonUtils/Canvases/Menu.meta b/JohnsonUtils/Canvases/Menu.meta
new file mode 100644
index 0000000..6c2418b
--- /dev/null
+++ b/JohnsonUtils/Canvases/Menu.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: e3085bb90bae8d647bcf799a94ba0f9c
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/JohnsonUtils/Canvases/Menu/Rebind.meta b/JohnsonUtils/Canvases/Menu/Rebind.meta
new file mode 100644
index 0000000..353d7e9
--- /dev/null
+++ b/JohnsonUtils/Canvases/Menu/Rebind.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: cf6a9d522618ee54cb581eb4942a7062
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Canvases/Menu/Rebind/RebindActionUI.cs b/JohnsonUtils/Canvases/Menu/Rebind/RebindActionUI.cs
similarity index 67%
rename from Canvases/Menu/Rebind/RebindActionUI.cs
rename to JohnsonUtils/Canvases/Menu/Rebind/RebindActionUI.cs
index 8954e66..393dd42 100644
--- a/Canvases/Menu/Rebind/RebindActionUI.cs
+++ b/JohnsonUtils/Canvases/Menu/Rebind/RebindActionUI.cs
@@ -1,11 +1,11 @@
using System;
-using Canvases.Components;
+using JetBrains.Annotations;
+using JohnsonUtils.Utilities;
+using JohnsonUtils.Utilities.Icons;
using UnityEngine;
using UnityEngine.InputSystem;
-using Utilities;
-using Utilities.Extensions;
-namespace Canvases.Menu.Rebind
+namespace JohnsonUtils.Canvases
{
public class RebindActionUI : MonoBehaviour
{
@@ -15,68 +15,69 @@ namespace Canvases.Menu.Rebind
[SerializeField] private RebindReferences mainBindingReferences;
[SerializeField] private RebindReferences altBindingReferences;
- private TextUIComponent rebindOverlay;
- private InputAction action;
- private InputActionRebindingExtensions.RebindingOperation rebindOperation;
+ private TextUIComponent _rebindOverlay;
+ private InputAction _action;
+ private InputActionRebindingExtensions.RebindingOperation _rebindOperation;
+ [PublicAPI]
public void ResetToDefault()
{
- action.actionMap.Disable();
- action.RemoveBindingOverride(mainBindingReferences.Index);
- action.RemoveBindingOverride(altBindingReferences.Index);
+ _action.actionMap.Disable();
+ _action.RemoveBindingOverride(mainBindingReferences.Index);
+ _action.RemoveBindingOverride(altBindingReferences.Index);
UpdateBindingDisplay();
- action.actionMap.Enable();
+ _action.actionMap.Enable();
}
private void StartInteractiveRebind(int index)
{
- action.actionMap.Disable();
+ _action.actionMap.Disable();
PerformInteractiveRebind(index);
- action.actionMap.Enable();
+ _action.actionMap.Enable();
}
private void PerformInteractiveRebind(int bindingIndex)
{
- rebindOperation?.Cancel(); // Will null out rebindOperation.
+ _rebindOperation?.Cancel(); // Will null out rebindOperation.
void CleanUp(InputActionRebindingExtensions.RebindingOperation rebindingOperation)
{
- if (rebindOverlay != null)
+ if (_rebindOverlay != null)
{
- rebindOverlay.SetActive(false);
+ _rebindOverlay.SetActive(false);
}
UpdateBindingDisplay();
- rebindOperation?.Dispose();
- rebindOperation = null;
+ _rebindOperation?.Dispose();
+ _rebindOperation = null;
}
// Configure the rebind.
- rebindOperation = action.PerformInteractiveRebinding(bindingIndex)
+ _rebindOperation = _action.PerformInteractiveRebinding(bindingIndex)
.OnCancel(CleanUp)
.OnComplete(CleanUp);
// If it's a part binding, show the name of the part in the UI.
string partName = string.Empty;
- if (action.bindings[bindingIndex].isPartOfComposite)
- partName = $"Binding '{action.bindings[bindingIndex].name}'. ";
+ if (_action.bindings[bindingIndex].isPartOfComposite)
+ partName = $"Binding '{_action.bindings[bindingIndex].name}'. ";
// Bring up rebind overlay, if we have one.
- if (rebindOverlay != null)
+ if (_rebindOverlay != null)
{
- rebindOverlay.Show();
- string text = !string.IsNullOrEmpty(rebindOperation.expectedControlType)
- ? $"{partName}Waiting for {rebindOperation.expectedControlType} input..."
+ _rebindOverlay.Show();
+ string text = !string.IsNullOrEmpty(_rebindOperation.expectedControlType)
+ ? $"{partName}Waiting for {_rebindOperation.expectedControlType} input..."
: $"{partName}Waiting for input...";
- rebindOverlay.Text =text;
+ _rebindOverlay.Text =text;
}
// If we have no rebind overlay and no callback but we have a binding text label,
// temporarily set the binding text label to "".
- if (rebindOverlay == null && mainBindingReferences.Text != null)
+ if (_rebindOverlay == null && mainBindingReferences.Text != null)
mainBindingReferences.Text.Text = "";
- rebindOperation.Start();
+ _rebindOperation.Start();
}
protected void OnEnable()
@@ -87,17 +88,17 @@ namespace Canvases.Menu.Rebind
protected void OnDisable()
{
- rebindOperation?.Dispose();
- rebindOperation = null;
+ _rebindOperation?.Dispose();
+ _rebindOperation = null;
}
private void UpdateActionLabel()
{
if (actionLabel == null) return;
- string actionLabelText = action.bindings[mainBindingReferences.Index].isPartOfComposite
- ? action.bindings[mainBindingReferences.Index].name.Capitalize()
- : action.name;
+ string actionLabelText = _action.bindings[mainBindingReferences.Index].isPartOfComposite
+ ? _action.bindings[mainBindingReferences.Index].name.Capitalize()
+ : _action.name;
if (actionLabelText.Equals("Dash")) actionLabelText = "Tackle";
actionLabel.Text = actionLabelText;
@@ -111,14 +112,14 @@ namespace Canvases.Menu.Rebind
string mainControlPath = string.Empty;
string altControlPath = string.Empty;
- if (action != null)
+ if (_action != null)
{
if (mainBindingReferences.Index != -1)
- mainDisplayString = action.GetBindingDisplayString(mainBindingReferences.Index,
+ mainDisplayString = _action.GetBindingDisplayString(mainBindingReferences.Index,
out deviceLayoutName,
out mainControlPath);
if (altBindingReferences.Index != -1)
- altDisplayString = action.GetBindingDisplayString(altBindingReferences.Index, out _,
+ altDisplayString = _action.GetBindingDisplayString(altBindingReferences.Index, out _,
out altControlPath);
}
@@ -162,25 +163,25 @@ namespace Canvases.Menu.Rebind
private bool CheckDuplicateBindings(int bindingIndex)
{
- if (action == null) return false;
+ if (_action == null) return false;
- InputBinding newBinding = action.bindings[bindingIndex];
+ InputBinding newBinding = _action.bindings[bindingIndex];
if (newBinding.effectivePath.IsNullOrEmpty()) return false;
- foreach (InputBinding binding in action.actionMap.bindings)
+ foreach (InputBinding binding in _action.actionMap.bindings)
{
if (binding.action == newBinding.action) continue;
if (binding.effectivePath == newBinding.effectivePath) return true;
}
- if (!action.bindings[0].isComposite) return false;
+ if (!_action.bindings[0].isComposite) return false;
- for (int i = 1; i < action.bindings.Count; i++)
+ for (int i = 1; i < _action.bindings.Count; i++)
{
if (i == bindingIndex) continue;
- if (action.bindings[i].effectivePath == newBinding.effectivePath)
+ if (_action.bindings[i].effectivePath == newBinding.effectivePath)
{
return true;
}
@@ -194,8 +195,8 @@ namespace Canvases.Menu.Rebind
{
mainBindingReferences.Index = bindingIndex;
altBindingReferences.Index = bindingIndex + 1;
- action = inputAction;
- rebindOverlay = overlay;
+ _action = inputAction;
+ _rebindOverlay = overlay;
UpdateBindingUIEvent += onUpdateBindingUIEvent;
UpdateActionLabel();
UpdateBindingDisplay();
diff --git a/JohnsonUtils/Canvases/Menu/Rebind/RebindActionUI.cs.meta b/JohnsonUtils/Canvases/Menu/Rebind/RebindActionUI.cs.meta
new file mode 100644
index 0000000..a1153bd
--- /dev/null
+++ b/JohnsonUtils/Canvases/Menu/Rebind/RebindActionUI.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 64b55bf76536f164aaab1dd531664de6
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Canvases/Menu/Rebind/RebindReferences.cs b/JohnsonUtils/Canvases/Menu/Rebind/RebindReferences.cs
similarity index 82%
rename from Canvases/Menu/Rebind/RebindReferences.cs
rename to JohnsonUtils/Canvases/Menu/Rebind/RebindReferences.cs
index c4030ce..4e25880 100644
--- a/Canvases/Menu/Rebind/RebindReferences.cs
+++ b/JohnsonUtils/Canvases/Menu/Rebind/RebindReferences.cs
@@ -1,8 +1,7 @@
using System;
-using Canvases.Components;
using UnityEngine;
-namespace Canvases.Menu.Rebind
+namespace JohnsonUtils.Canvases
{
[Serializable]
public class RebindReferences
diff --git a/JohnsonUtils/Canvases/Menu/Rebind/RebindReferences.cs.meta b/JohnsonUtils/Canvases/Menu/Rebind/RebindReferences.cs.meta
new file mode 100644
index 0000000..a40a12c
--- /dev/null
+++ b/JohnsonUtils/Canvases/Menu/Rebind/RebindReferences.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 2dcf8a5a568340a44885781e6143f5d1
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Canvases/Menu/Rebind/RebindUI.cs b/JohnsonUtils/Canvases/Menu/Rebind/RebindUI.cs
similarity index 55%
rename from Canvases/Menu/Rebind/RebindUI.cs
rename to JohnsonUtils/Canvases/Menu/Rebind/RebindUI.cs
index 6dba986..49020e5 100644
--- a/Canvases/Menu/Rebind/RebindUI.cs
+++ b/JohnsonUtils/Canvases/Menu/Rebind/RebindUI.cs
@@ -1,34 +1,37 @@
using System.Collections.Generic;
-using Canvases.Components;
+using JetBrains.Annotations;
+using JohnsonUtils.Utilities;
+using JohnsonUtils.Utilities.Icons;
using UnityEngine;
using UnityEngine.InputSystem;
using UnityEngine.InputSystem.Utilities;
-using Utilities;
-using Utilities.Extensions;
-namespace Canvases.Menu.Rebind
+namespace JohnsonUtils.Canvases
{
public class RebindUI : MonoBehaviour
{
- [SerializeField] private ImageUIComponent background;
- [SerializeField] private GameObject rebindMenuContent;
- [SerializeField] private TextUIComponent currentControlScheme;
- [SerializeField] private ButtonUIComponent resetAllButton;
- [SerializeField] private RectTransform scrollRectContent;
- [SerializeField] private TextUIComponent rebindOverlayText;
- [SerializeField] private RebindActionUI rebindPrefab;
- [SerializeField] private ButtonUIComponent applyButton;
+
+ [SerializeField, UsedImplicitly] private ImageUIComponent background;
+ [SerializeField, UsedImplicitly] private GameObject rebindMenuContent;
+ [SerializeField, UsedImplicitly] private TextUIComponent currentControlScheme;
+ [SerializeField, UsedImplicitly] private ButtonUIComponent resetAllButton;
+ [SerializeField, UsedImplicitly] private RectTransform scrollRectContent;
+ [SerializeField, UsedImplicitly] private TextUIComponent rebindOverlayText;
+ [SerializeField, UsedImplicitly] private RebindActionUI rebindPrefab;
+ [SerializeField, UsedImplicitly] private ButtonUIComponent applyButton;
- private PlayerInputAction playerInputActionRef;
+ //TODO ProjectInit replace this by your action map
+ private IInputActionCollection2 _playerInputActionRef;
- private RebindActionUI firstButton;
+ [UsedImplicitly] private RebindActionUI _firstButton;
- private readonly List rebindUIs = new List();
- private bool isInitialized;
+ private readonly List _rebindUIs = new();
+ private bool _isInitialized;
private void Start()
{
- // Bind to OnInputDeviceChanged
+ //TODO ProjectInit Bind to OnInputDeviceChanged
+ Debug.LogWarning($"Didn't init Start method on {GetType()} on {name} ");
}
private void OnEnable()
@@ -43,7 +46,8 @@ namespace Canvases.Menu.Rebind
private void OnDestroy()
{
- // Unbind to OnInputDeviceChanged
+ //TODO ProjectInit Unbind to OnInputDeviceChanged
+ Debug.LogWarning($"Didn't init OnDestroy method on {GetType()} on {name} ");
}
private void OnApplyPressed()
@@ -52,10 +56,10 @@ namespace Canvases.Menu.Rebind
// Hide
}
-
+ [UsedImplicitly]
private void OnResetAll()
{
- playerInputActionRef.RemoveAllBindingOverrides();
+ _playerInputActionRef.RemoveAllBindingOverrides();
UpdateAllRebindUI();
// UpdateBindings
}
@@ -63,7 +67,7 @@ namespace Canvases.Menu.Rebind
private void AddBindingsButton(string deviceName)
{
currentControlScheme.Text = $"< {deviceName.ToUpper()} >";
- ReadOnlyArray inputActions = playerInputActionRef.Player.Get().actions;
+ ReadOnlyArray inputActions = new (); //TODO ProjectInit Get the actions from the Action map
bool first = true;
foreach (var inputAction in inputActions)
{
@@ -78,12 +82,12 @@ namespace Canvases.Menu.Rebind
private void SpawnButton(InputAction inputAction, int mainBindingIndex, bool first)
{
RebindActionUI actionButton = Instantiate(rebindPrefab, scrollRectContent);
- rebindUIs.Add(actionButton);
+ _rebindUIs.Add(actionButton);
actionButton.name = $"Rebind UI for {inputAction.name}";
actionButton.Initialize(mainBindingIndex, inputAction, rebindOverlayText, OnUpdateBindingUIEvent);
if (first)
{
- firstButton = actionButton;
+ _firstButton = actionButton;
}
}
@@ -95,15 +99,16 @@ namespace Canvases.Menu.Rebind
private void UpdateAllRebindUI()
{
- foreach (RebindActionUI rebindActionUI in rebindUIs)
+ foreach (RebindActionUI rebindActionUI in _rebindUIs)
{
rebindActionUI.UpdateBindingDisplay(false);
}
}
+ [UsedImplicitly]
private void OnInputDeviceChanged(string newDevice)
{
- rebindUIs.Clear();
+ _rebindUIs.Clear();
scrollRectContent.DestroyChildren();
AddBindingsButton(newDevice);
}
diff --git a/JohnsonUtils/Canvases/Menu/Rebind/RebindUI.cs.meta b/JohnsonUtils/Canvases/Menu/Rebind/RebindUI.cs.meta
new file mode 100644
index 0000000..652f22d
--- /dev/null
+++ b/JohnsonUtils/Canvases/Menu/Rebind/RebindUI.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 8dad699e20297a040b2b80c77a5b1bca
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/JohnsonUtils/Common.meta b/JohnsonUtils/Common.meta
new file mode 100644
index 0000000..6c4bd35
--- /dev/null
+++ b/JohnsonUtils/Common.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 5d0141492d11e22478d4b5486f51fbd0
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/JohnsonUtils/Common/Settings.meta b/JohnsonUtils/Common/Settings.meta
new file mode 100644
index 0000000..9827b03
--- /dev/null
+++ b/JohnsonUtils/Common/Settings.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 683fe2cb49ca4070b175e6045de4e470
+timeCreated: 1679073047
\ No newline at end of file
diff --git a/JohnsonUtils/Common/Settings/GameSettings.cs b/JohnsonUtils/Common/Settings/GameSettings.cs
new file mode 100644
index 0000000..e2cf23d
--- /dev/null
+++ b/JohnsonUtils/Common/Settings/GameSettings.cs
@@ -0,0 +1,11 @@
+using Sirenix.OdinInspector;
+using UnityEngine;
+
+namespace JohnsonUtils.Common
+{
+ [CreateAssetMenu(menuName = "Settings/Game Settings")]
+ public class GameSettings : ScriptableObject
+ {
+
+ }
+}
\ No newline at end of file
diff --git a/JohnsonUtils/Common/Settings/GameSettings.cs.meta b/JohnsonUtils/Common/Settings/GameSettings.cs.meta
new file mode 100644
index 0000000..ffbe3c0
--- /dev/null
+++ b/JohnsonUtils/Common/Settings/GameSettings.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 6663ab9aa38d41ada29802c63e8d1fa2
+timeCreated: 1647204922
\ No newline at end of file
diff --git a/Common/Settings.cs b/JohnsonUtils/Common/Settings/Settings.cs
similarity index 83%
rename from Common/Settings.cs
rename to JohnsonUtils/Common/Settings/Settings.cs
index 654360d..1a98675 100644
--- a/Common/Settings.cs
+++ b/JohnsonUtils/Common/Settings/Settings.cs
@@ -1,24 +1,27 @@
using System.Linq;
+using JetBrains.Annotations;
using UnityEngine;
-namespace Common
+namespace JohnsonUtils.Common
{
public class SettingsSystem : PersistentSingleton
{
private const string SETTINGS_FOLDER_PATH = "Settings";
+ [PublicAPI]
public static GameSettings GameSettings => Instance.GameSetting;
- private GameSettings gameSetting;
- private GameSettings GameSetting => gameSetting;
+ private GameSettings _gameSetting;
+ private GameSettings GameSetting => _gameSetting;
protected override void Awake()
{
base.Awake();
- LoadSettings(out gameSetting);
+ LoadSettings(out _gameSetting);
}
+ [PublicAPI]
private void LoadSettings(out T memberToInitialize) where T : ScriptableObject
{
T[] loadedSettingsList = Resources.LoadAll(SETTINGS_FOLDER_PATH);
@@ -32,6 +35,7 @@ namespace Common
memberToInitialize = loadedSettingsList.First();
}
+ [PublicAPI]
private void LoadAllSettings(out T[] memberToInitialize) where T : ScriptableObject
{
T[] loadedSettingsList = Resources.LoadAll(SETTINGS_FOLDER_PATH);
diff --git a/JohnsonUtils/Common/Settings/Settings.cs.meta b/JohnsonUtils/Common/Settings/Settings.cs.meta
new file mode 100644
index 0000000..e985254
--- /dev/null
+++ b/JohnsonUtils/Common/Settings/Settings.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: ac33069eef60cbf41bcf2290969baaf6
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Common/Singleton.cs b/JohnsonUtils/Common/Singleton.cs
similarity index 95%
rename from Common/Singleton.cs
rename to JohnsonUtils/Common/Singleton.cs
index bb043b3..394257f 100644
--- a/Common/Singleton.cs
+++ b/JohnsonUtils/Common/Singleton.cs
@@ -1,13 +1,15 @@
using System;
+using JetBrains.Annotations;
+using JohnsonUtils.Utilities;
using UnityEngine;
-using Utilities.Extensions;
-namespace Common
+namespace JohnsonUtils.Common
{
public abstract class AbstractSingleton : MonoBehaviour where T : AbstractSingleton
{
protected static T SharedInstance;
+ [PublicAPI]
public static bool HasInstance => SharedInstance != null;
protected virtual void Awake()
@@ -62,7 +64,7 @@ namespace Common
{
Debug.LogWarning($"New instance of type {typeof(T).Name} detected. " +
"This new instance is becoming the default instance.");
- SharedInstance = (T) Convert.ChangeType(this, typeof(T));;
+ SharedInstance = (T) Convert.ChangeType(this, typeof(T));
return;
}
@@ -83,6 +85,7 @@ namespace Common
///
public abstract class PersistentSingleton : AbstractSingleton where T : PersistentSingleton
{
+ [PublicAPI]
public static T Instance
{
get
@@ -92,6 +95,7 @@ namespace Common
}
}
+ [PublicAPI]
public static void CreateIfDoesNotExist()
{
if (!HasInstance && Application.isPlaying)
diff --git a/JohnsonUtils/Common/Singleton.cs.meta b/JohnsonUtils/Common/Singleton.cs.meta
new file mode 100644
index 0000000..7ef9786
--- /dev/null
+++ b/JohnsonUtils/Common/Singleton.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 9604fea7e06f5b049a9284f29fed926a
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Common/Timer.cs b/JohnsonUtils/Common/Timer.cs
similarity index 61%
rename from Common/Timer.cs
rename to JohnsonUtils/Common/Timer.cs
index 0821637..a8456fa 100644
--- a/Common/Timer.cs
+++ b/JohnsonUtils/Common/Timer.cs
@@ -1,6 +1,6 @@
using System;
-namespace Common
+namespace JohnsonUtils.Common
{
public class Timer
{
@@ -10,43 +10,43 @@ namespace Common
public float CurrentTime { get; private set; }
- private readonly float startingTime;
- private readonly bool isCountDown;
- private bool isEnabled;
+ private readonly float _startingTime;
+ private readonly bool _isCountDown;
+ private bool _isEnabled;
public Timer(float startTime, bool countDown = true)
{
IsRunning = false;
- isEnabled = true;
- startingTime = startTime;
- isCountDown = countDown;
+ _isEnabled = true;
+ _startingTime = startTime;
+ _isCountDown = countDown;
Init();
}
private void Init()
{
- CurrentTime = startingTime;
+ CurrentTime = _startingTime;
}
public void Tick(float dt)
{
- if (!IsRunning || !isEnabled) return;
+ if (!IsRunning || !_isEnabled) return;
- CurrentTime += isCountDown ? -dt : dt;
+ CurrentTime += _isCountDown ? -dt : dt;
if (CurrentTime < 0)
{
CurrentTime = 0;
IsRunning = false;
- isEnabled = false;
+ _isEnabled = false;
OnTimeOver?.Invoke();
}
}
public void Reset()
{
- isEnabled = true;
- CurrentTime = isCountDown ? startingTime : 0;
+ _isEnabled = true;
+ CurrentTime = _isCountDown ? _startingTime : 0;
}
public void Start() => IsRunning = true;
@@ -54,7 +54,7 @@ namespace Common
public void Stop()
{
IsRunning = false;
- isEnabled = false;
+ _isEnabled = false;
CurrentTime = 0;
}
}
diff --git a/JohnsonUtils/Common/Timer.cs.meta b/JohnsonUtils/Common/Timer.cs.meta
new file mode 100644
index 0000000..19ad2d7
--- /dev/null
+++ b/JohnsonUtils/Common/Timer.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 0a63bf39f5084f244a0d173ffaa33830
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/JohnsonUtils/Common/TimerWrapper.cs b/JohnsonUtils/Common/TimerWrapper.cs
new file mode 100644
index 0000000..d0be03f
--- /dev/null
+++ b/JohnsonUtils/Common/TimerWrapper.cs
@@ -0,0 +1,45 @@
+using JetBrains.Annotations;
+using UnityEngine;
+using UnityEngine.Events;
+
+namespace JohnsonUtils.Common
+{
+ public class TimerWrapper : MonoBehaviour
+ {
+ [PublicAPI] public UnityAction OnTimerOver;
+
+ [SerializeField, Min(0)] private float startTime;
+ [SerializeField] private bool countDown = true;
+ [SerializeField] private bool startOnAwake;
+ [SerializeField] private bool startOnStart;
+
+ private Timer _timer;
+
+ [PublicAPI] public bool IsRunning => _timer.IsRunning;
+ [PublicAPI] public float CurrentTime => _timer.CurrentTime;
+
+ private void Awake()
+ {
+ _timer = new Timer(startTime, countDown);
+ _timer.OnTimeOver += OnTimeOver;
+ if (startOnAwake) _timer.Start();
+ }
+
+ private void Start()
+ {
+ if (startOnStart) _timer.Start();
+ }
+
+ private void Update()
+ {
+ _timer.Tick(Time.deltaTime);
+ }
+
+ [PublicAPI] public void StartTimer() => _timer.Start();
+ [PublicAPI] public void PauseTimer() => _timer.Pause();
+ [PublicAPI] public void StopTimer() => _timer.Stop();
+ [PublicAPI] public void ResetTimer() => _timer.Reset();
+
+ private void OnTimeOver() => OnTimerOver?.Invoke();
+ }
+}
\ No newline at end of file
diff --git a/JohnsonUtils/Common/TimerWrapper.cs.meta b/JohnsonUtils/Common/TimerWrapper.cs.meta
new file mode 100644
index 0000000..7514c23
--- /dev/null
+++ b/JohnsonUtils/Common/TimerWrapper.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: bd620e23d11c4614686cb5f542a4a465
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/JohnsonUtils/SaveSystem.meta b/JohnsonUtils/SaveSystem.meta
new file mode 100644
index 0000000..c9dd2bf
--- /dev/null
+++ b/JohnsonUtils/SaveSystem.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 1c62f54d128b1614995abe5cb166e69f
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/JohnsonUtils/SaveSystem/Editor.meta b/JohnsonUtils/SaveSystem/Editor.meta
new file mode 100644
index 0000000..22dce3a
--- /dev/null
+++ b/JohnsonUtils/SaveSystem/Editor.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: b166f29acfae6f249968b2471f1bbbd7
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Editor/CustomInspectors/SaveManagerInspector.cs b/JohnsonUtils/SaveSystem/Editor/SaveManagerInspector.cs
similarity index 92%
rename from Editor/CustomInspectors/SaveManagerInspector.cs
rename to JohnsonUtils/SaveSystem/Editor/SaveManagerInspector.cs
index 8fcf9ab..6b136b4 100644
--- a/Editor/CustomInspectors/SaveManagerInspector.cs
+++ b/JohnsonUtils/SaveSystem/Editor/SaveManagerInspector.cs
@@ -3,10 +3,10 @@ using System.IO;
using UnityEditor;
using UnityEngine;
-namespace SaveSystem
+namespace JohnsonUtils.SaveSystem
{
[CustomEditor(typeof(SaveManager), true)]
- public class SaveManagerInspector : Editor
+ public class SaveManagerInspector : UnityEditor.Editor
{
public override void OnInspectorGUI()
{
diff --git a/JohnsonUtils/SaveSystem/Editor/SaveManagerInspector.cs.meta b/JohnsonUtils/SaveSystem/Editor/SaveManagerInspector.cs.meta
new file mode 100644
index 0000000..9cd97f9
--- /dev/null
+++ b/JohnsonUtils/SaveSystem/Editor/SaveManagerInspector.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 8ae65abf022e1be4292f3e2dabfce042
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/SaveSystem/GameData.cs b/JohnsonUtils/SaveSystem/GameData.cs
similarity index 83%
rename from SaveSystem/GameData.cs
rename to JohnsonUtils/SaveSystem/GameData.cs
index c2c031a..ff7e347 100644
--- a/SaveSystem/GameData.cs
+++ b/JohnsonUtils/SaveSystem/GameData.cs
@@ -1,6 +1,6 @@
using System;
-namespace SaveSystem
+namespace JohnsonUtils.SaveSystem
{
[Serializable]
public class GameData
diff --git a/JohnsonUtils/SaveSystem/GameData.cs.meta b/JohnsonUtils/SaveSystem/GameData.cs.meta
new file mode 100644
index 0000000..33760e0
--- /dev/null
+++ b/JohnsonUtils/SaveSystem/GameData.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 57b18c872a3211e40b79bb602e00f99b
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/SaveSystem/ISaveData.cs b/JohnsonUtils/SaveSystem/ISaveData.cs
similarity index 79%
rename from SaveSystem/ISaveData.cs
rename to JohnsonUtils/SaveSystem/ISaveData.cs
index 8de4f48..3f7ede3 100644
--- a/SaveSystem/ISaveData.cs
+++ b/JohnsonUtils/SaveSystem/ISaveData.cs
@@ -1,4 +1,4 @@
-namespace SaveSystem
+namespace JohnsonUtils.SaveSystem
{
public interface ISaveData
{
diff --git a/JohnsonUtils/SaveSystem/ISaveData.cs.meta b/JohnsonUtils/SaveSystem/ISaveData.cs.meta
new file mode 100644
index 0000000..e4a9865
--- /dev/null
+++ b/JohnsonUtils/SaveSystem/ISaveData.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: bf2bda9e88708e14eb87e377f412381b
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/SaveSystem/SaveManager.cs b/JohnsonUtils/SaveSystem/SaveManager.cs
similarity index 87%
rename from SaveSystem/SaveManager.cs
rename to JohnsonUtils/SaveSystem/SaveManager.cs
index 9b61038..0da80c5 100644
--- a/SaveSystem/SaveManager.cs
+++ b/JohnsonUtils/SaveSystem/SaveManager.cs
@@ -1,17 +1,19 @@
using System;
using System.Collections.Generic;
using System.IO;
-using Core;
+using JetBrains.Annotations;
+using JohnsonUtils.Common;
using UnityEngine;
using UnityEngine.Events;
-namespace SaveSystem
+namespace JohnsonUtils.SaveSystem
{
public class SaveManager : Singleton
{
+ [UsedImplicitly]
public static UnityAction OnLoadCompleted;
- private static readonly List SaveDataList = new List();
+ private static readonly List SaveDataList = new ();
private GameData _saveGame;
private int _loadedGameNumber = -1;
@@ -34,7 +36,7 @@ namespace SaveSystem
string json = JsonUtility.ToJson(_saveGame);
byte[] plainTextBytes = System.Text.Encoding.UTF8.GetBytes(json);
string b64 = Convert.ToBase64String(plainTextBytes);
- using StreamWriter sw = new StreamWriter($"saveData{saveNumber:00}.sgd");
+ using StreamWriter sw = new ($"saveData{saveNumber:00}.sgd");
sw.Write(b64);
_loadedGameNumber = -1;
}
@@ -46,7 +48,7 @@ namespace SaveSystem
saveData.Save(ref _saveGame);
}
string json = JsonUtility.ToJson(_saveGame);
- using StreamWriter sw = new StreamWriter($"saveData01.json");
+ using StreamWriter sw = new ($"saveData01.json");
sw.Write(json);
}
@@ -56,7 +58,7 @@ namespace SaveSystem
{
try
{
- using StreamReader sr = new StreamReader($"saveData{saveNumber:00}.sgd");
+ using StreamReader sr = new ($"saveData{saveNumber:00}.sgd");
string b64 = sr.ReadToEnd();
byte[] plainTextBytes = Convert.FromBase64String(b64);
string json = System.Text.Encoding.UTF8.GetString(plainTextBytes);
@@ -77,6 +79,7 @@ namespace SaveSystem
OnLoadCompleted?.Invoke(_saveGame);
}
+ [PublicAPI]
public static void Register(ISaveData saveData)
{
if (!SaveDataList.Contains(saveData))
@@ -84,7 +87,8 @@ namespace SaveSystem
SaveDataList.Add(saveData);
}
}
-
+
+ [PublicAPI]
public static void Unregister(ISaveData saveData)
{
SaveDataList.Remove(saveData);
diff --git a/JohnsonUtils/SaveSystem/SaveManager.cs.meta b/JohnsonUtils/SaveSystem/SaveManager.cs.meta
new file mode 100644
index 0000000..f3cc4ae
--- /dev/null
+++ b/JohnsonUtils/SaveSystem/SaveManager.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 6a7057bb52fdff64086ec05f1083489f
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/JohnsonUtils/Utilities.meta b/JohnsonUtils/Utilities.meta
new file mode 100644
index 0000000..6efb10c
--- /dev/null
+++ b/JohnsonUtils/Utilities.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: fc748c629d04cd4498473f0ebd5fd372
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Utilities/DontDestroyOnLoadUtils.cs b/JohnsonUtils/Utilities/DontDestroyOnLoadUtils.cs
similarity index 89%
rename from Utilities/DontDestroyOnLoadUtils.cs
rename to JohnsonUtils/Utilities/DontDestroyOnLoadUtils.cs
index 63fcc46..f68b810 100644
--- a/Utilities/DontDestroyOnLoadUtils.cs
+++ b/JohnsonUtils/Utilities/DontDestroyOnLoadUtils.cs
@@ -1,14 +1,15 @@
using System;
using System.Collections.Generic;
using System.Linq;
+using JetBrains.Annotations;
using UnityEngine;
using Object = UnityEngine.Object;
-namespace Utilities
+namespace JohnsonUtils.Utilities
{
public static class DontDestroyOnLoadUtils
{
- private static readonly List ManagedObjects = new List();
+ private static readonly List ManagedObjects = new ();
public static void Add(GameObject gameObject)
{
@@ -16,6 +17,7 @@ namespace Utilities
Object.DontDestroyOnLoad(gameObject);
}
+ [PublicAPI]
public static void DestroyAll(Func filter = null)
{
foreach (GameObject managedObject in ManagedObjects.ToList())
diff --git a/JohnsonUtils/Utilities/DontDestroyOnLoadUtils.cs.meta b/JohnsonUtils/Utilities/DontDestroyOnLoadUtils.cs.meta
new file mode 100644
index 0000000..b9be96f
--- /dev/null
+++ b/JohnsonUtils/Utilities/DontDestroyOnLoadUtils.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 8ea9ccf7d1dd3d445abb63da703379be
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/JohnsonUtils/Utilities/Editor.meta b/JohnsonUtils/Utilities/Editor.meta
new file mode 100644
index 0000000..a53d12f
--- /dev/null
+++ b/JohnsonUtils/Utilities/Editor.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 135a3c76938248c884cb0ce9c18de68c
+timeCreated: 1679109633
\ No newline at end of file
diff --git a/JohnsonUtils/Utilities/Editor/SceneAutoLoader.cs b/JohnsonUtils/Utilities/Editor/SceneAutoLoader.cs
new file mode 100644
index 0000000..283f53e
--- /dev/null
+++ b/JohnsonUtils/Utilities/Editor/SceneAutoLoader.cs
@@ -0,0 +1,136 @@
+using UnityEditor;
+using UnityEditor.SceneManagement;
+using UnityEngine;
+using UnityEngine.SceneManagement;
+
+namespace JohnsonUtils.Utilities
+{
+ ///
+ /// Scene auto loader.
+ ///
+ ///
+ /// This class adds a File > Scene Autoload menu containing options to select
+ /// a "master scene" enable it to be auto-loaded when the user presses play
+ /// in the editor. When enabled, the selected scene will be loaded on play,
+ /// then the original scene will be reloaded on stop.
+ ///
+ /// Based on an idea on this thread:
+ /// http://forum.unity3d.com/threads/157502-Executing-first-scene-in-build-settings-when-pressing-play-button-in-editor
+ ///
+ [InitializeOnLoad]
+ public static class SceneAutoLoader
+ {
+ // Static constructor binds a playmode-changed callback.
+ // [InitializeOnLoad] above makes sure this gets executed.
+ static SceneAutoLoader()
+ {
+ EditorApplication.playModeStateChanged += OnPlayModeChanged;
+ }
+
+ // Menu items to select the "master" scene and control whether or not to load it.
+ [MenuItem("File/Scene Autoload/Select Master Scene...")]
+ private static void SelectMasterScene()
+ {
+ string masterScene = EditorUtility.OpenFilePanel("Select Master Scene", Application.dataPath, "unity");
+ masterScene = masterScene.Replace(Application.dataPath, "Assets"); //project relative instead of absolute path
+ if (!string.IsNullOrEmpty(masterScene))
+ {
+ MasterScene = masterScene;
+ LoadMasterOnPlay = true;
+ }
+ }
+
+ [MenuItem("File/Scene Autoload/Load Master On Play", true)]
+ private static bool ShowLoadMasterOnPlay()
+ {
+ return !LoadMasterOnPlay;
+ }
+
+ [MenuItem("File/Scene Autoload/Load Master On Play")]
+ private static void EnableLoadMasterOnPlay()
+ {
+ LoadMasterOnPlay = true;
+ }
+
+ [MenuItem("File/Scene Autoload/Don't Load Master On Play", true)]
+ private static bool ShowDontLoadMasterOnPlay()
+ {
+ return LoadMasterOnPlay;
+ }
+
+ [MenuItem("File/Scene Autoload/Don't Load Master On Play")]
+ private static void DisableLoadMasterOnPlay()
+ {
+ LoadMasterOnPlay = false;
+ }
+
+ // Play mode change callback handles the scene load/reload.
+ private static void OnPlayModeChanged(PlayModeStateChange state)
+ {
+ if (!LoadMasterOnPlay)
+ {
+ return;
+ }
+
+ if (!EditorApplication.isPlaying && EditorApplication.isPlayingOrWillChangePlaymode)
+ {
+ // User pressed play -- autoload master scene.
+ PreviousScene = SceneManager.GetActiveScene().path;
+ if (EditorSceneManager.SaveCurrentModifiedScenesIfUserWantsTo())
+ {
+ try
+ {
+ EditorSceneManager.OpenScene(MasterScene);
+ }
+ catch
+ {
+ Debug.LogError($"error: scene not found: {MasterScene}");
+ EditorApplication.isPlaying = false;
+ }
+ }
+ else
+ {
+ // User cancelled the save operation -- cancel play as well.
+ EditorApplication.isPlaying = false;
+ }
+ }
+
+ // isPlaying check required because cannot OpenScene while playing
+ if (!EditorApplication.isPlaying && !EditorApplication.isPlayingOrWillChangePlaymode)
+ {
+ // User pressed stop -- reload previous scene.
+ try
+ {
+ EditorSceneManager.OpenScene(PreviousScene);
+ }
+ catch
+ {
+ Debug.LogError($"error: scene not found: {PreviousScene}");
+ }
+ }
+ }
+
+ // Properties are remembered as editor preferences.
+ private const string EDITOR_PREF_LOAD_MASTER_ON_PLAY = "SceneAutoLoader.LoadMasterOnPlay";
+ private const string EDITOR_PREF_MASTER_SCENE = "SceneAutoLoader.MasterScene";
+ private const string EDITOR_PREF_PREVIOUS_SCENE = "SceneAutoLoader.PreviousScene";
+
+ private static bool LoadMasterOnPlay
+ {
+ get => EditorPrefs.GetBool(EDITOR_PREF_LOAD_MASTER_ON_PLAY, false);
+ set => EditorPrefs.SetBool(EDITOR_PREF_LOAD_MASTER_ON_PLAY, value);
+ }
+
+ private static string MasterScene
+ {
+ get => EditorPrefs.GetString(EDITOR_PREF_MASTER_SCENE, "Master.unity");
+ set => EditorPrefs.SetString(EDITOR_PREF_MASTER_SCENE, value);
+ }
+
+ private static string PreviousScene
+ {
+ get => EditorPrefs.GetString(EDITOR_PREF_PREVIOUS_SCENE, SceneManager.GetActiveScene().path);
+ set => EditorPrefs.SetString(EDITOR_PREF_PREVIOUS_SCENE, value);
+ }
+ }
+}
\ No newline at end of file
diff --git a/JohnsonUtils/Utilities/Editor/SceneAutoLoader.cs.meta b/JohnsonUtils/Utilities/Editor/SceneAutoLoader.cs.meta
new file mode 100644
index 0000000..5257ae0
--- /dev/null
+++ b/JohnsonUtils/Utilities/Editor/SceneAutoLoader.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 33bc754a27011cb4dbcbb8ca2806c681
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/JohnsonUtils/Utilities/Extensions.meta b/JohnsonUtils/Utilities/Extensions.meta
new file mode 100644
index 0000000..1bf5974
--- /dev/null
+++ b/JohnsonUtils/Utilities/Extensions.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: bd5040a05d81fbe4d91cb7e4ca276a3d
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Utilities/Extensions/CollectionExtensions.cs b/JohnsonUtils/Utilities/Extensions/CollectionExtensions.cs
similarity index 96%
rename from Utilities/Extensions/CollectionExtensions.cs
rename to JohnsonUtils/Utilities/Extensions/CollectionExtensions.cs
index 6b2610f..fad5156 100644
--- a/Utilities/Extensions/CollectionExtensions.cs
+++ b/JohnsonUtils/Utilities/Extensions/CollectionExtensions.cs
@@ -2,7 +2,7 @@
using System.Linq;
using UnityEngine;
-namespace Utilities.Extensions
+namespace JohnsonUtils.Utilities
{
public static class CollectionExtensions
{
diff --git a/JohnsonUtils/Utilities/Extensions/CollectionExtensions.cs.meta b/JohnsonUtils/Utilities/Extensions/CollectionExtensions.cs.meta
new file mode 100644
index 0000000..14fec31
--- /dev/null
+++ b/JohnsonUtils/Utilities/Extensions/CollectionExtensions.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: b5fb94e75a817a546ae336e4f83bc091
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Utilities/Extensions/GameObjectExtensions.cs b/JohnsonUtils/Utilities/Extensions/GameObjectExtensions.cs
similarity index 99%
rename from Utilities/Extensions/GameObjectExtensions.cs
rename to JohnsonUtils/Utilities/Extensions/GameObjectExtensions.cs
index fc22702..5625504 100644
--- a/Utilities/Extensions/GameObjectExtensions.cs
+++ b/JohnsonUtils/Utilities/Extensions/GameObjectExtensions.cs
@@ -3,7 +3,7 @@ using Fusion;
#endif
using UnityEngine;
-namespace Utilities.Extensions
+namespace JohnsonUtils.Utilities
{
public static class GameObjectExtensions
{
diff --git a/JohnsonUtils/Utilities/Extensions/GameObjectExtensions.cs.meta b/JohnsonUtils/Utilities/Extensions/GameObjectExtensions.cs.meta
new file mode 100644
index 0000000..4f61f15
--- /dev/null
+++ b/JohnsonUtils/Utilities/Extensions/GameObjectExtensions.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 11c2e39b23f8fe0438c1c428ff35d31a
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Utilities/Extensions/InputActionExtensions.cs b/JohnsonUtils/Utilities/Extensions/InputActionExtensions.cs
similarity index 92%
rename from Utilities/Extensions/InputActionExtensions.cs
rename to JohnsonUtils/Utilities/Extensions/InputActionExtensions.cs
index b08e4eb..93ca4bd 100644
--- a/Utilities/Extensions/InputActionExtensions.cs
+++ b/JohnsonUtils/Utilities/Extensions/InputActionExtensions.cs
@@ -1,7 +1,7 @@
using UnityEngine;
using UnityEngine.InputSystem;
-namespace Utilities.Extensions
+namespace JohnsonUtils.Utilities
{
public static class InputActionExtensions
{
diff --git a/JohnsonUtils/Utilities/Extensions/InputActionExtensions.cs.meta b/JohnsonUtils/Utilities/Extensions/InputActionExtensions.cs.meta
new file mode 100644
index 0000000..0411444
--- /dev/null
+++ b/JohnsonUtils/Utilities/Extensions/InputActionExtensions.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 8242e3fda713f7d4e9221e2dc0c19f3c
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Utilities/Extensions/StringExtensions.cs b/JohnsonUtils/Utilities/Extensions/StringExtensions.cs
similarity index 91%
rename from Utilities/Extensions/StringExtensions.cs
rename to JohnsonUtils/Utilities/Extensions/StringExtensions.cs
index 3b52aa1..87bd841 100644
--- a/Utilities/Extensions/StringExtensions.cs
+++ b/JohnsonUtils/Utilities/Extensions/StringExtensions.cs
@@ -1,4 +1,4 @@
-namespace Utilities.Extensions
+namespace JohnsonUtils.Utilities
{
public static class StringExtensions
{
diff --git a/JohnsonUtils/Utilities/Extensions/StringExtensions.cs.meta b/JohnsonUtils/Utilities/Extensions/StringExtensions.cs.meta
new file mode 100644
index 0000000..0c7c6b2
--- /dev/null
+++ b/JohnsonUtils/Utilities/Extensions/StringExtensions.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 5add9befbd2881544901a6f360eff0e3
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Utilities/Extensions/TransformExtensions.cs b/JohnsonUtils/Utilities/Extensions/TransformExtensions.cs
similarity index 89%
rename from Utilities/Extensions/TransformExtensions.cs
rename to JohnsonUtils/Utilities/Extensions/TransformExtensions.cs
index f133224..8abb7c7 100644
--- a/Utilities/Extensions/TransformExtensions.cs
+++ b/JohnsonUtils/Utilities/Extensions/TransformExtensions.cs
@@ -1,6 +1,6 @@
using UnityEngine;
-namespace Utilities.Extensions
+namespace JohnsonUtils.Utilities
{
public static class TransformExtensions
{
diff --git a/JohnsonUtils/Utilities/Extensions/TransformExtensions.cs.meta b/JohnsonUtils/Utilities/Extensions/TransformExtensions.cs.meta
new file mode 100644
index 0000000..80a2d73
--- /dev/null
+++ b/JohnsonUtils/Utilities/Extensions/TransformExtensions.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: a9990d71fe137014da6d88ccc7f3fd79
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Utilities/Extensions/VectorExtensions.cs b/JohnsonUtils/Utilities/Extensions/VectorExtensions.cs
similarity index 98%
rename from Utilities/Extensions/VectorExtensions.cs
rename to JohnsonUtils/Utilities/Extensions/VectorExtensions.cs
index 67745f0..f2b3442 100644
--- a/Utilities/Extensions/VectorExtensions.cs
+++ b/JohnsonUtils/Utilities/Extensions/VectorExtensions.cs
@@ -1,6 +1,6 @@
using UnityEngine;
-namespace Utilities.Extensions
+namespace JohnsonUtils.Utilities
{
public static class VectorExtensions
{
diff --git a/JohnsonUtils/Utilities/Extensions/VectorExtensions.cs.meta b/JohnsonUtils/Utilities/Extensions/VectorExtensions.cs.meta
new file mode 100644
index 0000000..a89d024
--- /dev/null
+++ b/JohnsonUtils/Utilities/Extensions/VectorExtensions.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: bd30f74b9d046c343b219f71af36214e
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Utilities/Helpers.cs b/JohnsonUtils/Utilities/Helpers.cs
similarity index 79%
rename from Utilities/Helpers.cs
rename to JohnsonUtils/Utilities/Helpers.cs
index 49b19a0..dce2df3 100644
--- a/Utilities/Helpers.cs
+++ b/JohnsonUtils/Utilities/Helpers.cs
@@ -1,13 +1,14 @@
using System.Collections.Generic;
+using JetBrains.Annotations;
using UnityEngine;
-namespace Utilities
+namespace JohnsonUtils.Utilities
{
public static class Helpers
{
- private static readonly Dictionary WaitDictionary =
- new Dictionary();
+ private static readonly Dictionary WaitDictionary = new();
+ [PublicAPI]
public static WaitForSeconds GetWait(float time)
{
if (WaitDictionary.TryGetValue(time, out var wait)) return wait;
diff --git a/JohnsonUtils/Utilities/Helpers.cs.meta b/JohnsonUtils/Utilities/Helpers.cs.meta
new file mode 100644
index 0000000..b1e1b0e
--- /dev/null
+++ b/JohnsonUtils/Utilities/Helpers.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 63f4821a0b83c2946a1030f57ca89855
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/JohnsonUtils/Utilities/Icons.meta b/JohnsonUtils/Utilities/Icons.meta
new file mode 100644
index 0000000..28889b8
--- /dev/null
+++ b/JohnsonUtils/Utilities/Icons.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: a61e6af0b88652a43b607e4e5c97eb91
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Utilities/BindingsIconsUtil.cs b/JohnsonUtils/Utilities/Icons/BindingsIconsUtil.cs
similarity index 97%
rename from Utilities/BindingsIconsUtil.cs
rename to JohnsonUtils/Utilities/Icons/BindingsIconsUtil.cs
index 6a1850c..88d3f09 100644
--- a/Utilities/BindingsIconsUtil.cs
+++ b/JohnsonUtils/Utilities/Icons/BindingsIconsUtil.cs
@@ -1,11 +1,10 @@
using System.Collections.Generic;
using System.Linq;
-using Scriptables;
using UnityEngine;
using UnityEngine.InputSystem;
using static UnityEngine.InputSystem.InputSystem;
-namespace Utilities
+namespace JohnsonUtils.Utilities.Icons
{
public static class BindingsIconsUtil
{
@@ -15,8 +14,8 @@ namespace Utilities
private static void Init()
{
- xbox = Resources.Load("InputSystem/GamePadIcons_Xbox");
- ps4 = Resources.Load("InputSystem/GamePadIcons_PS");
+ xbox = Resources.Load("InputSystem/GamepadIcons_Xbox");
+ ps4 = Resources.Load("InputSystem/GamepadIcons_PS");
mouseKeyboard = Resources.Load("InputSystem/MouseKeyboardIcons");
}
diff --git a/JohnsonUtils/Utilities/Icons/BindingsIconsUtil.cs.meta b/JohnsonUtils/Utilities/Icons/BindingsIconsUtil.cs.meta
new file mode 100644
index 0000000..96a98ff
--- /dev/null
+++ b/JohnsonUtils/Utilities/Icons/BindingsIconsUtil.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: f226afe07acb8a748a642771fd14b4c0
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/JohnsonUtils/Utilities/Icons/GamepadIcons.cs b/JohnsonUtils/Utilities/Icons/GamepadIcons.cs
new file mode 100644
index 0000000..36a28ce
--- /dev/null
+++ b/JohnsonUtils/Utilities/Icons/GamepadIcons.cs
@@ -0,0 +1,57 @@
+using UnityEngine;
+
+namespace JohnsonUtils.Utilities.Icons
+{
+ [CreateAssetMenu(fileName = "GamepadIcons_", menuName = "AssetPack/GamePad Icons", order = 0)]
+ public class GamepadIcons : ScriptableObject
+ {
+ public Sprite ButtonEast;
+ public Sprite ButtonNorth;
+ public Sprite ButtonSouth;
+ public Sprite ButtonWest;
+ public Sprite Dpad;
+ public Sprite DpadUp;
+ public Sprite DpadDown;
+ public Sprite DpadLeft;
+ public Sprite DpadRight;
+ public Sprite LeftShoulder;
+ public Sprite LeftStick;
+ public Sprite LeftTrigger;
+ public Sprite RightShoulder;
+ public Sprite RightStick;
+ public Sprite RightTrigger;
+ public Sprite SelectButton;
+ public Sprite StartButton;
+ public Sprite LeftStickPress;
+ public Sprite RightStickPress;
+
+ public Sprite GetSprite(string controlPath)
+ {
+ // From the input system, we get the path of the control on device. So we can just
+ // map from that to the sprites we have for gamepads.
+ return controlPath switch
+ {
+ "buttonSouth" => ButtonSouth,
+ "buttonNorth" => ButtonNorth,
+ "buttonEast" => ButtonEast,
+ "buttonWest" => ButtonWest,
+ "start" => StartButton,
+ "select" => SelectButton,
+ "leftTrigger" => LeftTrigger,
+ "rightTrigger" => RightTrigger,
+ "leftShoulder" => LeftShoulder,
+ "rightShoulder" => RightShoulder,
+ "dpad" => Dpad,
+ "dpad/up" => DpadUp,
+ "dpad/down" => DpadDown,
+ "dpad/left" => DpadLeft,
+ "dpad/right" => DpadRight,
+ "leftStick" => LeftStick,
+ "rightStick" => RightStick,
+ "leftStickPress" => LeftStickPress,
+ "rightStickPress" => RightStickPress,
+ _ => null
+ };
+ }
+ }
+}
\ No newline at end of file
diff --git a/JohnsonUtils/Utilities/Icons/GamepadIcons.cs.meta b/JohnsonUtils/Utilities/Icons/GamepadIcons.cs.meta
new file mode 100644
index 0000000..630d97d
--- /dev/null
+++ b/JohnsonUtils/Utilities/Icons/GamepadIcons.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 05c8d9a76dc13a34db3c143d9f20b866
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/JohnsonUtils/Utilities/Icons/MouseKeyboardIcons.cs b/JohnsonUtils/Utilities/Icons/MouseKeyboardIcons.cs
new file mode 100644
index 0000000..75d2416
--- /dev/null
+++ b/JohnsonUtils/Utilities/Icons/MouseKeyboardIcons.cs
@@ -0,0 +1,186 @@
+using UnityEngine;
+
+namespace JohnsonUtils.Utilities.Icons
+{
+ [CreateAssetMenu(fileName = "MouseKeyboardIcons_", menuName = "AssetPack/MouseKeyboard Icons", order = 0)]
+ public class MouseKeyboardIcons : ScriptableObject
+ {
+ public Sprite Zero;
+ public Sprite One;
+ public Sprite Two;
+ public Sprite Three;
+ public Sprite Four;
+ public Sprite Five;
+ public Sprite Six;
+ public Sprite Seven;
+ public Sprite Eight;
+ public Sprite Nine;
+ public Sprite Alt;
+ public Sprite ArrowDown;
+ public Sprite ArrowLeft;
+ public Sprite ArrowRight;
+ public Sprite ArrowUp;
+ public Sprite Asterisk;
+ public Sprite Backspace;
+ public Sprite Ctrl;
+ public Sprite Delete;
+ public Sprite End;
+ public Sprite Enter;
+ public Sprite Escape;
+ public Sprite F1;
+ public Sprite F2;
+ public Sprite F3;
+ public Sprite F4;
+ public Sprite F5;
+ public Sprite F6;
+ public Sprite F7;
+ public Sprite F8;
+ public Sprite F9;
+ public Sprite F10;
+ public Sprite F11;
+ public Sprite F12;
+ public Sprite Home;
+ public Sprite LetterA;
+ public Sprite LetterB;
+ public Sprite LetterC;
+ public Sprite LetterD;
+ public Sprite LetterE;
+ public Sprite LetterF;
+ public Sprite LetterG;
+ public Sprite LetterH;
+ public Sprite LetterI;
+ public Sprite LetterJ;
+ public Sprite LetterK;
+ public Sprite LetterL;
+ public Sprite LetterM;
+ public Sprite LetterN;
+ public Sprite LetterO;
+ public Sprite LetterP;
+ public Sprite LetterQ;
+ public Sprite LetterR;
+ public Sprite LetterS;
+ public Sprite LetterT;
+ public Sprite LetterU;
+ public Sprite LetterV;
+ public Sprite LetterW;
+ public Sprite LetterX;
+ public Sprite LetterY;
+ public Sprite LetterZ;
+ public Sprite MarkLeft;
+ public Sprite MarkRight;
+ public Sprite Minus;
+ public Sprite Plus;
+ public Sprite MouseLeft;
+ public Sprite MouseMiddle;
+ public Sprite MouseRight;
+ public Sprite MouseNone;
+ public Sprite PageDown;
+ public Sprite PageUp;
+ public Sprite QuestionMark;
+ public Sprite Quote;
+ public Sprite Semicolon;
+ public Sprite Shift;
+ public Sprite Slash;
+ public Sprite Space;
+ public Sprite Tab;
+ public Sprite Tilda;
+
+ public Sprite GetSprite(string controlPath)
+ {
+ // From the input system, we get the path of the control on device. So we can just
+ // map from that to the sprites we have for gamepads.
+ return controlPath.ToLower() switch
+ {
+ "0" => Zero,
+ "1" => One,
+ "2" => Two,
+ "3" => Three,
+ "4" => Four,
+ "5" => Five,
+ "6" => Six,
+ "7" => Seven,
+ "8" => Eight,
+ "9" => Nine,
+ "alt" => Alt,
+ "leftalt" => Alt,
+ "rightalt" => Alt,
+ "downarrow" => ArrowDown,
+ "leftarrow" => ArrowLeft,
+ "rightarrow" => ArrowRight,
+ "uparrow" => ArrowUp,
+ "*" => Asterisk,
+ "backspace" => Backspace,
+ "ctrl" => Ctrl,
+ "leftctrl" => Ctrl,
+ "rightctrl" => Ctrl,
+ "delete" => Delete,
+ "end" => End,
+ "enter" => Enter,
+ "escape" => Escape,
+ "f1" => F1,
+ "f2" => F2,
+ "f3" => F3,
+ "f4" => F4,
+ "f5" => F5,
+ "f6" => F6,
+ "f7" => F7,
+ "f8" => F8,
+ "f9" => F9,
+ "f10" => F10,
+ "f11" => F11,
+ "f12" => F12,
+ "home" => Home,
+ "a" => LetterA,
+ "b" => LetterB,
+ "c" => LetterC,
+ "d" => LetterD,
+ "e" => LetterE,
+ "f" => LetterF,
+ "g" => LetterG,
+ "h" => LetterH,
+ "i" => LetterI,
+ "j" => LetterJ,
+ "k" => LetterK,
+ "l" => LetterL,
+ "m" => LetterM,
+ "n" => LetterN,
+ "o" => LetterO,
+ "p" => LetterP,
+ "q" => LetterQ,
+ "r" => LetterR,
+ "s" => LetterS,
+ "t" => LetterT,
+ "u" => LetterU,
+ "v" => LetterV,
+ "w" => LetterW,
+ "x" => LetterX,
+ "y" => LetterY,
+ "z" => LetterZ,
+ "[" => MarkLeft,
+ "]" => MarkRight,
+ "-" => Minus,
+ "+" => Plus,
+ "leftmouse" => MouseLeft,
+ "middlemouse" => MouseMiddle,
+ "rightmouse" => MouseRight,
+ "leftbutton" => MouseLeft,
+ "middlebutton" => MouseMiddle,
+ "rightbutton" => MouseRight,
+ "press" => MouseNone,
+ "pagedown" => PageDown,
+ "pageup" => PageUp,
+ "?" => QuestionMark,
+ "\"" => Quote,
+ ";" => Semicolon,
+ "shift" => Shift,
+ "leftshift" => Shift,
+ "rightshift" => Shift,
+ "/" => Slash,
+ "space" => Space,
+ "tab" => Tab,
+ "~" => Tilda,
+ _ => null
+ };
+ }
+ }
+}
\ No newline at end of file
diff --git a/JohnsonUtils/Utilities/Icons/MouseKeyboardIcons.cs.meta b/JohnsonUtils/Utilities/Icons/MouseKeyboardIcons.cs.meta
new file mode 100644
index 0000000..9a09ace
--- /dev/null
+++ b/JohnsonUtils/Utilities/Icons/MouseKeyboardIcons.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 230adb9d1f61b4342af8190654725fa7
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Utilities/SerializableDictionary.cs b/JohnsonUtils/Utilities/SerializableDictionary.cs
similarity index 54%
rename from Utilities/SerializableDictionary.cs
rename to JohnsonUtils/Utilities/SerializableDictionary.cs
index d20494a..bbdbf1b 100644
--- a/Utilities/SerializableDictionary.cs
+++ b/JohnsonUtils/Utilities/SerializableDictionary.cs
@@ -2,23 +2,23 @@
using System.Collections.Generic;
using UnityEngine;
-namespace Util
+namespace JohnsonUtils.Utilities
{
[Serializable]
public class SerializableDictionary : Dictionary, ISerializationCallbackReceiver
{
- [SerializeField] private List _keys = new List();
- [SerializeField] private List _values = new List();
+ [SerializeField] private List keys = new ();
+ [SerializeField] private List values = new ();
public void OnBeforeSerialize()
{
- _keys.Clear();
- _values.Clear();
+ keys.Clear();
+ values.Clear();
foreach (KeyValuePair pair in this)
{
- _keys.Add(pair.Key);
- _values.Add(pair.Value);
+ keys.Add(pair.Key);
+ values.Add(pair.Value);
}
}
@@ -26,16 +26,16 @@ namespace Util
{
Clear();
- if (_keys.Count != _values.Count)
+ if (keys.Count != values.Count)
{
throw new Exception(
- $"There are {_keys.Count} keys and {_values.Count} values after deserialization." +
+ $"There are {keys.Count} keys and {values.Count} values after deserialization." +
" Make sure that both key and value types are serializable.");
}
- for (int i = 0; i < _keys.Count; ++i)
+ for (int i = 0; i < keys.Count; ++i)
{
- Add(_keys[i], _values[i]);
+ Add(keys[i], values[i]);
}
}
}
diff --git a/JohnsonUtils/Utilities/SerializableDictionary.cs.meta b/JohnsonUtils/Utilities/SerializableDictionary.cs.meta
new file mode 100644
index 0000000..06bea87
--- /dev/null
+++ b/JohnsonUtils/Utilities/SerializableDictionary.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: de5e88e7664d4b04fa189a30e345f404
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/PROJECTSOLUTION.sln.DotSettings b/PROJECTSOLUTION.sln.DotSettings
new file mode 100644
index 0000000..2cb0a02
--- /dev/null
+++ b/PROJECTSOLUTION.sln.DotSettings
@@ -0,0 +1,150 @@
+
+ <Patterns xmlns="urn:schemas-jetbrains-com:member-reordering-patterns"
+ xmlns:unity="urn:schemas-jetbrains-com:member-reordering-patterns-unity">
+
+ <!-- Pattern to match classes used by Unity that contain serialised fields and event
+ function methods. Based on the standard "Default Pattern", this will also order
+ event functions before normal methods, and does not reorder serialised fields,
+ as this order is reflected in the Unity editor's Inspector -->
+ <TypePattern DisplayName="Unity classes" Priority="100">
+ <TypePattern.Match>
+ <unity:SerializableClass />
+ </TypePattern.Match>
+
+ <Entry DisplayName="Public Delegates" Priority="100">
+ <Entry.Match>
+ <And>
+ <Access Is="Public" />
+ <Kind Is="Delegate" />
+ </And>
+ </Entry.Match>
+
+ <Entry.SortBy>
+ <Name />
+ </Entry.SortBy>
+ </Entry>
+
+ <Entry DisplayName="Public Enums" Priority="100">
+ <Entry.Match>
+ <And>
+ <Access Is="Public" />
+ <Kind Is="Enum" />
+ </And>
+ </Entry.Match>
+
+ <Entry.SortBy>
+ <Name />
+ </Entry.SortBy>
+ </Entry>
+
+ <Entry DisplayName="Static Fields and Constants">
+ <Entry.Match>
+ <Or>
+ <Kind Is="Constant" />
+ <And>
+ <Kind Is="Field" />
+ <Static />
+ </And>
+ </Or>
+ </Entry.Match>
+
+ <Entry.SortBy>
+ <Kind>
+ <Kind.Order>
+ <DeclarationKind>Constant</DeclarationKind>
+ <DeclarationKind>Field</DeclarationKind>
+ </Kind.Order>
+ </Kind>
+ </Entry.SortBy>
+ </Entry>
+
+ <Entry DisplayName="Serialized Fields">
+ <Entry.Match>
+ <unity:SerializedField />
+ </Entry.Match>
+
+ <!-- No sorting -->
+ </Entry>
+
+ <Entry DisplayName="Non-serialised Fields">
+ <Entry.Match>
+ <And>
+ <Kind Is="Field" />
+ <Not>
+ <unity:SerializedField />
+ </Not>
+ </And>
+ </Entry.Match>
+
+ <Entry.SortBy>
+ <Readonly />
+ <Name />
+ </Entry.SortBy>
+ </Entry>
+
+ <Entry DisplayName="Constructors">
+ <Entry.Match>
+ <Kind Is="Constructor" />
+ </Entry.Match>
+
+ <Entry.SortBy>
+ <Static/>
+ </Entry.SortBy>
+ </Entry>
+
+ <Entry DisplayName="Properties, Indexers">
+ <Entry.Match>
+ <Or>
+ <Kind Is="Property" />
+ <Kind Is="Indexer" />
+ </Or>
+ </Entry.Match>
+ </Entry>
+
+ <Entry DisplayName="Event Functions">
+ <Entry.Match>
+ <unity:EventFunction />
+ </Entry.Match>
+
+ <Entry.SortBy>
+ <!-- Prioritises common event functions. For alphabetical, replace with <Name /> -->
+ <unity:EventFunctionName />
+ </Entry.SortBy>
+ </Entry>
+
+ <Entry DisplayName="Interface Implementations" Priority="100">
+ <Entry.Match>
+ <And>
+ <Kind Is="Member" />
+ <ImplementsInterface />
+ </And>
+ </Entry.Match>
+
+ <Entry.SortBy>
+ <ImplementsInterface Immediate="true" />
+ </Entry.SortBy>
+ </Entry>
+
+ <Entry DisplayName="All other members" />
+
+ <Entry DisplayName="Nested Types">
+ <Entry.Match>
+ <Kind Is="Type" />
+ </Entry.Match>
+ </Entry>
+ </TypePattern>
+</Patterns>
+
+ <Policy Inspect="True" Prefix="" Suffix="" Style="AA_BB" />
+<Policy><Descriptor Staticness="Instance" AccessRightKinds="Public" Description="Unity serialized field"><ElementKinds><Kind Name="UNITY_SERIALISED_FIELD" /></ElementKinds></Descriptor><Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /></Policy>
+ <Policy><Descriptor Staticness="Instance" AccessRightKinds="Private" Description="Unity serialized field"><ElementKinds><Kind Name="UNITY_SERIALISED_FIELD" /></ElementKinds></Descriptor><Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /></Policy>
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+
\ No newline at end of file
diff --git a/Plugins/Sirenix.meta b/Plugins/Sirenix.meta
new file mode 100644
index 0000000..8817fea
--- /dev/null
+++ b/Plugins/Sirenix.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 6383ca44913a0d345a222149fef5d148
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Assemblies.meta b/Plugins/Sirenix/Assemblies.meta
new file mode 100644
index 0000000..ceb9756
--- /dev/null
+++ b/Plugins/Sirenix/Assemblies.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c30fee7fb69eba342846aaf23d0c168a
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Assemblies/NoEditor/Sirenix.Serialization.dll b/Plugins/Sirenix/Assemblies/NoEditor/Sirenix.Serialization.dll
deleted file mode 100644
index c5f7bde..0000000
Binary files a/Plugins/Sirenix/Assemblies/NoEditor/Sirenix.Serialization.dll and /dev/null differ
diff --git a/Plugins/Sirenix/Assemblies/NoEditor/Sirenix.Utilities.dll b/Plugins/Sirenix/Assemblies/NoEditor/Sirenix.Utilities.dll
deleted file mode 100644
index f992e6e..0000000
Binary files a/Plugins/Sirenix/Assemblies/NoEditor/Sirenix.Utilities.dll and /dev/null differ
diff --git a/Plugins/Sirenix/Assemblies/NoEmitAndNoEditor/Sirenix.Serialization.dll b/Plugins/Sirenix/Assemblies/NoEmitAndNoEditor/Sirenix.Serialization.dll
deleted file mode 100644
index ae58ea7..0000000
Binary files a/Plugins/Sirenix/Assemblies/NoEmitAndNoEditor/Sirenix.Serialization.dll and /dev/null differ
diff --git a/Plugins/Sirenix/Assemblies/NoEmitAndNoEditor/Sirenix.Utilities.dll b/Plugins/Sirenix/Assemblies/NoEmitAndNoEditor/Sirenix.Utilities.dll
deleted file mode 100644
index 7d6e59d..0000000
Binary files a/Plugins/Sirenix/Assemblies/NoEmitAndNoEditor/Sirenix.Utilities.dll and /dev/null differ
diff --git a/Plugins/Sirenix/Assemblies/Sirenix.OdinInspector.Attributes.dll.meta b/Plugins/Sirenix/Assemblies/Sirenix.OdinInspector.Attributes.dll.meta
new file mode 100644
index 0000000..c4f2caf
--- /dev/null
+++ b/Plugins/Sirenix/Assemblies/Sirenix.OdinInspector.Attributes.dll.meta
@@ -0,0 +1,33 @@
+fileFormatVersion: 2
+guid: 615b45ca414282a44880ec620de01335
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 0
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ Any:
+ second:
+ enabled: 1
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 0
+ settings:
+ DefaultValueInitialized: true
+ - first:
+ Windows Store Apps: WindowsStoreApps
+ second:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Assemblies/Sirenix.OdinInspector.Attributes.xml.meta b/Plugins/Sirenix/Assemblies/Sirenix.OdinInspector.Attributes.xml.meta
new file mode 100644
index 0000000..1c0e39b
--- /dev/null
+++ b/Plugins/Sirenix/Assemblies/Sirenix.OdinInspector.Attributes.xml.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: e66a92ac4ee3e1e40b930970e1b7090c
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Assemblies/Sirenix.OdinInspector.Editor.dll.meta b/Plugins/Sirenix/Assemblies/Sirenix.OdinInspector.Editor.dll.meta
new file mode 100644
index 0000000..a8d3697
--- /dev/null
+++ b/Plugins/Sirenix/Assemblies/Sirenix.OdinInspector.Editor.dll.meta
@@ -0,0 +1,33 @@
+fileFormatVersion: 2
+guid: a4865f1ab4504ed8a368670db22f409c
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 0
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ Any:
+ second:
+ enabled: 1
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 0
+ settings:
+ DefaultValueInitialized: true
+ - first:
+ Windows Store Apps: WindowsStoreApps
+ second:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Assemblies/Sirenix.OdinInspector.Editor.xml.meta b/Plugins/Sirenix/Assemblies/Sirenix.OdinInspector.Editor.xml.meta
new file mode 100644
index 0000000..68ba40f
--- /dev/null
+++ b/Plugins/Sirenix/Assemblies/Sirenix.OdinInspector.Editor.xml.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 594d28601a0f6d04fb47fcd8e549aa46
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Assemblies/Sirenix.Serialization.Config.dll.meta b/Plugins/Sirenix/Assemblies/Sirenix.Serialization.Config.dll.meta
new file mode 100644
index 0000000..40ce0ad
--- /dev/null
+++ b/Plugins/Sirenix/Assemblies/Sirenix.Serialization.Config.dll.meta
@@ -0,0 +1,33 @@
+fileFormatVersion: 2
+guid: 74721b9f0af448f5ae2e91102a1a5edd
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 0
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ Any:
+ second:
+ enabled: 1
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 0
+ settings:
+ DefaultValueInitialized: true
+ - first:
+ Windows Store Apps: WindowsStoreApps
+ second:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Assemblies/Sirenix.Serialization.Config.xml.meta b/Plugins/Sirenix/Assemblies/Sirenix.Serialization.Config.xml.meta
new file mode 100644
index 0000000..80877e2
--- /dev/null
+++ b/Plugins/Sirenix/Assemblies/Sirenix.Serialization.Config.xml.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: a92083c68f6a53547a67898ad8a424ae
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Assemblies/Sirenix.Serialization.dll.meta b/Plugins/Sirenix/Assemblies/Sirenix.Serialization.dll.meta
new file mode 100644
index 0000000..7539b1a
--- /dev/null
+++ b/Plugins/Sirenix/Assemblies/Sirenix.Serialization.dll.meta
@@ -0,0 +1,33 @@
+fileFormatVersion: 2
+guid: 1d9fa6fbd07f851478ade4aca87fb875
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 0
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ Any:
+ second:
+ enabled: 1
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 0
+ settings:
+ DefaultValueInitialized: true
+ - first:
+ Windows Store Apps: WindowsStoreApps
+ second:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Assemblies/Sirenix.Serialization.xml.meta b/Plugins/Sirenix/Assemblies/Sirenix.Serialization.xml.meta
new file mode 100644
index 0000000..aac23c9
--- /dev/null
+++ b/Plugins/Sirenix/Assemblies/Sirenix.Serialization.xml.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: d5a97db10bfa91240a788be1e36ff3f4
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Assemblies/Sirenix.Utilities.Editor.dll.meta b/Plugins/Sirenix/Assemblies/Sirenix.Utilities.Editor.dll.meta
new file mode 100644
index 0000000..a33630f
--- /dev/null
+++ b/Plugins/Sirenix/Assemblies/Sirenix.Utilities.Editor.dll.meta
@@ -0,0 +1,33 @@
+fileFormatVersion: 2
+guid: 5c65184932ff4fd48a343e2360256baf
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 0
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ Any:
+ second:
+ enabled: 1
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 0
+ settings:
+ DefaultValueInitialized: true
+ - first:
+ Windows Store Apps: WindowsStoreApps
+ second:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Assemblies/Sirenix.Utilities.Editor.xml.meta b/Plugins/Sirenix/Assemblies/Sirenix.Utilities.Editor.xml.meta
new file mode 100644
index 0000000..970803a
--- /dev/null
+++ b/Plugins/Sirenix/Assemblies/Sirenix.Utilities.Editor.xml.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 3c4dfb8730b42e04c9e69f51d7a37c73
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Assemblies/Sirenix.Utilities.dll.meta b/Plugins/Sirenix/Assemblies/Sirenix.Utilities.dll.meta
new file mode 100644
index 0000000..73c88c8
--- /dev/null
+++ b/Plugins/Sirenix/Assemblies/Sirenix.Utilities.dll.meta
@@ -0,0 +1,33 @@
+fileFormatVersion: 2
+guid: 786977ff98851d9469b70e1cc2d99473
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 0
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ Any:
+ second:
+ enabled: 1
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 0
+ settings:
+ DefaultValueInitialized: true
+ - first:
+ Windows Store Apps: WindowsStoreApps
+ second:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Assemblies/Sirenix.Utilities.xml.meta b/Plugins/Sirenix/Assemblies/Sirenix.Utilities.xml.meta
new file mode 100644
index 0000000..b96c11a
--- /dev/null
+++ b/Plugins/Sirenix/Assemblies/Sirenix.Utilities.xml.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 61b7c8f0a8eaf524c81ae142f0a5ce3d
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Assemblies/link.xml.meta b/Plugins/Sirenix/Assemblies/link.xml.meta
new file mode 100644
index 0000000..6c7a38d
--- /dev/null
+++ b/Plugins/Sirenix/Assemblies/link.xml.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: c391199c8c1012346829658412aac38a
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Odin Inspector.meta b/Plugins/Sirenix/Odin Inspector.meta
new file mode 100644
index 0000000..b782a9f
--- /dev/null
+++ b/Plugins/Sirenix/Odin Inspector.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c1b5909cb4de7734f80954bdf0bcd95d
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Odin Inspector/Assets.meta b/Plugins/Sirenix/Odin Inspector/Assets.meta
new file mode 100644
index 0000000..6fc0d6c
--- /dev/null
+++ b/Plugins/Sirenix/Odin Inspector/Assets.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: dcc61112d82d48a4aae8dfa2161ec44b
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Odin Inspector/Assets/Editor.meta b/Plugins/Sirenix/Odin Inspector/Assets/Editor.meta
new file mode 100644
index 0000000..439e8a0
--- /dev/null
+++ b/Plugins/Sirenix/Odin Inspector/Assets/Editor.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 2d2f24da72e46894a970211965b54883
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Odin Inspector/Assets/Editor/ConfigData.bytes.meta b/Plugins/Sirenix/Odin Inspector/Assets/Editor/ConfigData.bytes.meta
new file mode 100644
index 0000000..a4e3722
--- /dev/null
+++ b/Plugins/Sirenix/Odin Inspector/Assets/Editor/ConfigData.bytes.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 211245ccb50d4764ebdf026d22febed9
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Odin Inspector/Assets/Editor/Odin Inspector Logo.png.meta b/Plugins/Sirenix/Odin Inspector/Assets/Editor/Odin Inspector Logo.png.meta
new file mode 100644
index 0000000..db5dd84
--- /dev/null
+++ b/Plugins/Sirenix/Odin Inspector/Assets/Editor/Odin Inspector Logo.png.meta
@@ -0,0 +1,135 @@
+fileFormatVersion: 2
+guid: 9caa89c81fa70c4488639bce6318c917
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 12
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 1
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ ignoreMasterTextureLimit: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 1
+ aniso: 1
+ mipBias: 0
+ wrapU: 0
+ wrapV: 0
+ wrapW: 0
+ nPOTScale: 1
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 0
+ spriteTessellationDetail: -1
+ textureType: 0
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 0
+ cookieLightType: 0
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Standalone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Server
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Android
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ nameFileIdTable: {}
+ spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Odin Inspector/Assets/Editor/OdinPathLookup.asset.meta b/Plugins/Sirenix/Odin Inspector/Assets/Editor/OdinPathLookup.asset.meta
new file mode 100644
index 0000000..c60d1e5
--- /dev/null
+++ b/Plugins/Sirenix/Odin Inspector/Assets/Editor/OdinPathLookup.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 4e16c44dda3291640b290ec37fc78bed
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Odin Inspector/Config.meta b/Plugins/Sirenix/Odin Inspector/Config.meta
new file mode 100644
index 0000000..e1524d9
--- /dev/null
+++ b/Plugins/Sirenix/Odin Inspector/Config.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 32bd4670b801c4746a01e9690eba6fea
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Odin Inspector/Config/Editor.meta b/Plugins/Sirenix/Odin Inspector/Config/Editor.meta
new file mode 100644
index 0000000..809aa63
--- /dev/null
+++ b/Plugins/Sirenix/Odin Inspector/Config/Editor.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 1fcc42c985c71c849a932754432ab1aa
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Odin Inspector/Config/Editor/AOTGenerationConfig.asset.meta b/Plugins/Sirenix/Odin Inspector/Config/Editor/AOTGenerationConfig.asset.meta
new file mode 100644
index 0000000..306dd15
--- /dev/null
+++ b/Plugins/Sirenix/Odin Inspector/Config/Editor/AOTGenerationConfig.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: e8fb450f4176ce7449cfff19d4ab4a23
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Odin Inspector/Config/Editor/ColorPaletteManager.asset.meta b/Plugins/Sirenix/Odin Inspector/Config/Editor/ColorPaletteManager.asset.meta
new file mode 100644
index 0000000..72fe975
--- /dev/null
+++ b/Plugins/Sirenix/Odin Inspector/Config/Editor/ColorPaletteManager.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 282b4380a620517458491295eadecfe9
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Odin Inspector/Config/Editor/GeneralDrawerConfig.asset.meta b/Plugins/Sirenix/Odin Inspector/Config/Editor/GeneralDrawerConfig.asset.meta
new file mode 100644
index 0000000..82461f4
--- /dev/null
+++ b/Plugins/Sirenix/Odin Inspector/Config/Editor/GeneralDrawerConfig.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: f1c8b898066fc5a41a63c1aa73387c06
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Odin Inspector/Config/Editor/ImportSettingsConfig.asset.meta b/Plugins/Sirenix/Odin Inspector/Config/Editor/ImportSettingsConfig.asset.meta
new file mode 100644
index 0000000..9facd0d
--- /dev/null
+++ b/Plugins/Sirenix/Odin Inspector/Config/Editor/ImportSettingsConfig.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 1b56005339acc4a498bbb0d8f02ebb1d
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Odin Inspector/Config/Editor/InspectorConfig.asset.meta b/Plugins/Sirenix/Odin Inspector/Config/Editor/InspectorConfig.asset.meta
new file mode 100644
index 0000000..98f7152
--- /dev/null
+++ b/Plugins/Sirenix/Odin Inspector/Config/Editor/InspectorConfig.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 6ceab62aa381a1a4d909760883ad7c02
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Odin Inspector/Config/Editor/OdinModuleConfig.asset b/Plugins/Sirenix/Odin Inspector/Config/Editor/OdinModuleConfig.asset
index 45676c6..40135aa 100644
--- a/Plugins/Sirenix/Odin Inspector/Config/Editor/OdinModuleConfig.asset
+++ b/Plugins/Sirenix/Odin Inspector/Config/Editor/OdinModuleConfig.asset
@@ -12,8 +12,6 @@ MonoBehaviour:
m_Script: {fileID: -228747253, guid: a4865f1ab4504ed8a368670db22f409c, type: 3}
m_Name: OdinModuleConfig
m_EditorClassIdentifier:
- configurations:
- - ID: Unity.Mathematics
- ActivationSettings: 0
+ configurations: []
ModuleTogglingSettings: 0
ModuleUpdateSettings: 0
diff --git a/Plugins/Sirenix/Odin Inspector/Config/Editor/OdinModuleConfig.asset.meta b/Plugins/Sirenix/Odin Inspector/Config/Editor/OdinModuleConfig.asset.meta
new file mode 100644
index 0000000..b17e195
--- /dev/null
+++ b/Plugins/Sirenix/Odin Inspector/Config/Editor/OdinModuleConfig.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 44e669b21bb1ef446b5e93d62049c090
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Odin Inspector/Config/Resources.meta b/Plugins/Sirenix/Odin Inspector/Config/Resources.meta
new file mode 100644
index 0000000..52a4a87
--- /dev/null
+++ b/Plugins/Sirenix/Odin Inspector/Config/Resources.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: ab94f63e326065645bc5eae9873effbb
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Odin Inspector/Config/Resources/Sirenix.meta b/Plugins/Sirenix/Odin Inspector/Config/Resources/Sirenix.meta
new file mode 100644
index 0000000..b3130c0
--- /dev/null
+++ b/Plugins/Sirenix/Odin Inspector/Config/Resources/Sirenix.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 7e36594608acf3d4d8feecd7d2ad2c8e
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Odin Inspector/Config/Resources/Sirenix/GlobalSerializationConfig.asset.meta b/Plugins/Sirenix/Odin Inspector/Config/Resources/Sirenix/GlobalSerializationConfig.asset.meta
new file mode 100644
index 0000000..6f4871f
--- /dev/null
+++ b/Plugins/Sirenix/Odin Inspector/Config/Resources/Sirenix/GlobalSerializationConfig.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 740ddd1b9ed9b7a44ad35954b38c11f8
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Odin Inspector/Modules.meta b/Plugins/Sirenix/Odin Inspector/Modules.meta
new file mode 100644
index 0000000..6268b40
--- /dev/null
+++ b/Plugins/Sirenix/Odin Inspector/Modules.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 7a3140548cc37594e8c7f4e5aabd40a5
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Odin Inspector/Modules/Unity.Entities.data.meta b/Plugins/Sirenix/Odin Inspector/Modules/Unity.Entities.data.meta
new file mode 100644
index 0000000..9581653
--- /dev/null
+++ b/Plugins/Sirenix/Odin Inspector/Modules/Unity.Entities.data.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 51851c50d7782984fa1b104195a0f58e
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Odin Inspector/Modules/Unity.Localization.data.meta b/Plugins/Sirenix/Odin Inspector/Modules/Unity.Localization.data.meta
new file mode 100644
index 0000000..16aee9d
--- /dev/null
+++ b/Plugins/Sirenix/Odin Inspector/Modules/Unity.Localization.data.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 63a46077d14c5fa43ac7da0ffebd0025
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Odin Inspector/Modules/Unity.Mathematics.data.meta b/Plugins/Sirenix/Odin Inspector/Modules/Unity.Mathematics.data.meta
new file mode 100644
index 0000000..454626a
--- /dev/null
+++ b/Plugins/Sirenix/Odin Inspector/Modules/Unity.Mathematics.data.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: f5779ae61f7e4b24ab51c3eb58c021b8
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Odin Inspector/Modules/Unity.Mathematics.meta b/Plugins/Sirenix/Odin Inspector/Modules/Unity.Mathematics.meta
new file mode 100644
index 0000000..ca18c01
--- /dev/null
+++ b/Plugins/Sirenix/Odin Inspector/Modules/Unity.Mathematics.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c4fea0df11fe5b14c915a5882b6652ef
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Odin Inspector/Modules/Unity.Mathematics/MathematicsDrawers.cs b/Plugins/Sirenix/Odin Inspector/Modules/Unity.Mathematics/MathematicsDrawers.cs
index 47a1db4..ccd7768 100644
--- a/Plugins/Sirenix/Odin Inspector/Modules/Unity.Mathematics/MathematicsDrawers.cs
+++ b/Plugins/Sirenix/Odin Inspector/Modules/Unity.Mathematics/MathematicsDrawers.cs
@@ -4,19 +4,20 @@
//
//-----------------------------------------------------------------------
-namespace Sirenix.OdinInspector.Modules.UnityMathematics.Editor
+using System;
+using System.Collections.Generic;
+using System.Reflection;
+using Sirenix.OdinInspector;
+using Sirenix.OdinInspector.Editor;
+using Sirenix.Utilities;
+using Sirenix.Utilities.Editor;
+using Unity.Mathematics;
+using UnityEditor;
+using UnityEngine;
+
+namespace JohnsonUtils.Plugins.Sirenix.Odin_Inspector.Modules.Unity.Mathematics
{
#if UNITY_EDITOR
- using System;
- using System.Collections.Generic;
- using System.Reflection;
- using Sirenix.OdinInspector.Editor;
- using Sirenix.Utilities;
- using Sirenix.Utilities.Editor;
- using Unity.Mathematics;
- using UnityEditor;
- using UnityEngine;
-
public sealed class MatrixFloat2x2Processor : MatrixProcessor { }
public sealed class MatrixFloat3x2Processor : MatrixProcessor { }
public sealed class MatrixFloat4x2Processor : MatrixProcessor { }
diff --git a/Plugins/Sirenix/Odin Inspector/Modules/Unity.Mathematics/MathematicsDrawers.cs.meta b/Plugins/Sirenix/Odin Inspector/Modules/Unity.Mathematics/MathematicsDrawers.cs.meta
new file mode 100644
index 0000000..9194743
--- /dev/null
+++ b/Plugins/Sirenix/Odin Inspector/Modules/Unity.Mathematics/MathematicsDrawers.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 5627f4b3b10a632488188d222aa967b1
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Odin Inspector/Modules/Unity.Mathematics/Sirenix.OdinInspector.Modules.UnityMathematics.asmdef.meta b/Plugins/Sirenix/Odin Inspector/Modules/Unity.Mathematics/Sirenix.OdinInspector.Modules.UnityMathematics.asmdef.meta
new file mode 100644
index 0000000..227bbbf
--- /dev/null
+++ b/Plugins/Sirenix/Odin Inspector/Modules/Unity.Mathematics/Sirenix.OdinInspector.Modules.UnityMathematics.asmdef.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 2cfce3422402b604d9252ccb42d47a1e
+AssemblyDefinitionImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Odin Inspector/Modules/Unity.Mathematics/manifest.txt.meta b/Plugins/Sirenix/Odin Inspector/Modules/Unity.Mathematics/manifest.txt.meta
new file mode 100644
index 0000000..4df4bcf
--- /dev/null
+++ b/Plugins/Sirenix/Odin Inspector/Modules/Unity.Mathematics/manifest.txt.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 42079391b36140d4cbf3a838dcb666e9
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Odin Inspector/Scripts.meta b/Plugins/Sirenix/Odin Inspector/Scripts.meta
new file mode 100644
index 0000000..2a3b23e
--- /dev/null
+++ b/Plugins/Sirenix/Odin Inspector/Scripts.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c2aeeb6768ca13748a20cb471e7d5b1b
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Odin Inspector/Scripts/Editor.meta b/Plugins/Sirenix/Odin Inspector/Scripts/Editor.meta
new file mode 100644
index 0000000..c8dcfca
--- /dev/null
+++ b/Plugins/Sirenix/Odin Inspector/Scripts/Editor.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 0b3e0a5066d059b46a813b23f70b9888
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Odin Inspector/Scripts/Editor/AssemblyImportSettingsAutomation.cs b/Plugins/Sirenix/Odin Inspector/Scripts/Editor/AssemblyImportSettingsAutomation.cs
index 0a40989..d59776d 100644
--- a/Plugins/Sirenix/Odin Inspector/Scripts/Editor/AssemblyImportSettingsAutomation.cs
+++ b/Plugins/Sirenix/Odin Inspector/Scripts/Editor/AssemblyImportSettingsAutomation.cs
@@ -4,17 +4,18 @@
//
//-----------------------------------------------------------------------
+using System.Collections.Generic;
+using System.IO;
+using Sirenix.OdinInspector.Editor;
+using Sirenix.Serialization.Utilities.Editor;
+using Sirenix.Utilities;
+using UnityEditor;
+using UnityEditor.Build;
+
#if UNITY_EDITOR && UNITY_5_6_OR_NEWER
-namespace Sirenix.OdinInspector.Editor
+namespace JohnsonUtils.Plugins.Sirenix.Odin_Inspector.Scripts.Editor
{
- using System.IO;
- using System.Collections.Generic;
- using Sirenix.Serialization.Utilities.Editor;
- using Sirenix.Utilities;
- using UnityEditor;
- using UnityEditor.Build;
-
#if UNITY_2018_1_OR_NEWER
using UnityEditor.Build.Reporting;
#endif
diff --git a/Plugins/Sirenix/Odin Inspector/Scripts/Editor/AssemblyImportSettingsAutomation.cs.meta b/Plugins/Sirenix/Odin Inspector/Scripts/Editor/AssemblyImportSettingsAutomation.cs.meta
new file mode 100644
index 0000000..326ff1a
--- /dev/null
+++ b/Plugins/Sirenix/Odin Inspector/Scripts/Editor/AssemblyImportSettingsAutomation.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 8c6ef86461fd02041843464f1c587f78
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Odin Inspector/Scripts/Editor/BuildAOTAutomation.cs b/Plugins/Sirenix/Odin Inspector/Scripts/Editor/BuildAOTAutomation.cs
index 88b438b..2649cdd 100644
--- a/Plugins/Sirenix/Odin Inspector/Scripts/Editor/BuildAOTAutomation.cs
+++ b/Plugins/Sirenix/Odin Inspector/Scripts/Editor/BuildAOTAutomation.cs
@@ -4,16 +4,15 @@
//
//-----------------------------------------------------------------------
+using System.IO;
+using Sirenix.Serialization;
+using UnityEditor;
+using UnityEditor.Build;
+
#if UNITY_EDITOR && UNITY_5_6_OR_NEWER
-namespace Sirenix.Serialization.Internal
+namespace JohnsonUtils.Plugins.Sirenix.Odin_Inspector.Scripts.Editor
{
- using Sirenix.Serialization;
- using UnityEditor;
- using UnityEditor.Build;
- using System.IO;
- using System;
-
#if UNITY_2018_1_OR_NEWER
using UnityEditor.Build.Reporting;
diff --git a/Plugins/Sirenix/Odin Inspector/Scripts/Editor/BuildAOTAutomation.cs.meta b/Plugins/Sirenix/Odin Inspector/Scripts/Editor/BuildAOTAutomation.cs.meta
new file mode 100644
index 0000000..0646c87
--- /dev/null
+++ b/Plugins/Sirenix/Odin Inspector/Scripts/Editor/BuildAOTAutomation.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 434050653439dbe48a6881175340899b
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Odin Inspector/Scripts/Editor/EnsureOdinInspectorDefine.cs b/Plugins/Sirenix/Odin Inspector/Scripts/Editor/EnsureOdinInspectorDefine.cs
index bb77c1c..153aa53 100644
--- a/Plugins/Sirenix/Odin Inspector/Scripts/Editor/EnsureOdinInspectorDefine.cs
+++ b/Plugins/Sirenix/Odin Inspector/Scripts/Editor/EnsureOdinInspectorDefine.cs
@@ -4,14 +4,14 @@
//
//-----------------------------------------------------------------------
+using System;
+using System.Linq;
+using UnityEditor;
+
#if UNITY_EDITOR
-namespace Sirenix.Utilities
+namespace JohnsonUtils.Plugins.Sirenix.Odin_Inspector.Scripts.Editor
{
- using System;
- using System.Linq;
- using UnityEditor;
-
///
/// Defines the ODIN_INSPECTOR symbol.
///
diff --git a/Plugins/Sirenix/Odin Inspector/Scripts/Editor/EnsureOdinInspectorDefine.cs.meta b/Plugins/Sirenix/Odin Inspector/Scripts/Editor/EnsureOdinInspectorDefine.cs.meta
new file mode 100644
index 0000000..0eef028
--- /dev/null
+++ b/Plugins/Sirenix/Odin Inspector/Scripts/Editor/EnsureOdinInspectorDefine.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 847f8ad314b49f74b96be0cc24727405
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Odin Inspector/Scripts/Editor/FixBrokenUnityObjectWrapperDrawer.cs b/Plugins/Sirenix/Odin Inspector/Scripts/Editor/FixBrokenUnityObjectWrapperDrawer.cs
index cf30f7d..f1ed46b 100644
--- a/Plugins/Sirenix/Odin Inspector/Scripts/Editor/FixBrokenUnityObjectWrapperDrawer.cs
+++ b/Plugins/Sirenix/Odin Inspector/Scripts/Editor/FixBrokenUnityObjectWrapperDrawer.cs
@@ -4,19 +4,19 @@
//
//-----------------------------------------------------------------------
+using System.Linq;
+using Sirenix.OdinInspector;
+using Sirenix.OdinInspector.Editor;
+using Sirenix.Utilities;
+using Sirenix.Utilities.Editor;
+using UnityEditor;
+using UnityEngine;
+
#if UNITY_EDITOR && UNITY_2018_3_OR_NEWER
#pragma warning disable
-namespace Sirenix.OdinInspector.Editor.Drawers
+namespace JohnsonUtils.Plugins.Sirenix.Odin_Inspector.Scripts.Editor
{
- using Sirenix.OdinInspector;
- using Sirenix.OdinInspector.Editor;
- using Sirenix.Utilities;
- using Sirenix.Utilities.Editor;
- using System.Linq;
- using UnityEditor;
- using UnityEngine;
-
[DrawerPriority(0.001, 0, 0)]
public class FixBrokenUnityObjectWrapperDrawer : OdinValueDrawer, IDefinesGenericMenuItems
where T : UnityEngine.Component
diff --git a/Plugins/Sirenix/Odin Inspector/Scripts/Editor/FixBrokenUnityObjectWrapperDrawer.cs.meta b/Plugins/Sirenix/Odin Inspector/Scripts/Editor/FixBrokenUnityObjectWrapperDrawer.cs.meta
new file mode 100644
index 0000000..a5d5c5c
--- /dev/null
+++ b/Plugins/Sirenix/Odin Inspector/Scripts/Editor/FixBrokenUnityObjectWrapperDrawer.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: d6175871d49eae2469bf275c047dae53
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Odin Inspector/Scripts/Editor/Sirenix.OdinInspector.CompatibilityLayer.Editor.asmdef.meta b/Plugins/Sirenix/Odin Inspector/Scripts/Editor/Sirenix.OdinInspector.CompatibilityLayer.Editor.asmdef.meta
new file mode 100644
index 0000000..45202e1
--- /dev/null
+++ b/Plugins/Sirenix/Odin Inspector/Scripts/Editor/Sirenix.OdinInspector.CompatibilityLayer.Editor.asmdef.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 9af41c63eb85222418c0a5bca25b03ca
+AssemblyDefinitionImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Odin Inspector/Scripts/Editor/SyncListDrawer.cs.meta b/Plugins/Sirenix/Odin Inspector/Scripts/Editor/SyncListDrawer.cs.meta
new file mode 100644
index 0000000..179ea07
--- /dev/null
+++ b/Plugins/Sirenix/Odin Inspector/Scripts/Editor/SyncListDrawer.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: febe3e58e12c20748a4f11d265a75670
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Odin Inspector/Scripts/Editor/SyncVarAttributeDrawer.cs.meta b/Plugins/Sirenix/Odin Inspector/Scripts/Editor/SyncVarAttributeDrawer.cs.meta
new file mode 100644
index 0000000..d4309bd
--- /dev/null
+++ b/Plugins/Sirenix/Odin Inspector/Scripts/Editor/SyncVarAttributeDrawer.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 91c689cbd49e25849b14379c7093f8b1
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Odin Inspector/Scripts/Editor/Vector2IntMinMaxAttributeDrawer.cs b/Plugins/Sirenix/Odin Inspector/Scripts/Editor/Vector2IntMinMaxAttributeDrawer.cs
index 089f90d..c41b2a1 100644
--- a/Plugins/Sirenix/Odin Inspector/Scripts/Editor/Vector2IntMinMaxAttributeDrawer.cs
+++ b/Plugins/Sirenix/Odin Inspector/Scripts/Editor/Vector2IntMinMaxAttributeDrawer.cs
@@ -4,19 +4,17 @@
//
//-----------------------------------------------------------------------
+using Sirenix.OdinInspector;
+using Sirenix.OdinInspector.Editor;
+using Sirenix.OdinInspector.Editor.ValueResolvers;
+using Sirenix.Utilities.Editor;
+using UnityEditor;
+using UnityEngine;
+
#if UNITY_EDITOR && UNITY_2017_2_OR_NEWER
-namespace Sirenix.OdinInspector.Editor.Drawers
+namespace JohnsonUtils.Plugins.Sirenix.Odin_Inspector.Scripts.Editor
{
- using Sirenix.OdinInspector;
- using Sirenix.OdinInspector.Editor;
- using Sirenix.OdinInspector.Editor.ValueResolvers;
- using Sirenix.Utilities;
- using Sirenix.Utilities.Editor;
- using System.Reflection;
- using UnityEditor;
- using UnityEngine;
-
///
/// Draws Vector2Int properties marked with .
///
diff --git a/Plugins/Sirenix/Odin Inspector/Scripts/Editor/Vector2IntMinMaxAttributeDrawer.cs.meta b/Plugins/Sirenix/Odin Inspector/Scripts/Editor/Vector2IntMinMaxAttributeDrawer.cs.meta
new file mode 100644
index 0000000..615950b
--- /dev/null
+++ b/Plugins/Sirenix/Odin Inspector/Scripts/Editor/Vector2IntMinMaxAttributeDrawer.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 3c593f552026d354caa4e2d34ffca51b
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Odin Inspector/Scripts/Editor/VectorIntDrawers.cs b/Plugins/Sirenix/Odin Inspector/Scripts/Editor/VectorIntDrawers.cs
index 795bf89..dba65ff 100644
--- a/Plugins/Sirenix/Odin Inspector/Scripts/Editor/VectorIntDrawers.cs
+++ b/Plugins/Sirenix/Odin Inspector/Scripts/Editor/VectorIntDrawers.cs
@@ -4,14 +4,15 @@
//
//-----------------------------------------------------------------------
+using Sirenix.OdinInspector.Editor;
+using Sirenix.Utilities.Editor;
+using UnityEditor;
+using UnityEngine;
+
#if UNITY_EDITOR && UNITY_2017_2_OR_NEWER
-namespace Sirenix.OdinInspector.Editor.Drawers
+namespace JohnsonUtils.Plugins.Sirenix.Odin_Inspector.Scripts.Editor
{
- using Utilities.Editor;
- using UnityEditor;
- using UnityEngine;
-
///
/// Vector2Int proprety drawer.
///
diff --git a/Plugins/Sirenix/Odin Inspector/Scripts/Editor/VectorIntDrawers.cs.meta b/Plugins/Sirenix/Odin Inspector/Scripts/Editor/VectorIntDrawers.cs.meta
new file mode 100644
index 0000000..f8754de
--- /dev/null
+++ b/Plugins/Sirenix/Odin Inspector/Scripts/Editor/VectorIntDrawers.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: d584ef008aeadb34d8884461dac5dea0
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Odin Inspector/Scripts/Editor/VectorIntPropertyResolvers.cs b/Plugins/Sirenix/Odin Inspector/Scripts/Editor/VectorIntPropertyResolvers.cs
index c62f2e5..4b7eb7c 100644
--- a/Plugins/Sirenix/Odin Inspector/Scripts/Editor/VectorIntPropertyResolvers.cs
+++ b/Plugins/Sirenix/Odin Inspector/Scripts/Editor/VectorIntPropertyResolvers.cs
@@ -4,12 +4,13 @@
//
//-----------------------------------------------------------------------
+using Sirenix.OdinInspector.Editor;
+using UnityEngine;
+
#if UNITY_EDITOR && UNITY_2017_2_OR_NEWER
-namespace Sirenix.OdinInspector.Editor.Drawers
+namespace JohnsonUtils.Plugins.Sirenix.Odin_Inspector.Scripts.Editor
{
- using UnityEngine;
-
public sealed class Vector2IntResolver : BaseMemberPropertyResolver
{
protected override InspectorPropertyInfo[] GetPropertyInfos()
diff --git a/Plugins/Sirenix/Odin Inspector/Scripts/Editor/VectorIntPropertyResolvers.cs.meta b/Plugins/Sirenix/Odin Inspector/Scripts/Editor/VectorIntPropertyResolvers.cs.meta
new file mode 100644
index 0000000..dc7135d
--- /dev/null
+++ b/Plugins/Sirenix/Odin Inspector/Scripts/Editor/VectorIntPropertyResolvers.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 5b944ad010970b14396d8e873794ba7a
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Odin Inspector/Scripts/SerializedNetworkBehaviour.cs.meta b/Plugins/Sirenix/Odin Inspector/Scripts/SerializedNetworkBehaviour.cs.meta
new file mode 100644
index 0000000..90a189d
--- /dev/null
+++ b/Plugins/Sirenix/Odin Inspector/Scripts/SerializedNetworkBehaviour.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 2f2ade86751cc55478e743c3564ed6c5
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Odin Inspector/Scripts/Sirenix.OdinInspector.CompatibilityLayer.asmdef.meta b/Plugins/Sirenix/Odin Inspector/Scripts/Sirenix.OdinInspector.CompatibilityLayer.asmdef.meta
new file mode 100644
index 0000000..8ddd481
--- /dev/null
+++ b/Plugins/Sirenix/Odin Inspector/Scripts/Sirenix.OdinInspector.CompatibilityLayer.asmdef.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: adbdf46b2cc43d94dabe0bb5cb1275c0
+AssemblyDefinitionImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Odin Inspector/Scripts/VectorIntFormatters.cs b/Plugins/Sirenix/Odin Inspector/Scripts/VectorIntFormatters.cs
index 65c1036..669932d 100644
--- a/Plugins/Sirenix/Odin Inspector/Scripts/VectorIntFormatters.cs
+++ b/Plugins/Sirenix/Odin Inspector/Scripts/VectorIntFormatters.cs
@@ -1,4 +1,8 @@
-#if UNITY_2017_2_OR_NEWER
+using JohnsonUtils.Plugins.Sirenix.Odin_Inspector.Scripts;
+using Sirenix.Serialization;
+using UnityEngine;
+
+#if UNITY_2017_2_OR_NEWER
//-----------------------------------------------------------------------
//
@@ -6,19 +10,17 @@
//
//-----------------------------------------------------------------------
-[assembly: Sirenix.Serialization.RegisterFormatter(typeof(Sirenix.Serialization.Vector2IntFormatter))]
-[assembly: Sirenix.Serialization.RegisterFormatter(typeof(Sirenix.Serialization.Vector3IntFormatter))]
-namespace Sirenix.Serialization
+[assembly: Sirenix.Serialization.RegisterFormatter(typeof(Vector2IntFormatter))]
+[assembly: Sirenix.Serialization.RegisterFormatter(typeof(Vector3IntFormatter))]
+namespace JohnsonUtils.Plugins.Sirenix.Odin_Inspector.Scripts
{
- using UnityEngine;
-
///
/// Custom formatter for the type.
///
///
public class Vector2IntFormatter : MinimalBaseFormatter
{
- private static readonly Serializer Serializer = Serialization.Serializer.Get();
+ private static readonly Serializer Serializer = global::Sirenix.Serialization.Serializer.Get();
///
/// Reads into the specified value using the specified reader.
@@ -49,7 +51,7 @@ namespace Sirenix.Serialization
///
public class Vector3IntFormatter : MinimalBaseFormatter
{
- private static readonly Serializer Serializer = Serialization.Serializer.Get();
+ private static readonly Serializer Serializer = global::Sirenix.Serialization.Serializer.Get();
///
/// Reads into the specified value using the specified reader.
diff --git a/Plugins/Sirenix/Odin Inspector/Scripts/VectorIntFormatters.cs.meta b/Plugins/Sirenix/Odin Inspector/Scripts/VectorIntFormatters.cs.meta
new file mode 100644
index 0000000..6483147
--- /dev/null
+++ b/Plugins/Sirenix/Odin Inspector/Scripts/VectorIntFormatters.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 4efa239b85b22f8478d21b6f8711ad36
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Plugins/Sirenix/Readme.txt.meta b/Plugins/Sirenix/Readme.txt.meta
new file mode 100644
index 0000000..37a526c
--- /dev/null
+++ b/Plugins/Sirenix/Readme.txt.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: f8c0fc5f9ef6a274f88dd255cc863422
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Resources/InputSystem.meta b/Resources/InputSystem.meta
new file mode 100644
index 0000000..bfc1dfb
--- /dev/null
+++ b/Resources/InputSystem.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 7e5632faa9facba4a954c6aea9dd4df3
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Resources/InputSystem/GamepadIcons_PS.asset b/Resources/InputSystem/GamepadIcons_PS.asset
new file mode 100644
index 0000000..a53a39b
--- /dev/null
+++ b/Resources/InputSystem/GamepadIcons_PS.asset
@@ -0,0 +1,33 @@
+%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: 05c8d9a76dc13a34db3c143d9f20b866, type: 3}
+ m_Name: GamepadIcons_PS
+ m_EditorClassIdentifier:
+ ButtonEast: {fileID: 0}
+ ButtonNorth: {fileID: 0}
+ ButtonSouth: {fileID: 0}
+ ButtonWest: {fileID: 0}
+ Dpad: {fileID: 0}
+ DpadUp: {fileID: 0}
+ DpadDown: {fileID: 0}
+ DpadLeft: {fileID: 0}
+ DpadRight: {fileID: 0}
+ LeftShoulder: {fileID: 0}
+ LeftStick: {fileID: 0}
+ LeftTrigger: {fileID: 0}
+ RightShoulder: {fileID: 0}
+ RightStick: {fileID: 0}
+ RightTrigger: {fileID: 0}
+ SelectButton: {fileID: 0}
+ StartButton: {fileID: 0}
+ LeftStickPress: {fileID: 0}
+ RightStickPress: {fileID: 0}
diff --git a/Resources/InputSystem/GamepadIcons_PS.asset.meta b/Resources/InputSystem/GamepadIcons_PS.asset.meta
new file mode 100644
index 0000000..2658deb
--- /dev/null
+++ b/Resources/InputSystem/GamepadIcons_PS.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 28cf59ababaab2c4aa188524d1763173
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Resources/InputSystem/GamepadIcons_Xbox.asset b/Resources/InputSystem/GamepadIcons_Xbox.asset
new file mode 100644
index 0000000..0aeb133
--- /dev/null
+++ b/Resources/InputSystem/GamepadIcons_Xbox.asset
@@ -0,0 +1,33 @@
+%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: 05c8d9a76dc13a34db3c143d9f20b866, type: 3}
+ m_Name: GamepadIcons_Xbox
+ m_EditorClassIdentifier:
+ ButtonEast: {fileID: 0}
+ ButtonNorth: {fileID: 0}
+ ButtonSouth: {fileID: 0}
+ ButtonWest: {fileID: 0}
+ Dpad: {fileID: 0}
+ DpadUp: {fileID: 0}
+ DpadDown: {fileID: 0}
+ DpadLeft: {fileID: 0}
+ DpadRight: {fileID: 0}
+ LeftShoulder: {fileID: 0}
+ LeftStick: {fileID: 0}
+ LeftTrigger: {fileID: 0}
+ RightShoulder: {fileID: 0}
+ RightStick: {fileID: 0}
+ RightTrigger: {fileID: 0}
+ SelectButton: {fileID: 0}
+ StartButton: {fileID: 0}
+ LeftStickPress: {fileID: 0}
+ RightStickPress: {fileID: 0}
diff --git a/Resources/InputSystem/GamepadIcons_Xbox.asset.meta b/Resources/InputSystem/GamepadIcons_Xbox.asset.meta
new file mode 100644
index 0000000..19444f8
--- /dev/null
+++ b/Resources/InputSystem/GamepadIcons_Xbox.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 74a7b5c704521b545842483baa8d84d1
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Resources/InputSystem/MouseKeyboardIcons.asset b/Resources/InputSystem/MouseKeyboardIcons.asset
new file mode 100644
index 0000000..98c4fe8
--- /dev/null
+++ b/Resources/InputSystem/MouseKeyboardIcons.asset
@@ -0,0 +1,93 @@
+%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: 230adb9d1f61b4342af8190654725fa7, type: 3}
+ m_Name: MouseKeyboardIcons
+ m_EditorClassIdentifier:
+ Zero: {fileID: 0}
+ One: {fileID: 0}
+ Two: {fileID: 0}
+ Three: {fileID: 0}
+ Four: {fileID: 0}
+ Five: {fileID: 0}
+ Six: {fileID: 0}
+ Seven: {fileID: 0}
+ Eight: {fileID: 0}
+ Nine: {fileID: 0}
+ Alt: {fileID: 0}
+ ArrowDown: {fileID: 0}
+ ArrowLeft: {fileID: 0}
+ ArrowRight: {fileID: 0}
+ ArrowUp: {fileID: 0}
+ Asterisk: {fileID: 0}
+ Backspace: {fileID: 0}
+ Ctrl: {fileID: 0}
+ Delete: {fileID: 0}
+ End: {fileID: 0}
+ Enter: {fileID: 0}
+ Escape: {fileID: 0}
+ F1: {fileID: 0}
+ F2: {fileID: 0}
+ F3: {fileID: 0}
+ F4: {fileID: 0}
+ F5: {fileID: 0}
+ F6: {fileID: 0}
+ F7: {fileID: 0}
+ F8: {fileID: 0}
+ F9: {fileID: 0}
+ F10: {fileID: 0}
+ F11: {fileID: 0}
+ F12: {fileID: 0}
+ Home: {fileID: 0}
+ LetterA: {fileID: 0}
+ LetterB: {fileID: 0}
+ LetterC: {fileID: 0}
+ LetterD: {fileID: 0}
+ LetterE: {fileID: 0}
+ LetterF: {fileID: 0}
+ LetterG: {fileID: 0}
+ LetterH: {fileID: 0}
+ LetterI: {fileID: 0}
+ LetterJ: {fileID: 0}
+ LetterK: {fileID: 0}
+ LetterL: {fileID: 0}
+ LetterM: {fileID: 0}
+ LetterN: {fileID: 0}
+ LetterO: {fileID: 0}
+ LetterP: {fileID: 0}
+ LetterQ: {fileID: 0}
+ LetterR: {fileID: 0}
+ LetterS: {fileID: 0}
+ LetterT: {fileID: 0}
+ LetterU: {fileID: 0}
+ LetterV: {fileID: 0}
+ LetterW: {fileID: 0}
+ LetterX: {fileID: 0}
+ LetterY: {fileID: 0}
+ LetterZ: {fileID: 0}
+ MarkLeft: {fileID: 0}
+ MarkRight: {fileID: 0}
+ Minus: {fileID: 0}
+ Plus: {fileID: 0}
+ MouseLeft: {fileID: 0}
+ MouseMiddle: {fileID: 0}
+ MouseRight: {fileID: 0}
+ MouseNone: {fileID: 0}
+ PageDown: {fileID: 0}
+ PageUp: {fileID: 0}
+ QuestionMark: {fileID: 0}
+ Quote: {fileID: 0}
+ Semicolon: {fileID: 0}
+ Shift: {fileID: 0}
+ Slash: {fileID: 0}
+ Space: {fileID: 0}
+ Tab: {fileID: 0}
+ Tilda: {fileID: 0}
diff --git a/Resources/InputSystem/MouseKeyboardIcons.asset.meta b/Resources/InputSystem/MouseKeyboardIcons.asset.meta
new file mode 100644
index 0000000..b4c0792
--- /dev/null
+++ b/Resources/InputSystem/MouseKeyboardIcons.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d8e144260ae21d2419c62f1003ce3610
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant: