public AxisRotationRandomizationModeSettingsView(AxisRotationRandomizationModeSettings settings)
 {
     _settings = settings;
 }
 private static void RandomizeRotationForAxis(Transform objectTransform, Vector3 axis, AxisRotationRandomizationModeSettings rotationRandomizationModeSettings)
 {
     if (rotationRandomizationModeSettings.RandomizationMode == AxisRotationRandomizationMode.RandomRotationStep)
     {
         RandomizeRotationForAxis(objectTransform, axis, rotationRandomizationModeSettings.RandomRotationStepAxisRandomizationSettings.StepSizeInDegrees);
     }
     else
     if (rotationRandomizationModeSettings.RandomizationMode == AxisRotationRandomizationMode.RandomRotationValue)
     {
         RandomizeTransformRotationForAxis(objectTransform, axis,
                                           rotationRandomizationModeSettings.RandomRotationValueAxisRandomizationSettings.MinRotationInDegrees,
                                           rotationRandomizationModeSettings.RandomRotationValueAxisRandomizationSettings.MaxRotationInDegrees);
     }
 }
 private static Quaternion GenerateRandomRotationQuaternionForAxis(Vector3 axis, AxisRotationRandomizationModeSettings rotationRandomizationModeSettings)
 {
     if (rotationRandomizationModeSettings.RandomizationMode == AxisRotationRandomizationMode.RandomRotationStep)
     {
         return(GenerateRandomRotationQuaternionForAxis(axis, rotationRandomizationModeSettings.RandomRotationStepAxisRandomizationSettings.StepSizeInDegrees));
     }
     else
     if (rotationRandomizationModeSettings.RandomizationMode == AxisRotationRandomizationMode.RandomRotationValue)
     {
         return(GenerateRandomRotationQuaternionForAxis(axis,
                                                        rotationRandomizationModeSettings.RandomRotationValueAxisRandomizationSettings.MinRotationInDegrees,
                                                        rotationRandomizationModeSettings.RandomRotationValueAxisRandomizationSettings.MaxRotationInDegrees));
     }
     else
     {
         return(Quaternion.identity);
     }
 }
        private static void RandomizeRotationForAxis(Transform objectTransform, TransformAxis axis, AxisRotationRandomizationModeSettings rotationRandomizationModeSettings)
        {
            Vector3 axisVector = TransformAxes.GetVector(axis, TransformSpace.Global, objectTransform);

            RandomizeRotationForAxis(objectTransform, axisVector, rotationRandomizationModeSettings);
        }