//Clone public static GameObject FindAndClone(Transform root, string name, GameObject parent) { var find = HierarchyUtility.FindGameObject(root, name); if (find != null) { var clone = GameObject.Instantiate(find); clone.transform.SetParent(parent.transform); HierarchyUtility.TraverseSetLayerMask(clone.transform, LayerMask.NameToLayer("UI")); return(clone); } return(null); }
//Clone public static GameObject FindAndClone(Canvas[] templates, string name, GameObject parent) { GameObject find = null; foreach (var canvas in templates) { var root = canvas.transform; var find_tr = root.Find(name); if (find_tr != null) { find = find_tr.gameObject; break; } } if (find != null) { var clone = GameObject.Instantiate(find); clone.transform.SetParent(parent.transform); HierarchyUtility.TraverseSetLayerMask(clone.transform, LayerMask.NameToLayer("UI")); return(clone); } return(null); }