/// <summary> /// 选中目标 /// </summary> public void SelectItem() { if (IsSelect) { return; } if (CurrentSelectItem != null) { CurrentSelectItem.DeselectItem(this); } IsSelect = true; CurrentSelectItem = this; if (TargetGraphic != null) { TargetGraphic.overrideSprite = Select; } if (SystemInfo != null) { //Debug.Log("ShowSubSystem:" + SystemInfo.DevName); FacilityInfoManage manage = FacilityInfoManage.Instance; if (manage && manage.DevTree != null) { manage.DevTree.InitTree(SystemInfo); } } }
/// <summary> /// 初始化子系统信息 /// </summary> /// <param name="systemList"></param> public void InitSubDevInfo(FacilitySystemList systemList) { HideLastSystem(); List <FacilitySystem> SubSystem = systemList.DevList; int lastSystemIndex = SubSystemList.Count - 1; List <SubSystemItem> NewItems = new List <SubSystemItem>(); for (int i = 0; i < SubSystem.Count; i++) { if (i <= lastSystemIndex) { InitItemInfo(SubSystemList[i], i, SubSystem[i]); SubSystemList[i].gameObject.SetActive(true); } else { GameObject obj = Instantiate(FacilityUIPrefab); obj.SetActive(true); obj.transform.parent = SubSystemContent.transform; obj.transform.localEulerAngles = Vector3.zero; obj.transform.localScale = Vector3.one; SubSystemItem item = obj.GetComponent <SubSystemItem>(); InitItemInfo(item, i, SubSystem[i]); NewItems.Add(item); } } SubSystemList.AddRange(NewItems); SubSystemList[0].SelectItem(); }
/// <summary> /// 设置按钮背景 /// </summary> /// <param name="item"></param> /// <param name="Index"></param> private void InitItemInfo(SubSystemItem item, int Index, FacilitySystem systemInfo) { if (Index % 2 == 0) { item.Init(systemInfo, singleOddSprite); } else { item.Init(systemInfo, doubleEvenSprite); } }
/// <summary> /// 取消选中 /// </summary> public void DeselectItem(SubSystemItem current = null) { if (current != null && current == this) { return; } else { if (TargetGraphic != null) { TargetGraphic.overrideSprite = Normal; } IsSelect = false; CurrentSelectItem = null; } }