Core/GameState.cs

Enum GameState in namespace Coilgarden. Declares four high-level application states: MainMenu, Playing, Paused, and GameOver, with comments explaining MainMenu and GameOver behavior.

namespace Coilgarden;

/// <summary>Where the app is.</summary>
public enum GameState
{
	/// <summary>
	/// The title screen. A fresh run is already set up underneath it and waiting for the
	/// player to ask for it - by clicking Play, or by pressing a direction key directly,
	/// which is taken as both "start" and the first turn so a keyboard player's first press
	/// is never swallowed by a menu they did not read.
	/// </summary>
	MainMenu,

	Playing,

	Paused,

	/// <summary>The run ended. Restarting from here is the only way out.</summary>
	GameOver
}