public static void RegisterLogicMsg(this IMSReceiver self, string msgName, Action <object[]> callback) { if (string.IsNullOrEmpty(msgName)) { System.Console.WriteLine("RegisterMsg:" + msgName + " is Null or Empty"); return; } if (null == callback) { System.Console.WriteLine("RegisterMsg:" + msgName + " callback is Null"); return; } if (!mMsgHandlerDict.ContainsKey(msgName)) { mMsgHandlerDict[msgName] = new List <LogicMsgHandler>(); } var handlers = mMsgHandlerDict[msgName]; foreach (var handler in handlers) { if (handler.Receiver == self && handler.Callback == callback) { System.Console.WriteLine("RegisterMsg:" + msgName + " ayready Register"); return; } } handlers.Add(new LogicMsgHandler(self, callback)); }
public LogicMsgHandler(IMSReceiver receiver, Action <object[]> callback) { Receiver = receiver; Callback = callback; }