aboutsummaryrefslogtreecommitdiff
path: root/JamHelper/Assets/JamUtils/Scripts/Utils
diff options
context:
space:
mode:
Diffstat (limited to 'JamHelper/Assets/JamUtils/Scripts/Utils')
-rw-r--r--JamHelper/Assets/JamUtils/Scripts/Utils/ColliderUtility.cs2
-rw-r--r--JamHelper/Assets/JamUtils/Scripts/Utils/CustomExecutionOrder.cs72
-rw-r--r--JamHelper/Assets/JamUtils/Scripts/Utils/CustomExecutionOrder.cs.meta11
-rw-r--r--JamHelper/Assets/JamUtils/Scripts/Utils/GizmosHandle.cs2
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