using System; namespace Framework.Actors { /// Controls the animation state for a walking actor public interface IWalkingActorPresenter { // Vertical speed is a useful property to use adaptive jump animations // (for example, an animal's hindquarters would be lower while jumping up, // but then the front paws would be lower upon falling down again). // // However, horizontal speed would need to be 1D for platformers, // but 2D (running + strafing) for first person and similar games. // // Unclear how to best match this to a lean set of interfaces. #if false /// Speed at which the actor is moving horizontally in units/second float HorizontalSpeed { get; set; } /// Speed at which the actor is moving vertically in units/second float VerticalSpeed { get; set; } #endif /// Selects the state used for locomotion of the character void SetGroundedState(); /// Selects the state that displays the character jumping or falling void SetAirState(); } } // namespace Framework.Actors