//删除IS网络事件观察者 internal void removeISObserver(int protocalType, ISMessage_Callback_Handler callback) { if (ISMessage_HandlerList.ContainsKey(protocalType)) { ISMessage_HandlerList[protocalType] -= callback; if (ISMessage_HandlerList[protocalType] == null) { ISMessage_HandlerList.Remove(protocalType); } } }
//添加IS网络事件观察者 internal void addISObserver(int protocalType, ISMessage_Callback_Handler callback) { if (ISMessage_HandlerList.ContainsKey(protocalType)) { //知识点 //无返回值的委托,你给它注册多少个方法,它就执行多少个方法 //而有返回值的委托,同样注册多少个方法就执行多少个方法,!!!!但返回的是最后一个方法的返回值!!!! ISMessage_HandlerList[protocalType] += callback; } else { ISMessage_HandlerList.Add(protocalType, callback); } }
public static void RemoveISMsgRcver <T>(T cmd, ISMessage_Callback_Handler callBack) { CheckEnum <T>(); MessageCenter.Instance.removeISObserver((int)(object)cmd, callBack); }
public void ISMsgAddRcver <T>(T cmd, ISMessage_Callback_Handler callBack) { CheckEnum <T>(); MessageCenter.Instance.addISObserver((int)(object)cmd, callBack); }