/// <summary> /// 设置按钮背景 /// </summary> /// <param name="item"></param> /// <param name="Index"></param> private void InitItemInfo(DevSubSystemItem item, int Index, Dev_Monitor systemInfo) { if (Index % 2 == 0) { item.Init(systemInfo, singleOddSprite); } else { item.Init(systemInfo, doubleEvenSprite); } }
/// <summary> /// 初始化监控信息 /// </summary> /// <param name="systemList"></param> public void InitDevSubSystem(Dev_Monitor[] subSystem) { HideLastSystem(); bool isValueEmpty = subSystem == null || subSystem.Length == 0 ? true : false; SubSystemContent.gameObject.SetActive(!isValueEmpty); EmptyValueText.gameObject.SetActive(isValueEmpty); if (isValueEmpty) { if (DevSubSystemItem.CurrentSelectItem != null) { DevSubSystemItem.CurrentSelectItem.DeselectItem(); } if (FacilityDevManage.Instance && FacilityDevManage.Instance.SubSytemTree != null) { FacilityDevManage.Instance.SubSytemTree.InitTree(null); } return; } int lastSystemIndex = NodePrefabPoor.Count - 1; List <DevSubSystemItem> NewItems = new List <DevSubSystemItem>(); for (int i = 0; i < subSystem.Length; i++) { if (i <= lastSystemIndex) { InitItemInfo(NodePrefabPoor[i], i, subSystem[i]); NodePrefabPoor[i].gameObject.SetActive(true); } else { GameObject obj = Instantiate(SubSystemPrefab); obj.SetActive(true); obj.transform.parent = SubSystemContent.transform; obj.transform.localEulerAngles = Vector3.zero; obj.transform.localScale = Vector3.one; DevSubSystemItem item = obj.GetComponent <DevSubSystemItem>(); InitItemInfo(item, i, subSystem[i]); NewItems.Add(item); } } NodePrefabPoor.AddRange(NewItems); if (scrollBar) { scrollBar.value = 1; } NodePrefabPoor[0].SelectItem(); }
/// <summary> /// 取消选中 /// </summary> public void DeselectItem(DevSubSystemItem current = null) { if (current != null && current == this) { return; } else { if (TargetGraphic != null) { TargetGraphic.overrideSprite = Normal; } IsSelect = false; CurrentSelectItem = null; } }
/// <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 (FacilityDevManage.Instance && SystemInfo != null) { FacilityDevManage.Instance.SubSytemTree.InitTree(SystemInfo); } }