void LinkSignalDownward(Transform trans, DetachSignal signal) { foreach (Transform child in trans) { DetachOnDestroy detachOnDestroy = child.GetComponent <DetachOnDestroy>(); if (null != detachOnDestroy) { signal += detachOnDestroy.DetachSignalFromParent; continue; } LinkSignalDownward(child, signal); } }
void LinkSignalUpward(Transform trans) { if (null == trans.parent) { return; } DetachOnDestroy detachOnDestroy = trans.parent.GetComponent <DetachOnDestroy>(); if (null != detachOnDestroy) { detachOnDestroy.detachSignal += DetachSignalFromParent; return; } LinkSignalUpward(trans.parent); }