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; } }
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; } }
/// <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; } }
public void SendMsg(MsgBase msg) { if (msg.GetManager() == ManagerID.AssetManager) { ProcessEvent(msg);//本模块自己处理 } else//mesCenter处理 { MsgCenter.instance.SendToMsg(msg); } }
public void SendMsg(MsgBase msg) { if (msg.GetManager() == ManagerId.NetManager) { ProcessEvent(msg); } else { MsgCenter.Instance.SendToMsg(msg); } }
public void SendMsg(MsgBase msg) { if (msg.GetManager() == ManagerID.ModelManager) { ProcessEvent(msg);//本模块 自己处理 } else { MsgCenter.Instance.SendToMsg(msg); } }
public void SendMsg(MsgBase msg) { if (msg.GetManager() == ManagerID.CharactorMnanger) { ProccessEvent(msg); } else { MsgCenter.Instance.SendToMsg(msg); } }
/// <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); } }
/// <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); } }
/// <summary> /// 发送消息 /// </summary> /// <param name="msg"></param> public void SendMsg(MsgBase msg) { if (msg.GetManager() == ManagerId.UIManager) { //本模块自己处理 ProcessEvent(msg); } else //交给msgCenter处理 { MsgCenter.Instance.SendToMsg(msg); } }
public void SendMsg(MsgBase msg) { if (msg.GetManager() == ManagerID.UIManager) { // Debug.Log("0000"); ProcessEvent(msg); //本模块自己处理 } else//mesCenter处理 { Debug.Log("MsgCenter"); MsgCenter.instance.SendToMsg(msg); } }
public void SendMsg(MsgBase msg) { if (msg.GetManager() == ManagerID.NPCManager) { //Manager Base 本模块自己处理 ProcessEvent(msg); } else { MsgCenter.Instance.SendToMsg(msg); } }
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能立即更新 }
/// <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); }
//来了消息 通知整个消息链表 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); } }
/// <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); }
/// <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; } }
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; } }
/// <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; } }
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; } }