//对某种类型的消息挂载监听 public void BindMsg(uint msg_type, ISL_Event.NetSendCallBack callback) { if (!_msgListenerDic.ContainsKey(msg_type)) { _msgListenerDic.Add(msg_type, callback); } else { _msgListenerDic[msg_type] += callback; } }
//发送消息并监听这个批次返回的消息 public void PushMsg(MsgBase msg, ISL_Event.NetSendCallBack callback = null, float waitTime = 5) { _sendList.Add(msg); msg.msgBatchID = ++curBatchID; if (callback != null) { if (!_msgWaitingDic.ContainsKey(curBatchID)) { _msgWaitingDic.Add(curBatchID, new KeyValuePair <ISL_Event.NetSendCallBack, float>(callback, waitTime)); } else { //报错批次有问题? } } }