public void ProcessEvent(MsgBase msg) { if (MsgEventHandlers.ContainsKey(msg.Token)) { MsgEventHandlers[msg.Token].Invoke(msg); } else { ConditionLog.MsgLog($"Common中没有注册用于处理{msg.Token}的方法"); } }
/// <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}消息"); }