void JumpToNextLegalTransformMode() { if (carriedObject.GetComponent <GroupHolder>() != null) { transformMode = TransformMode.Off; return; } while (true) { if (transformMode == TransformMode.Off) { break; } if (transformMode == TransformMode.RotateHorizontally && carriedObject.GetComponent <Pickupable>().canRotateHorizontally) { break; } if (transformMode == TransformMode.RotateVertically && carriedObject.GetComponent <Pickupable>().canRotateVertically) { break; } if (transformMode == TransformMode.Scale && carriedObject.GetComponent <Pickupable>().canScale) { break; } if ((transformMode == TransformMode.ScaleX || transformMode == TransformMode.ScaleY || transformMode == TransformMode.ScaleZ) && carriedObject.GetComponent <Pickupable>().canScaleXYZ) { break; } transformMode = transformMode.Next(); } }