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);
    }
	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);
	}