コード例 #1
0
    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;
        }
    }
コード例 #2
0
 /// <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);
     }
 }
コード例 #3
0
ファイル: UIManager.cs プロジェクト: 756915370/Unity_Frame
 public void SendMsg(MsgBase msg)
 {
     if (msg.GetManagerID() == ManagerID.UIManager)
     {
         //ManagerBase 本模块自己
         ProcessEvent(msg);
     }
     else //MsgCenter
     {
         MsgCenter.Instance.SendToMsg(msg);
     }
 }
コード例 #4
0
ファイル: AssetManager.cs プロジェクト: 756915370/Unity_Frame
 public void SendMsg(MsgBase msg)
 {
     if (msg.GetManagerID() == ManagerID.AssetManager)
     {
         //ManagerBase 本模块自己
         Debug.Log("Asset模块处理自己的消息");
         ProcessEvent(msg);
     }
     else //MsgCenter
     {
         MsgCenter.Instance.SendToMsg(msg);
     }
 }
コード例 #5
0
 /// <summary>
 /// 消息处理
 /// </summary>
 /// <param name="msg"></param>
 public void AnalysisMsg(MsgBase msg)
 {
     if (msg.GetManagerID() == ManagerID.NetManager)
     {
         //本模块直接处理
         HandleMsgEvent(msg);
     }
     else
     {
         //发送到消息中心处理
         MsgCenter.Instance.HandleMsg(msg);
     }
 }
コード例 #6
0
 public void SendMsg(MsgBase msg)
 {
     if (msg.GetManagerID() == ManagerID.AssetMananger)
     {
         // ManagerBase 本模块自己处理
         ProcessEvent(msg);
     }
     else
     {
         // MsgCenter 处理
         MsgCenter.Instance.SendToMsg(msg);
     }
 }
コード例 #7
0
 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));
     }
 }
コード例 #8
0
    // 来了消息,通知整个消息链表
    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);
    }
コード例 #9
0
ファイル: ManagerBase.cs プロジェクト: 756915370/Unity_Frame
 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);
     }
 }
コード例 #10
0
    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;
        }
    }