diff options
Diffstat (limited to 'JamHelper/Assets/JamUtils/Scripts/Utils')
4 files changed, 85 insertions, 2 deletions
diff --git a/JamHelper/Assets/JamUtils/Scripts/Utils/ColliderUtility.cs b/JamHelper/Assets/JamUtils/Scripts/Utils/ColliderUtility.cs index 3efe155..8c8225c 100644 --- a/JamHelper/Assets/JamUtils/Scripts/Utils/ColliderUtility.cs +++ b/JamHelper/Assets/JamUtils/Scripts/Utils/ColliderUtility.cs @@ -2,7 +2,7 @@ using System; using System.Collections.Generic;
using UnityEngine;
-namespace JamTools
+namespace JamUtils
{
public static class ColliderUtility
diff --git a/JamHelper/Assets/JamUtils/Scripts/Utils/CustomExecutionOrder.cs b/JamHelper/Assets/JamUtils/Scripts/Utils/CustomExecutionOrder.cs new file mode 100644 index 0000000..acef40f --- /dev/null +++ b/JamHelper/Assets/JamUtils/Scripts/Utils/CustomExecutionOrder.cs @@ -0,0 +1,72 @@ +using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace JamUtils
+{
+ [DefaultExecutionOrder(ORDER_EXECUTION)] + public class CustomExecutionOrder : MonoBehaviour
+ {
+ private const int ORDER_EXECUTION = -98; +
+ static CustomExecutionOrder _instance;
+
+ public static CustomExecutionOrder Instance
+ {
+ get
+ {
+ if (_instance == null)
+ {
+ GameObject inst = new GameObject("CustomExecutionOrder");
+ inst.hideFlags = HideFlags.DontSave;
+ DontDestroyOnLoad(inst);
+
+ _instance = inst.AddComponent<CustomExecutionOrder>();
+ }
+ return _instance;
+ }
+ }
+
+ public event Action beforeFixedUpdate;
+ public event Action afterFixedUpdate;
+
+ public event Action beforeUpdate;
+ public event Action afterUpdate;
+
+ private void Awake()
+ {
+ StartCoroutine(WaitForEndOfFrame());
+ StartCoroutine(WaitForFixedUpdate()); + }
+
+ private IEnumerator WaitForEndOfFrame()
+ {
+ while (true)
+ {
+ yield return new WaitForEndOfFrame();
+ if (afterUpdate != null)
+ afterUpdate();
+ if (beforeFixedUpdate != null)
+ beforeFixedUpdate();
+ }
+ }
+
+ private IEnumerator WaitForFixedUpdate()
+ {
+ while (true)
+ {
+ yield return new WaitForFixedUpdate();
+ if (afterFixedUpdate != null)
+ afterFixedUpdate();
+ }
+ }
+
+ private void Update()
+ {
+ if (beforeUpdate != null)
+ beforeUpdate();
+ }
+
+ }
+}
\ No newline at end of file diff --git a/JamHelper/Assets/JamUtils/Scripts/Utils/CustomExecutionOrder.cs.meta b/JamHelper/Assets/JamUtils/Scripts/Utils/CustomExecutionOrder.cs.meta new file mode 100644 index 0000000..a8e4dfc --- /dev/null +++ b/JamHelper/Assets/JamUtils/Scripts/Utils/CustomExecutionOrder.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: fbaff1c60f455164fbaf0b027c216022 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: -98 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JamHelper/Assets/JamUtils/Scripts/Utils/GizmosHandle.cs b/JamHelper/Assets/JamUtils/Scripts/Utils/GizmosHandle.cs index 360eecd..1c4c205 100644 --- a/JamHelper/Assets/JamUtils/Scripts/Utils/GizmosHandle.cs +++ b/JamHelper/Assets/JamUtils/Scripts/Utils/GizmosHandle.cs @@ -3,7 +3,7 @@ using System.Collections; using System.Collections.Generic;
using UnityEngine;
-namespace JamTools
+namespace JamUtils
{
public class GizmosHandle : MonoBehaviour
|