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