public static void FRemoveHandler(TDC_GE evnt, System.Action action) { if (eventTable[evnt] != null) { eventTable[evnt] -= action; } if (eventTable[evnt] == null) { eventTable.Remove(evnt); } }
// Adds a delegate to get called for a specific event public static void FAddHandler(TDC_GE evnt, System.Action action) { if (!eventTable.ContainsKey(evnt)) { eventTable[evnt] = action; } else { eventTable[evnt] += action; } }
// Fires the event public static void FBroadcast(TDC_GE evnt) { if (!eventTable.ContainsKey(evnt)) { return; } if (eventTable[evnt] != null) { eventTable[evnt](); } }