namespace FlappyBird.Bird
{
///
/// Contract for the bird physics controller service.
/// Separates logic from the MonoBehaviour view layer.
///
public interface IBirdController
{
/// Attaches the spawned bird view to the controller.
void Bind(BirdView view);
/// Initializes the bird at the given spawn position and freezes physics.
void Initialize();
/// Applies an upward impulse and enables physics simulation.
void Jump();
/// Reports a lethal collision from the view layer.
void HandleCollision();
///
/// Enables or disables input processing.
/// Pass false to freeze the bird before the first tap.
///
void SetInputEnabled(bool enabled);
/// Called every fixed-update tick to apply rotation.
void FixedTick();
}
}