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