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