22 lines
768 B
C#
22 lines
768 B
C#
namespace FlappyBird.Core
|
|
{
|
|
/// <summary>
|
|
/// Contract for the central game-state service.
|
|
/// Matches the interface defined in AI_RULES.md.
|
|
/// </summary>
|
|
public interface IGameStateManager
|
|
{
|
|
/// <summary>The currently active game state.</summary>
|
|
GameState CurrentState { get; }
|
|
/// <summary>
|
|
/// Transitions to <paramref name="newState"/>.
|
|
/// Fires <see cref="OnStateChanged"/> after the transition completes.
|
|
/// </summary>
|
|
void ChangeState(GameState newState);
|
|
/// <summary>
|
|
/// Fired every time the game state changes.
|
|
/// Passes the new <see cref="GameState"/> value.
|
|
/// </summary>
|
|
event System.Action<GameState> OnStateChanged;
|
|
}
|
|
} |