public void UnSuscribe(OnEventDel del, GameEventType type) { if (event_delegates.ContainsKey(type)) { event_delegates[type] -= del; } }
public void Suscribe(GameEventType type, OnEventDel callback) { if (event_delegates.ContainsKey(type)) { event_delegates[type] += callback; } else { OnEventDel del = null; del += callback; event_delegates.Add(type, del); } }
public void SendEvent(GameEvent ev) { if (ev != null) { if (event_delegates.ContainsKey(ev.Type())) { OnEventDel del = event_delegates[ev.Type()]; if (del != null) { del(ev); } } } }
public void Suscribe(OnEventDel del) { bool found = false; if (OnEvent != null) { foreach (Delegate d in OnEvent.GetInvocationList()) { if ((OnEventDel)d == del) { found = true; break; } } } if (!found) { OnEvent += del; } }
// prevent warning about unused events public void UseEvents() { OnEventDel?.Invoke(1, 2); OnEventInt?.Invoke(1); OnEvent?.Invoke(null, null); }
public void UnSuscribe(OnEventDel del) { OnEvent -= del; }
public void Suscribe(OnEventDel del) { OnEvent += del; }