Действительно ли действительно необходимо?Или вы можете просто использовать
enum GameState
{
Menu
Game_Playing
Game_Paused
...
}
Если вам действительно нужно продвинутое поведение, вам понадобится более интеллектуальное перечисление, состоящее из классов и подклассов.Что-то вроде:
abstract class GameState { }
class Menu : GameState { }
class Game : GameState
{
private class _Playing : GameState { }
private class _Paused : GameState { }
static readonly GameState Playing = new _Playing();
static readonly GameState Paused = new _Paused();
}
Это действительно того стоит?