using UnityEngine; using UnityEngine.Events; using System.Collections; public static class ExtensionUnityAction { public static void SafeInvoke(this UnityAction action) { if (action != null) { action.Invoke(); } } public static void SafeInvoke(this UnityAction action, T t) { if (action != null) { action.Invoke(t); } } public static UnityAction PushEvent(this UnityAction unityAction, UnityAction action) { return action + unityAction; } public static UnityAction AddEventOnetime(this UnityAction unityAction, UnityAction action) { action += () => { unityAction -= action; }; return unityAction += action; } public static UnityAction PushEventOnetime(this UnityAction unityAction, UnityAction action) { return null; } }