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; }
}
}