namespace Nox.Core {
    /// <summary>
    /// Add or modify project specific game states
    /// </summary>
    public enum GameState {
        Invalid,
        BootState,
        Loading,
        MainMenu,
        GameMode
    }

    /// <summary>
    /// Prototype for creating application states
    /// </summary>
    public interface IGameState {
        public void EnterGameState();
        public GameState Tick();
        public void LateTick();
        public void ExitGameState();
        void Dispose();
        bool IsGameStateInitialized { get; }
    }
}
