private static HierarchyList GetTransformInHierarchyRecursively(Transform transform, int depth)
    {
        HierarchyList hList = new HierarchyList();

        depth += 1;
        foreach (Transform t in transform)
        {
            string label = "";
            for (int i = 0; i < depth; i++)
            {
                label += "   ";
            }

            hList.ListT.Add(t);
            hList.ListName.Add(label + "-" + t.name);

            HierarchyList tempHL = GetTransformInHierarchyRecursively(t, depth);
            foreach (Transform tt in tempHL.ListT)
            {
                hList.ListT.Add(tt);
            }
            foreach (string ll in tempHL.ListName)
            {
                hList.ListName.Add(ll);
            }
        }
        return(hList);
    }
    public static void GetObjectHierarchyList(GameObject obj, SetObjListCallback callback)
    {
        List <GameObject> objHList      = new List <GameObject>();
        List <string>     tempLabelList = new List <string>();

        HierarchyList hList = GetTransformInHierarchy(obj.transform, 0);

        objHList.Add(null);
        tempLabelList.Add(" - ");

        for (int i = 0; i < hList.ListT.Count; i++)
        {
            objHList.Add(hList.ListT[i].gameObject);
        }
        for (int i = 0; i < hList.ListName.Count; i++)
        {
            while (tempLabelList.Contains(hList.ListName[i]))
            {
                hList.ListName[i] += ".";
            }
            tempLabelList.Add(hList.ListName[i]);
        }

        string[] objHLabelList = new string[tempLabelList.Count];
        for (int i = 0; i < tempLabelList.Count; i++)
        {
            objHLabelList[i] = tempLabelList[i];
        }

        callback(objHList, objHLabelList);
    }
Exemple #3
0
        static void Main(string[] args)
        {
            var list = new HierarchyList <string, string>("R", "ROOT");
            Node <string, string> b1 = list.Root.AddNode("B1", "Branch1");

            b1.AddNode("L1-1", "Leaf1-1");
            b1.AddNode("L1-2", "Leaf1-2");
            b1.AddNode("L1-3", "Leaf1-3");

            Node <string, string> b2  = list.Root.AddNode("B2", "Branch2");
            Node <string, string> b21 = b2.AddNode("B2-1", "Branch2-1");

            b21.AddNode("L2-1-1", "Leaf2-1-1");
            b21.AddNode("L2-1-2", "Leaf2-1-2");
            b21.AddNode("L2-1-3", "Leaf2-1-3");
            Node <string, string> b22 = b2.AddNode("B2-2", "Branch2-2");

            b22.AddNode("L2-2-1", "Leaf2-2-1");
            b22.AddNode("L2-2-2", "Leaf2-2-2");
            b22.AddNode("L2-2-3", "Leaf2-2-3");
            Node <string, string> b23 = b2.AddNode("B2-3", "Branch2-3");

            b23.AddNode("L2-3-1", "Leaf2-3-1");
            b23.AddNode("L2-3-2", "Leaf2-3-2");
            b23.AddNode("L2-3-3", "Leaf2-3-3");

            Console.WriteLine(list.Root.ToString());

            Console.ReadKey();
        }
    private static HierarchyList GetTransformInHierarchy(Transform transform, int depth)
    {
        HierarchyList hl = new HierarchyList();

        hl = GetTransformInHierarchyRecursively(transform, depth);

        hl.ListT.Insert(0, transform);
        hl.ListName.Insert(0, "-" + transform.name);

        return(hl);
    }
Exemple #5
0
        private static HierarchyList GetTransformInHierarchy(Transform transform, int depth)
        {
            HierarchyList hl=new HierarchyList();

            hl=GetTransformInHierarchyRecursively(transform, depth);

            hl.ListT.Insert(0, transform);
            hl.ListName.Insert(0, "-"+transform.name);

            return hl;
        }
    float startX, startY, height, spaceY; //, lW;

    #endregion Fields

    #region Methods

    public static HierarchyList GetTransformInHierarchy(Transform transform, int depth)
    {
        HierarchyList hl=new HierarchyList();

        hl=GetTransformInHierarchyRecursively(transform, depth);

        hl.transformList.Insert(0, transform);
        hl.stringList.Insert(0, "-"+transform.name);

        return hl;
    }
    public static HierarchyList GetTransformInHierarchyRecursively(Transform transform, int depth)
    {
        HierarchyList hl=new HierarchyList();
        depth+=1;
        foreach(Transform t in transform){
            string label="";
            for(int i=0; i<depth; i++) label+="   ";

            hl.transformList.Add(t);
            hl.stringList.Add(label+"-"+t.name);

            HierarchyList tempHL=GetTransformInHierarchyRecursively(t, depth);
            foreach(Transform tt in tempHL.transformList){
                hl.transformList.Add(tt);
            }
            foreach(string ll in tempHL.stringList){
                hl.stringList.Add(ll);
            }
        }
        return hl;
    }
		void LoadCompleted(HierarchyList<CallTreeNodeViewModel> list, AdornerLayer layer, OverlayAdorner ad)
		{
			layer.Remove(ad);
			treeView.ItemsSource = this.list = list;
			if (list != null && list.Count > 0) {
				ringDiagram.SelectedRoot = this.list[0];
				
				foreach (var item in list) {
					var currentItem = item;
					currentItem.RequestBringIntoView += (sender, e) => treeView.ScrollIntoView(e.Node);
				}
			}
		}
Exemple #9
0
        private static HierarchyList GetTransformInHierarchyRecursively(Transform transform, int depth)
        {
            HierarchyList hList=new HierarchyList();
            depth+=1;
            foreach(Transform t in transform){
                string label="";
                for(int i=0; i<depth; i++) label+="   ";

                hList.ListT.Add(t);
                hList.ListName.Add(label+"-"+t.name);

                HierarchyList tempHL=GetTransformInHierarchyRecursively(t, depth);
                foreach(Transform tt in tempHL.ListT){
                    hList.ListT.Add(tt);
                }
                foreach(string ll in tempHL.ListName){
                    hList.ListName.Add(ll);
                }
            }
            return hList;
        }