private static Vector3 DoVector3Lerp(Vector3 value1, Vector3 value2, float time, TransformDataLerpSettings.ModeSetting settings)
        {
            Vector3 output;

            switch (settings)
            {
            case TransformDataLerpSettings.ModeSetting.Use:
                output = Vector3Lerp.Lerp(value1, value2, time);

                break;

            case TransformDataLerpSettings.ModeSetting.Left:
                output = value1;

                break;

            case TransformDataLerpSettings.ModeSetting.Right:
                output = value2;

                break;

            default: throw new ArgumentOutOfRangeException();
            }

            return(output);
        }
        private static Quaternion DoQuaternionLerp(Quaternion value1, Quaternion value2, float time, TransformDataLerpSettings.ModeSetting settings)
        {
            Quaternion output;

            switch (settings)
            {
            case TransformDataLerpSettings.ModeSetting.Use:
                output = QuaternionLerp.Lerp(value1, value2, time);

                break;

            case TransformDataLerpSettings.ModeSetting.Left:
                output = value1;

                break;

            case TransformDataLerpSettings.ModeSetting.Right:
                output = value2;

                break;

            default: throw new ArgumentOutOfRangeException();
            }

            return(output);
        }