Пример #1
0
 /// <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);
     }
 }
Пример #2
0
    /// <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);
        }
    }