示例#1
0
    public void CopyComponent(Transform original, Transform copy)
    {
        MenuCopyComponent originalComponent = original.GetComponent <MenuCopyComponent>();

        if (originalComponent != null)
        {
            MenuCopyComponent copiedComponent = copy.GetComponent <MenuCopyComponent>();

            originalComponent.InitCopy(copiedComponent, false);
            copiedComponent.InitCopy(originalComponent, true);
            if (originalComponent is KeyedMenuCopyComponent)
            {
                keyedCopyComponents.Add(copiedComponent as KeyedMenuCopyComponent);
            }
        }
        copy.gameObject.layer = layerMask;

        for (int i = 0; i < original.childCount; i++)
        {
            var originalChild = original.GetChild(i);
            var copyChild     = copy.GetChild(i);
            CopyComponent(originalChild, copyChild);
        }
    }
 public virtual void InitCopy(MenuCopyComponent component, bool isCopy)
 {
     MirroredComponent = component;
     IsCopy            = isCopy;
 }