using System; using Chernobyl.Event; namespace Chernobyl.Mathematics.Mechanics { /// /// A mechanism that can be moved in a negative or positive direction in 1 /// dimension. /// public interface IAxis { /// /// The amount the axis was in a certain direction (the previous value /// of ). /// float PreviousValue { get; } /// /// The amount the axis is in a certain direction currently. /// float CurrentValue { get; } /// /// The amount of change, from the axis' to /// its . /// float ChangeAmount { get; } /// /// The sensitivity of this axis. A sensitivity of 1 is the default. /// A lower sensitivity (between 0.0 and 1.0) causes this axis to report /// a smaller number for it's current value while a greater sensitivity /// (greater than 1.0) causes the value reported to be greater. /// float Sensitivity { get; set; } /// /// Invoked when this axis moves. /// event EventHandler> OnMove; /// /// Invoked when this axis moves up. /// event EventHandler> OnUp; /// /// Invoked when this axis moves down. /// event EventHandler> OnDown; } }