コード例 #1
0
    private void AnasysisMsg(MsgBase tmpMsg)
    {
        ManagerID tmpId = tmpMsg.GetManager();

        switch (tmpId)
        {
        case ManagerID.AssetManager:
            break;

        case ManagerID.AudioManager:
            break;

        case ManagerID.CharactorManager:
            break;

        case ManagerID.GameManager:
            break;

        case ManagerID.NetManager:
            break;

        case ManagerID.NPCManager:
            break;

        case ManagerID.UIManager:
            break;

        default:
            break;
        }
    }
コード例 #2
0
ファイル: MsgCenter.cs プロジェクト: yutongzhu/UtoVR
    private void AnasysisMsg(MsgBase tmpMsg)
    {
        ManagerID tmpId = tmpMsg.GetManager();

        switch (tmpId)
        {
        case ManagerID.AssetManager:
            Debug.Log("AssetManager");
            AssetManager.instance.SendMsg(tmpMsg);
            break;

        case ManagerID.UIManager:
            Debug.Log("UIManager");

            break;

        case ManagerID.NPCManager:
            break;

        case ManagerID.GameManager:
            break;

        case ManagerID.AudioManager:
            break;

        default:
            break;
        }
    }
コード例 #3
0
    /// <summary>
    /// 发送消息
    /// </summary>
    /// <param name="msg"></param>
    public void SendToMsg(MsgBase msg)
    {
        ManagerIDEnum tempId = msg.GetManager();

        switch (tempId)
        {
        case ManagerIDEnum.UIManager:
            UIManager.Instance.ProcessEvent(msg);
            break;

        case ManagerIDEnum.GameManager:
            break;

        case ManagerIDEnum.AudioManager:
            break;

        case ManagerIDEnum.NPCManager:
            break;

        case ManagerIDEnum.CharacterManager:
            break;

        case ManagerIDEnum.NetManager:
            break;

        case ManagerIDEnum.AssetManager:
            break;

        default:
            Debug.Log("不存在该消息" + tempId);
            break;
        }
    }
コード例 #4
0
ファイル: AssetManager.cs プロジェクト: yutongzhu/UtoVR
 public void SendMsg(MsgBase msg)
 {
     if (msg.GetManager() == ManagerID.AssetManager)
     {
         ProcessEvent(msg);//本模块自己处理
     }
     else//mesCenter处理
     {
         MsgCenter.instance.SendToMsg(msg);
     }
 }
コード例 #5
0
ファイル: NetManager.cs プロジェクト: blongs/FameEvent
 public void SendMsg(MsgBase msg)
 {
     if (msg.GetManager() == ManagerId.NetManager)
     {
         ProcessEvent(msg);
     }
     else
     {
         MsgCenter.Instance.SendToMsg(msg);
     }
 }
コード例 #6
0
ファイル: ModelManager.cs プロジェクト: tianqi1994/MaJiang
 public void SendMsg(MsgBase msg)
 {
     if (msg.GetManager() == ManagerID.ModelManager)
     {
         ProcessEvent(msg);//本模块 自己处理
     }
     else
     {
         MsgCenter.Instance.SendToMsg(msg);
     }
 }
コード例 #7
0
 public void SendMsg(MsgBase msg)
 {
     if (msg.GetManager() == ManagerID.CharactorMnanger)
     {
         ProccessEvent(msg);
     }
     else
     {
         MsgCenter.Instance.SendToMsg(msg);
     }
 }
コード例 #8
0
 /// <summary>
 /// 发送消息
 /// </summary>
 /// <param name="msg"></param>
 public void Dispatch(MsgBase msg)
 {
     // 如果消息 Id 是我 UI模块的 消息范围之内的 , 就自己处理
     if (msg.GetManager() == ManagerIDEnum.UIManager)
     {
         ProcessEvent(msg);
     }
     else  // 如果消息 Id 是我 UI模块的 消息范围之内的 , 就交给MsgCenter处理
     {
         MsgCenter.Instance.SendToMsg(msg);
     }
 }
コード例 #9
0
ファイル: BaseManager.cs プロジェクト: Swift-Yu/FrameWork-1
 /// <summary>
 /// 处理事件 上层MsgCenter收到消息通过该接口转发到各个Manager
 /// </summary>
 /// <param name="tmpMsg"></param>
 public override void ProcessEvent(MsgBase tmpMsg)
 {
     if (!eventTree.ContainsKey(tmpMsg.msgId))
     {
         Debug.LogError("msg not be registed == " + tmpMsg.msgId);
         Debug.LogError("Msg Manager == " + tmpMsg.GetManager());
     }
     else
     {
         eventTree[tmpMsg.msgId](tmpMsg);
     }
 }
コード例 #10
0
ファイル: UIManager.cs プロジェクト: Hengle/UnityLearn-1
 /// <summary>
 /// 发送消息
 /// </summary>
 /// <param name="msg"></param>
 public void SendMsg(MsgBase msg)
 {
     if (msg.GetManager() == ManagerId.UIManager)
     {
         //本模块自己处理
         ProcessEvent(msg);
     }
     else //交给msgCenter处理
     {
         MsgCenter.Instance.SendToMsg(msg);
     }
 }
コード例 #11
0
 public void SendMsg(MsgBase msg)
 {
     if (msg.GetManager() == ManagerID.UIManager)
     {
         //  Debug.Log("0000");
         ProcessEvent(msg); //本模块自己处理
     }
     else//mesCenter处理
     {
         Debug.Log("MsgCenter");
         MsgCenter.instance.SendToMsg(msg);
     }
 }
コード例 #12
0
    public void SendMsg(MsgBase msg)
    {
        if (msg.GetManager() == ManagerID.NPCManager)
        {
            //Manager Base 本模块自己处理
            ProcessEvent(msg);
        }
        else
        {
            MsgCenter.Instance.SendToMsg(msg);
        }

    }
コード例 #13
0
    private void Awake()
    {
        MsgBase msgBase = new MsgBase(3003);

        Debug.Log(msgBase.GetManager().ToString());


        //Debug.Log(transform.childCount);//6
        //for (int i = 0; i < transform.childCount; i++)
        //{
        //    Destroy(transform.GetChild(i).gameObject);
        //    Debug.Log(transform.childCount);//6 6 6 6 6 6
        //}
        //Debug.Log(transform.childCount);//6
        //能销毁所有子节点



        //---------------------------------
        //Debug.Log(transform.childCount);//6
        //for (int i = 0; i < transform.childCount; i++)
        //{
        //    Destroy(transform.GetChild(0).gameObject);//6 6 6 6 6 6
        //    Debug.Log(transform.childCount);
        //}
        //Debug.Log(transform.childCount);//6
        //只能销毁第一个子节点


        Debug.Log(transform.childCount);//6
        for (int i = 0; i < transform.childCount; i++)
        {
            DestroyImmediate(transform.GetChild(i).gameObject);
            Debug.Log(transform.childCount); //5 4 3
        }
        Debug.Log(transform.childCount);     //3
        //只能销毁前三个子节点

        //Debug.Log(transform.childCount);//6
        //for (int i = 0; i < transform.childCount; i++)
        //{
        //    DestroyImmediate(transform.GetChild(0).gameObject);
        //    Debug.Log(transform.childCount);//5 4 3
        //}
        //Debug.Log(transform.childCount);//3
        //只能销毁前三个子节点


        //结论:DestroyImmediate销毁游戏物体之后childCount能立即更新
    }
コード例 #14
0
    /// <summary>
    /// 来了消息 通知整个消息链表
    /// </summary>
    /// <param name="tempMsg"></param>
    public override void ProcessEvent(MsgBase tempMsg)
    {
        if (!EventTree.ContainsKey(tempMsg.MsgId))
        {
            Debug.LogError("msg no contain msgid ==" + tempMsg.MsgId);
            Debug.LogError("msg manager == " + tempMsg.GetManager());
            return;
        }

        EventNode temp = EventTree[tempMsg.MsgId];

        do
        {
            //策略模式
            temp.data.ProcessEvent(tempMsg);
        } while (temp.next != null);
    }
コード例 #15
0
    //来了消息 通知整个消息链表
    public override void ProcessEvent(MsgBase tmpMsg)
    {
        if (!enventTree.ContainsKey(tmpMsg.msgId))
        {
            Debug.LogError("msg not contain msgid == " + tmpMsg.msgId);
            Debug.LogError("msg manager == " + tmpMsg.GetManager());
            return;
        }
        else
        {
            EventNode tmp = enventTree[tmpMsg.msgId];

            do
            {
                tmp.data.ProcessEvent(tmpMsg);
            }while (tmp != null);
        }
    }
コード例 #16
0
    /// <summary>
    /// 来了消息之后,通知整个消息链表 , 找到对应的 Mono 脚本去执行这个消息
    /// </summary>
    /// <param name="msg"></param>
    public override void ProcessEvent(MsgBase msg)
    {
        if (!nodeDic.ContainsKey(msg.msgId))
        {
            Debug.LogError("没有注册" + msg.msgId);
            Debug.LogError(msg.GetManager() + "这个管理器出的问题");
            return;
        }
        // 字典里有 : 从链表里找到
        EventNode tempNode = nodeDic[msg.msgId];

        do
        {
            // 通过 msg.msgId 找到对应的链表 , 全部通知
            // 链表里注册了 msg.msgId 这个消息的 mono , 都要执行这个方法
            tempNode.mono.ProcessEvent(msg);
            tempNode = tempNode.next;
        }while (tempNode != null);
    }
コード例 #17
0
ファイル: MsgCenter.cs プロジェクト: blongs/FameEvent
    /// <summary>
    /// 处理所有模块的消息分发。
    /// </summary>
    /// <param name="tmpMsg"></param>
    private void AnasysisMsg(MsgBase tmpMsg)
    {
        ManagerId tmpId = tmpMsg.GetManager();

        switch (tmpId)
        {
        case ManagerId.AssetManager:
            AssetBundleManager.Instance.SendMsg(tmpMsg);
            break;

        case ManagerId.AudioManager:

            break;

        case ManagerId.CharacterManager:

            break;

        case ManagerId.GameManager:

            break;

        case ManagerId.NetManager:
            NetManager.Instance.SendMsg(tmpMsg);
            break;

        case ManagerId.NPCManager:
            NPCManager.Instance.SendMsg(tmpMsg);
            break;

        case ManagerId.UIManader:
            UIManager.Instance.SendMsg(tmpMsg);
            break;

        case ManagerId.TabToyManager:
            TabToyManager.Instance.SendMsg(tmpMsg);
            break;

        default:
            break;
        }
    }
コード例 #18
0
ファイル: MsgCenter.cs プロジェクト: Hengle/UnityLearn-1
    public void SendToMsg(MsgBase msg)
    {
        ManagerId managerId = msg.GetManager();

        switch (managerId)
        {
        case ManagerId.AssetManager: break;

        case ManagerId.AudioManager: break;

        case ManagerId.GameManager: break;

        case ManagerId.NetManager: break;

        case ManagerId.UIManager: break;

        default:
            Debug.LogError("msg");
            break;
        }
    }
コード例 #19
0
ファイル: MsgCenter.cs プロジェクト: Swift-Yu/FrameWork-1
    /// <summary>
    /// 消息分发
    /// </summary>
    /// <param name="msg"></param>
    private void AnasysisMsg(MsgBase tmpMsg)
    {
        ManagerID tmpId = tmpMsg.GetManager();

        switch (tmpId)
        {
        case ManagerID.GameManager:
            GameManager.Instance.ProcessEvent(tmpMsg);
            break;

        case ManagerID.ViewManager:
            ViewManager.Instance.ProcessEvent(tmpMsg);
            break;

        case ManagerID.AudioManager:
            AudioManager.Instance.ProcessEvent(tmpMsg);
            break;

        case ManagerID.NPCManager:
            NPCManager.Instance.ProcessEvent(tmpMsg);
            break;

        case ManagerID.CharacterManager:
            CharacterManager.Instance.ProcessEvent(tmpMsg);
            break;

        case ManagerID.AssetManager:
            AssetManager.Instance.ProcessEvent(tmpMsg);
            break;

        case ManagerID.NetManager:
            NetManager.Instance.ProcessEvent(tmpMsg);
            break;

        default: Debug.LogError("Wrong Msg");
            break;
        }
    }
コード例 #20
0
    private void AnalysisMsg(MsgBase tmpMsg)
    {
        ManagerID tmpId = tmpMsg.GetManager();

        switch (tmpId)
        {
        case ManagerID.AssestMnanger:
            AssetManager.Instance.SendMsg(tmpMsg);
            break;

        case ManagerID.AudioManager:
            break;

        case ManagerID.CharactorMnanger:
            CharactorMnanger.Instance.SendMsg(tmpMsg);
            break;

        case ManagerID.GameManager:
            break;

        case ManagerID.NetManager:

            break;

        case ManagerID.NPCManager:
            NPCManager.Instance.SendMsg(tmpMsg);
            break;

        case ManagerID.UIManager:
            UIManager.Instance.SendMsg(tmpMsg);
            break;

        default:
            break;
        }
    }