private void AnalysisMsg(MsgBase msg) { ManagerID managerID = msg.GetManagerID(); if ((ushort)managerID < (ushort)ManagerID.GameManager) { LuaEventProcess.Instance.ProcessEvent(msg); } switch (managerID) { case ManagerID.GameManager: break; case ManagerID.UIManager: break; case ManagerID.AudioManager: break; case ManagerID.NPCManager: break; case ManagerID.CharactorManager: break; case ManagerID.AssetManager: break; case ManagerID.NetManager: break; default: break; } }
/// <summary> /// 接收消息后的处理(本Manager处理该消息) /// </summary> /// <param name="msg"></param> public override void HandleMsgEvent(MsgBase msg) { if (!eventTreeDic.ContainsKey(msg.MsgID)) { Debug.LogError("Dont Have MsgEvent ManagerID = " + msg.GetManagerID() + " MsgID =" + msg.MsgID); } else { HandOutMsg(msg); } }
public void SendMsg(MsgBase msg) { if (msg.GetManagerID() == ManagerID.UIManager) { //ManagerBase 本模块自己 ProcessEvent(msg); } else //MsgCenter { MsgCenter.Instance.SendToMsg(msg); } }
public void SendMsg(MsgBase msg) { if (msg.GetManagerID() == ManagerID.AssetManager) { //ManagerBase 本模块自己 Debug.Log("Asset模块处理自己的消息"); ProcessEvent(msg); } else //MsgCenter { MsgCenter.Instance.SendToMsg(msg); } }
/// <summary> /// 消息处理 /// </summary> /// <param name="msg"></param> public void AnalysisMsg(MsgBase msg) { if (msg.GetManagerID() == ManagerID.NetManager) { //本模块直接处理 HandleMsgEvent(msg); } else { //发送到消息中心处理 MsgCenter.Instance.HandleMsg(msg); } }
public void SendMsg(MsgBase msg) { if (msg.GetManagerID() == ManagerID.AssetMananger) { // ManagerBase 本模块自己处理 ProcessEvent(msg); } else { // MsgCenter 处理 MsgCenter.Instance.SendToMsg(msg); } }
static int GetManagerID(IntPtr L) { try { ToLua.CheckArgsCount(L, 1); MsgBase obj = (MsgBase)ToLua.CheckObject <MsgBase>(L, 1); ManagerID o = obj.GetManagerID(); ToLua.Push(L, o); return(1); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
// 来了消息,通知整个消息链表 public override void ProcessEvent(MsgBase msg) { if (!eventTree.ContainsKey(msg.msgID)) { Debug.LogError("msg not contains msgID == " + msg.msgID); Debug.LogError("msg manager == " + msg.GetManagerID()); return; } EventNode currentNode = eventTree[msg.msgID]; do { currentNode.data.ProcessEvent(msg); currentNode = currentNode.next; } while (currentNode != null); }
public override void ProcessEvent(MsgBase msg) { if (!eventTree.ContainsKey(msg.msgId)) { Debug.LogWarning("没有这个消息 ID: " + msg.msgId + "Msg Manager:" + msg.GetManagerID()); return; } else { EventNode headNode = eventTree[msg.msgId]; EventNode temp = headNode; //通过key找到链表通知这个链表上的所有节点 do { temp.data.ProcessEvent(msg); temp = temp.next; } while (temp != null); } }
private void AnalysisMsg(MsgBase msg) { ManagerID tmpID = msg.GetManagerID(); switch (tmpID) { case ManagerID.UIManager: UIManager.Instance.AnalysisMsg(msg); break; case ManagerID.NpcManager: NPCManager.Instance.AnalysisMsg(msg); break; case ManagerID.AssetManager: AssetManager.Instance.AnalysisMsg(msg); break; case ManagerID.GameManager: break; } }