aboutsummaryrefslogtreecommitdiff
path: root/JamHelper/Assets/JamUtils/Scripts/Utils/CustomExecutionOrder.cs
diff options
context:
space:
mode:
Diffstat (limited to 'JamHelper/Assets/JamUtils/Scripts/Utils/CustomExecutionOrder.cs')
-rw-r--r--JamHelper/Assets/JamUtils/Scripts/Utils/CustomExecutionOrder.cs72
1 files changed, 0 insertions, 72 deletions
diff --git a/JamHelper/Assets/JamUtils/Scripts/Utils/CustomExecutionOrder.cs b/JamHelper/Assets/JamUtils/Scripts/Utils/CustomExecutionOrder.cs
deleted file mode 100644
index acef40f..0000000
--- a/JamHelper/Assets/JamUtils/Scripts/Utils/CustomExecutionOrder.cs
+++ /dev/null
@@ -1,72 +0,0 @@
-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