Exemple #1
0
        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));
        }
Exemple #2
0
 public LogicMsgHandler(IMSReceiver receiver, Action <object[]> callback)
 {
     Receiver = receiver;
     Callback = callback;
 }