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