using SLSFramework.General; using UnityEngine; using UnityEngine.Events; namespace SLSFramework.General { public class EventUnit : IPrioritized { private readonly UnityAction action; public int Priority { get; set; } public EventUnit(UnityAction action, int priority = 0) { this.action = action; this.Priority = priority; } public void Invoke() { action.Invoke(); } } public class EventUnit : IPrioritized { private readonly UnityAction action; public int Priority { get; set; } public EventUnit(UnityAction action, int priority = 0) { this.action = action; this.Priority = priority; } public void Invoke(T arg) { action.Invoke(arg); } } public class EventUnit : IPrioritized { private readonly UnityAction action; public int Priority { get; set; } public EventUnit(UnityAction action, int priority = 0) { this.action = action; this.Priority = priority; } public void Invoke(T1 arg1, T2 arg2) { action.Invoke(arg1, arg2); } } }