Во-первых, я не имею в виду управление сценой; Я определяю игровое состояние свободно как любой вид состояния в игре, который имеет значение относительно того, должен ли пользовательский ввод быть включен или нет, или некоторые игроки должны быть временно отключены, и т. Д.
В качестве конкретного примера, скажем, это игра классической Battlechess. После того, как я сделал ход, чтобы взять фигуру другого игрока, начинается короткая битва. Во время этой последовательности игроку не разрешается перемещать фигуры. Итак, как бы вы отслеживали такого рода переходы состояний? Конечный автомат? Простая логическая проверка? Кажется, что последний будет хорошо работать только для игры с очень небольшим количеством изменений состояния такого рода.
Я могу придумать много простых способов справиться с этим, используя конечные автоматы, но я также вижу, как они быстро выходят из-под контроля. Мне просто любопытно, есть ли более элегантный способ отслеживать игровые состояния / переходы.