コード例 #1
0
    //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);
    }
コード例 #2
0
    //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);
    }