// recursive helper method private void saveTransformsHelper(Transform transform) { SavedTransformInfo savedInfo = new SavedTransformInfo(transform.position, transform.rotation); savedTransforms.Add(transform.gameObject, savedInfo); foreach (Transform child_trans in transform) { saveTransformsHelper(child_trans); } }
// recursive helper method private void resetTransformsHelper(Transform transform) { SavedTransformInfo savedInfo = savedTransforms[transform.gameObject]; transform.position = savedInfo.GetPosition(); transform.rotation = savedInfo.GetRotation(); foreach (Transform child_trans in transform) { resetTransformsHelper(child_trans); } }