public Transform SearchChild(string name, GameObject root) { XBoneTree child = SearchTree(name); if (child != null) { int index = child.cname.IndexOf("/"); string path = child.cname.Substring(index + 1); return(root.transform.Find(path)); } return(null); }
public void FillChilds(Transform transf) { int cnt = transf.childCount; childs = new XBoneTree[cnt]; for (int i = 0; i < cnt; i++) { Transform child = transf.GetChild(i); childs[i] = new XBoneTree(cname, child.name, depth + 1); childs[i].FillChilds(child); } }
public static Transform[] Str2Transf(string[] str, GameObject go) { if (str != null && go != null) { XBoneTree tree = new XBoneTree(string.Empty, go.name, 0); tree.FillChilds(go.transform); Transform[] rst = new Transform[str.Length]; for (int i = 0; i < str.Length; i++) { var child = tree.SearchChild(str[i], go); rst[i] = child; } return(rst); } return(null); }