public void RegisterListener(BoltNetworkingMessage eventID, UnityAction <BoltEventData> call) { if (delegates == null) { delegates = new List <BoltCallbackHandler.Entry>(); } BoltCallbackHandler.Entry entry = null; for (int i = 0; i < delegates.Count; i++) { BoltCallbackHandler.Entry mEntry = delegates[i]; if (mEntry.eventID == eventID) { entry = mEntry; break; } } if (entry == null) { entry = new BoltCallbackHandler.Entry(); entry.eventID = eventID; entry.callback = new BoltCallbackHandler.BoltCallbackEvent(); delegates.Add(entry); } entry.callback.AddListener(call); }
public void RemoveListener(BoltNetworkingMessage eventID, UnityAction <BoltEventData> call) { if (delegates == null) { return; } for (int i = 0; i < delegates.Count; i++) { BoltCallbackHandler.Entry entry = delegates[i]; if (entry.eventID == eventID) { entry.callback.RemoveListener(call); } } }
protected void Execute(BoltNetworkingMessage eventID, BoltEventData eventData) { if (this.delegates != null) { int num = 0; int count = this.delegates.Count; while (num < count) { BoltCallbackHandler.Entry item = this.delegates[num]; if (item.eventID == eventID && item.callback != null) { item.callback.Invoke(eventData); } num++; } } }