public void Register(string msgId, UIMsgCallBack cb) { if (!_msgListener.ContainsKey(msgId)) { _msgListener.Add(msgId, new List <UIMsgCallBack>()); _msgListener[msgId].Add(cb); } _msgListener[msgId].Add(cb); }
private void Dispatch(UIMsg msg) { string id = msg.id; object[] args = msg.args; if (_msgListener.ContainsKey(id)) { List <UIMsgCallBack> cbList = _msgListener[id]; for (int i = 0; i < cbList.Count; i++) { UIMsgCallBack cb = cbList[i]; cb(args); } } }