public void Awake()
    {
        var data = new UITreeData("SpringGUI", new List <UITreeData>()
        {
            new UITreeData("Button", new List <UITreeData>()
            {
                new UITreeData("DoubleClickButton"),
                new UITreeData("LongClickButton")
            }),
            new UITreeData("Pie"),
            new UITreeData("DatePicker"),
            new UITreeData("C#", new List <UITreeData>()
            {
                new UITreeData("high-level syntax", new List <UITreeData>()
                {
                    new UITreeData("Action", new List <UITreeData>()
                    {
                        new UITreeData("One parameter"),
                        new UITreeData("Two parameter"),
                        new UITreeData("Three parameter"),
                        new UITreeData("Four parameter"),
                        new UITreeData("Five parameter")
                    }),
                    new UITreeData("Func"),
                    new UITreeData("delegate")
                }),
                new UITreeData("Reflect")
            })
        });

        //UITree.SetData(data);
        UITree.Inject(data);
    }
    private void Helper(IObjectData objData, UITreeData parUiTree)
    {
        var curUiTree = new UITreeData(objData.Name, objData.EntityLabel);

        if (objData is IElementData)
        {
            IElementData eleData        = objData as IElementData;
            var          typeUiTreeData = parUiTree.FindChildren(eleData.TypeName);
            if (typeUiTreeData == default)
            {
                typeUiTreeData = new UITreeData(eleData.TypeName, eleData.ProductGeoData.typeId);
                parUiTree.AddChild(typeUiTreeData);
            }
            var curEleUiTreeData = new UITreeData(objData.Name, objData.EntityLabel);
            typeUiTreeData.AddChild(curEleUiTreeData);
            foreach (var decEle in objData.RelatedObjects)
            {
                curEleUiTreeData.AddChild(new UITreeData(decEle.Name, decEle.EntityLabel));
            }
            return;
        }
        parUiTree.AddChild(curUiTree);
        foreach (var p in objData.RelatedObjects)
        {
            Helper(p, curUiTree);
        }
    }
Exemple #3
0
    public void Awake()
    {
        var data = new UITreeData("SpringGUI", new List <UITreeData>()
        {
            new UITreeData("Button", new List <UITreeData>()
            {
                new UITreeData("DoubleClickButton"),
                new UITreeData("LongClickButton")
            }),
            new UITreeData("Pie"),
            new UITreeData("DatePicker"),
            new UITreeData("C#", new List <UITreeData>()
            {
                new UITreeData("委托", new List <UITreeData>()
                {
                    new UITreeData("Action"),
                    new UITreeData("Func"),
                    new UITreeData("delegate")
                }),
                new UITreeData("反射")
            })
        });

        UITree.SetData(data);
    }
Exemple #4
0
    private void Start()
    {
        UITreeData TreeRoot = new UITreeData("我的项目", new List <UITreeData>()
        {
            new UITreeData("unity专栏", new List <UITreeData>()
            {
                new UITreeData("自定义UI组件专栏", new List <UITreeData>()
                {
                    new UITreeData("目录树"),
                    new UITreeData("鼠标响应", new List <UITreeData>()
                    {
                        new UITreeData("OnMouseButton"),
                        new UITreeData("Ray")
                    })
                }),
                new UITreeData("调用外部exe"),
                new UITreeData("Shader专栏", new List <UITreeData>()
                {
                    new UITreeData("Dissolve Shader"),
                    new UITreeData("Transparent Shader")
                })
            }),
            new UITreeData("ifc专栏", new List <UITreeData>()
            {
                new UITreeData("基础篇"),
                new UITreeData("高级篇", new List <UITreeData>()
                {
                    new UITreeData("空间结构"),
                    new UITreeData("属性信息")
                })
            })
        });

        uiTree.Inject(TreeRoot);
    }
 public void Inject(UITreeData rootData)
 {
     if (null == m_container)
     {
         GetComponent();
     }
     TreeRootNode.Inject(rootData);
 }
Exemple #6
0
 public UITreeData(string name, int label = 0, int layer = 0)
 {
     Label      = label;
     Name       = name;
     Layer      = layer;
     Parent     = null;
     ChildNodes = new List <UITreeData>();
 }
    private void GenerateUiTree(IProjectData projData)
    {
        var uiTreeData = new UITreeData(projData.Name, projData.EntityLabel);

        foreach (var prodData in projData.RelatedObjects)
        {
            Helper(prodData, uiTreeData);
        }
        uiTree.Inject(uiTreeData);
    }
Exemple #8
0
    public override bool Equals(object obj)
    {
        UITreeData other = obj as UITreeData;

        if (null == other)
        {
            return(false);
        }
        return(other.Name.Equals(Name) && other.Layer.Equals(Layer) && other.Label.Equals(Label));
    }
Exemple #9
0
 private void ResetChildren(UITreeData treeData)
 {
     for (int i = 0; i < treeData.ChildNodes.Count; i++)
     {
         UITreeData node = treeData.ChildNodes[i];
         node.Parent = treeData;
         node.Layer  = treeData.Layer + 1;
         ResetChildren(node);
     }
 }
Exemple #10
0
 public void SetParent(UITreeData parent)
 {
     if (null != this.Parent)
     {
         this.Parent.RemoveChild(this);
     }
     this.Parent = parent;
     this.Layer  = parent.Layer + 1;
     parent.ChildNodes.Add(this);
     ResetChildren(this);
 }
Exemple #11
0
 public UITreeData(string name, List <UITreeData> childNodes, int label = 0, int layer = 0)
 {
     Label      = label;
     Name       = name;
     Parent     = null;
     ChildNodes = childNodes;
     if (null == ChildNodes)
     {
         ChildNodes = new List <UITreeData>();
     }
     Layer = layer;
     ResetChildren(this);
 }
Exemple #12
0
 public void Clear()
 {
     RemoveListener();
     text.text        = "Hierarchy";
     toggle.isOn      = true;
     icon.sprite      = null;
     TreeData         = null;
     UITree           = null;
     toggle           = null;
     icon             = null;
     text             = null;
     _toggleTransform = null;
     _myTransform     = null;
     _container       = null;
     _children.Clear();
 }
    public GameObject Pop(UITreeData data, int siblingIndex)
    {
        GameObject treeNode = null;

        if (m_pool.Count > 0)
        {
            treeNode = m_pool[0];
            m_pool.RemoveAt(0);
        }
        else
        {
            treeNode = CloneTree();
        }
        treeNode.transform.SetParent(m_container);
        treeNode.SetActive(true);
        //treeNode.GetComponent<UITreeNode>().SetData(data);
        treeNode.GetComponent <UITreeNode>().Inject(data);
        treeNode.transform.SetSiblingIndex(siblingIndex + 1);
        return(treeNode);
    }
    public void Awake()
    {
        var data = new UITreeData("工具栏", new List <UITreeData>()
        {
            new UITreeData("交换机 ", new List <UITreeData>()
            {
                new UITreeData("交换机"),
            }),
            //  new UITreeData("Pie"),
            //  new UITreeData("DatePicker"),
            new UITreeData("机柜 ", new List <UITreeData>()
            {
                //  new UITreeData("high-level syntax",new List<UITreeData>()
                //   {
                //new UITreeData("Action",new List<UITreeData>()
                //    {
                //        new UITreeData("One parameter"),
                //        new UITreeData("Two parameter"),
                //        new UITreeData("Three parameter"),
                //        new UITreeData("Four parameter"),
                //        new UITreeData("Five parameter")
                //    }),
                //   new UITreeData("冰箱"),
                new UITreeData("机柜"),
                // }),
                // new UITreeData("Reflect")
            }),
            new UITreeData("空调  ", new List <UITreeData>()
            {
                new UITreeData("空调"),
            }),
            new UITreeData("服务器  ", new List <UITreeData>()
            {
                new UITreeData("服务器"),
            })
        });

        //UITree.SetData(data);
        UITree.Inject(data);
    }
Exemple #15
0
 public void Inject(UITreeData data)
 {
     if (null == _myTransform)
     {
         GetComponent();
     }
     ResetComponent();
     TreeData    = data;
     text.text   = data.Name;
     toggle.isOn = false;
     toggle.onValueChanged.AddListener(OpenOrClose);
     icon.GetComponent <Button>().onClick.AddListener(GetProduct);
     _container.localPosition += new Vector3(_container.GetComponent <RectTransform>().sizeDelta.y *TreeData.Layer, 0, 0);
     if (data.ChildNodes.Count.Equals(0))
     {
         _toggleTransform.gameObject.SetActive(false);
         icon.sprite = UITree.m_lastLayerIcon;
     }
     else
     {
         icon.sprite = toggle.isOn ? UITree.m_openIcon : UITree.m_closeIcon;
     }
 }
Exemple #16
0
 public UITreeData FindChildren(UITreeData uiTreeData)
 {
     return(ChildNodes.Find(c => c.Equals(uiTreeData)));
 }
Exemple #17
0
 public void RemoveChild(UITreeData child)
 {
     RemoveChild(new UITreeData[] { child });
 }
Exemple #18
0
 public void AddChild(UITreeData child)
 {
     AddChild(new UITreeData[] { child });
 }