using UnityEngine; using System.Collections; using System.Collections.Generic; using AX.MessageSystem; using AX.TrackRecord; public class GuanXianIDScript : MonoBehaviour { Vector3 Vet3; public GameObject Begin; public GameObject End; public int Id; public List GuanXianList = new List(); void Awake() { MessageDispatcher.AddListener("DeleteShuiYuan", DeleteShuiYuan); MessageDispatcher.AddListener("CheckConnectCar", CheckConnectCar); } public void CheckConnectCar(IMessage mesg)//检查是否连接车辆 { Debug.Log(gameObject.name); if (!mesg.Sender.Equals(gameObject.name)) { if (GuanXianList.Contains((GameObject)mesg.Data)) { if (((GameObject)mesg.Data).name.Equals(Begin.name)) { Begin.GetComponent().isConnectCar = true; } else if (((GameObject)mesg.Data).name.Equals(End.name)) { End.GetComponent().isConnectCar = true; } } } } public void DeleteShuiYuan(IMessage mesg) //删除水源调用 { if (GuanXianList.Contains((GameObject)mesg.Data)) { GuanXianList.Remove((GameObject)mesg.Data); if (((GameObject)mesg.Data).name.Equals(Begin.name)) { Begin = null; } else if (((GameObject)mesg.Data).name.Equals(End.name)) { End = null; } DeletGuanXian(); } } public void GetTheMessage(GameObject begin,GameObject end) { //接受管线第一次,第二次,ID GuanXianList.Clear(); Begin = begin; End = end; GuanXianList.Add(begin); GuanXianList.Add(end); if (LoadManager.Instance.IsPlayBacking) { if (End.name.Contains("pmc")) { End.GetComponent().isConnectCar = true; } else if (End.name.Contains("sgc")) { End.GetComponent().isConnectCar = true; } else if (Begin.name.Contains("pmc")) { begin.GetComponent().isConnectCar = true; } else if (Begin.name.Contains("sgc")) { begin.GetComponent().isConnectCar = true; } } } GameObject GetRenYuan; //连接的人员 public void DeletGuanXian() { for (int i = 0; i < GuanXianList.Count; i++) { GameObject Game = GuanXianList[i] as GameObject; if (Game != null) { if (Game.name.Contains("xiaofangyuan") || Game.name.Contains("xiaofangche") || Game.name.Contains("mb")) { Game.GetComponent().GetStopShui(this.gameObject); } } } } void OnDestroy() { MessageDispatcher.RemoveListener("DeleteShuiYuan", DeleteShuiYuan); MessageDispatcher.RemoveListener("CheckConnectCar", CheckConnectCar); } }