public void ProcessEvent(MsgBase msg)
 {
     if (MsgEventHandlers.ContainsKey(msg.Token))
     {
         MsgEventHandlers[msg.Token].Invoke(msg);
     }
     else
     {
         ConditionLog.MsgLog($"Common中没有注册用于处理{msg.Token}的方法");
     }
 }
Exemple #2
0
        /// <summary>
        /// 接收到一个消息,根据
        /// </summary>
        /// <param name="tmpMsg"></param>
        public void LaunchEvent(EventArgs args)
        {
            MsgBase msg = args as MsgBase;

            switch (msg.SendMode)
            {
            case MsgSendMode.Auto:
                if (!sendList.ContainsKey(msg.Token))
                {
                    ConditionLog.MsgLog($"收到了未注册的自动消息:{msg.Token},转为全局消息");
                    msg.SendMode = MsgSendMode.Global;
                    MsgTools.SendGlobalMsg();
                }
                else
                {
                    sendList[msg.Token].HandleEvent(msg);
                }
                break;

            case MsgSendMode.Local:
                if (!sendList.ContainsKey(msg.Token))
                {
                    ConditionLog.MsgLogError($"收到了本地消息:{msg.Token},但是该消息没有注册");
                }
                else
                {
                    sendList[msg.Token].HandleEvent(msg);
                }
                break;

            case MsgSendMode.Global:
                if (!sendList.ContainsKey(msg.Token))
                {
                    ConditionLog.MsgLog($"收到了未注册的全局消息:{msg.Token}");
                }
                else
                {
                    sendList[msg.Token].HandleEvent(msg);
                }
                break;

            default:
                ConditionLog.MsgLogError("Manager收到了一个 未标注发送模式,或无法处理对应模式的Msg");
                break;
            }
        }
 public void StartOperation(MsgBase msg, params Action[] operations)
 {
     ConditionLog.MsgLog($"由Common发送了一个{msg.Token}消息");
 }