using System; using UnityEngine; namespace NeoCC { /// /// IVariableGravity is used to add the ability to change a character controller's up vector and gravity vector. /// public interface INeoCharacterVariableGravity { /// /// The up axis for the controller in world space. /// Vector3 up { get; set; } /// /// The amount of smoothing over time to apply to changes in the controller up vector. 0 is instantaneous, 1 is 1 second for a full 180 degree rotation. /// float upSmoothing { get; set; } /// /// The gravity vector applied to this character. /// Vector3 gravity { get; set; } /// /// Used to prevent the up vector changing in certain conditions, such as climbing ladders. Defaults to false. /// bool lockUpVector { get; set; } /// /// Should the controller automatically change the up vector to match gravity (treating gravity as a down vector). /// bool orientUpWithGravity { get; set; } } }