A game about forced loneliness, made by TACStudios
1#if UNITY_EDITOR
2using UnityEditor;
3
4namespace Unity.VisualScripting
5{
6 public class FrameDelayedCallback
7 {
8 private System.Action m_Callback;
9 private int m_FrameDelay;
10 public FrameDelayedCallback(System.Action function, int frameDelay)
11 {
12 m_Callback = function;
13 m_FrameDelay = frameDelay;
14 EditorApplication.update += Update;
15 }
16
17 public void Clear()
18 {
19 EditorApplication.update -= Update;
20 m_FrameDelay = 0;
21 m_Callback = null;
22 }
23
24 private void Update()
25 {
26 if (--m_FrameDelay == 0)
27 {
28 // Clear state before firing callback to ensure reset (callback could call ExitGUI)
29 var callback = m_Callback;
30 Clear();
31
32 callback?.Invoke();
33 }
34 }
35 }
36}
37#endif