using UnityEngine;

namespace NeonTea.Quakeball.Players {
    /// <summary>Different modes of transportation.</summary>
    [CreateAssetMenu(fileName = "Moving", menuName = "Quakeball/MoveStyle")]
    public class MoveStyle : ScriptableObject {
        /// <summary>The target velocity to accelerate towards.</summary>
        public float TargetVelocity;
        /// <summary>When decelerating, the speed at which the deceleration no longer decelerates.</summary>
        public float StopVelocity;
        /// <summary>The acceleration coefficient. Higher values mean faster acceleration.</summary>
        public float Acceleration;
        /// <summary>The acceleration coefficient in air. Higher values mean faster acceleration.</summary>
        public float AirAcceleration;
        /// <summary>The friction coefficient. Higher values mean faster slowdown, should be less than or equal to <c>Acceleration</c>.</summary>
        public float Friction;
        /// <summary>The friction coefficient in air. Higher values mean faster slowdown, should be less than or equal to <c>Acceleration</c>.</summary>
        public float AirFriction;
        /// <summary>The velocity that the player jumps in this style.</summary>
        public float JumpVelocity;
        /// <summary>Degrees that the player leans when moving sideways in this style.</summary>
        public float LeanDegrees;
    }
}
