public static void Clear() { if (s_Instance != null) { s_Instance.DestroyWhenComplete(); } s_Instance = null; }
public static void AddAction(Delegate action, float delay = 0, params object[] parameters) { if (s_Instance == null) { s_Instance = new GameObject("DelayedActionManager", typeof(DelayedActionManager)).GetComponent <DelayedActionManager>(); s_Instance.gameObject.hideFlags = HideFlags.HideAndDontSave; #if UNITY_EDITOR if (!Application.isPlaying) { // Debug.Log("DelayedActionManager called outside of play mode, registering with EditorApplication.update."); EditorApplication.update += s_Instance.LateUpdate; } #endif } s_Instance.AddActionInternal(action, delay, parameters); }