using System.Collections; using System.Collections.Generic; using System.Linq; using UnityEngine; using UnityEngine.UI; public class CarDetailCtrl : MonoBehaviour { public Text carName; public Button Button_Colse; public EditorContentCtrl contentCtrl_childEquip; public EditorContentCtrl contentCtrl_person; bool init = false; CarIconInstanceCtrl currentCar;//当前操作的车辆 // Start is called before the first frame update void Start() { //Hide(); } //隐藏窗口 /// /// 初始化窗口事件和组件 并隐藏窗口 /// public void Hide() { InitEvent(); this.gameObject.SetActive(false); } void InitEvent() { if (init) return; EventCenter.Instance.AddEventListener("CarDetailEditor", ActiveCarDetail); EventCenter.Instance.AddEventListener("UpdateOnboardCount", UpdateOnboardGO);//更新当前选中车辆的子物体数量 Button_Colse.onClick.AddListener(CloseButtonClick); init = true; } void ActiveCarDetail(CarIconInstanceCtrl carInstance) { currentCar = carInstance; this.gameObject.SetActive(true); carName.text = carInstance.text_IconName.text; string [] ceNames = carInstance.chidlEquipNames.Keys.ToArray(); contentCtrl_childEquip.CreatChildren(ceNames); contentCtrl_childEquip.SetInitMsg(carInstance.chidlEquipNames); string[] pNames = carInstance.personNames.Keys.ToArray(); contentCtrl_person.CreatChildren(pNames); contentCtrl_person.SetInitMsg(carInstance.personNames); } void UpdateOnboardGO(string nameStr,int changeValue) { currentCar.UpdateOnboardGO(nameStr, changeValue); } void CloseButtonClick() { this.gameObject.SetActive(false); contentCtrl_childEquip.RemoveAll(); contentCtrl_person.RemoveAll(); } }