# Поведение экранов

Подтверждённые наблюдения по источнику собраны в [едином конспекте](screens-and-navigation.md). Ниже — предлагаемая модель поведения веб-версии.

## Наша модель для реализации

Каждый экран должен работать с одним состоянием партии: карта, города, активный игрок, выбранная клетка, выбранный юнит, правила сценария, текущий ход. Для доступности команд полезно хранить отдельные причины запрета: не открыт технологический уровень, недостаточно средств, неподходящая цель, чужой ход. Победа должна вычисляться по набору правил текущего сценария, а экран условий показывать те же значения. Эти решения являются предложением архитектуры веб-версии, а не извлечением из руководства.

| Проектный узел | Данные и переход | Проверка согласованности |
|---|---|---|
| Главное меню / настройка | Выбранный режим, карта, народ, правила, сложность; запуск создаёт состояние партии | Предпросмотр сценария и фактически загруженные правила должны совпадать |
| Карта и Info Box | Выбор клетки обновляет выбранный город или юнит; кнопки приказов зависят от выбора | При смене выбора скрывать старые цели и объяснять недоступные команды |
| Приказ с целью | Фаза выбора приказа → выбор клетки → валидация → подтверждение или отмена | Невозможную цель отмечать до расходования хода |
| Город и губернатор | Производство, специалисты, рабочие клетки, область применения настроек | Перед массовым изменением показывать число затронутых городов |
| Дипломатия и шпионаж | Цивилизация → миссия → город → риск/стоимость → исполнение | Цена, доступность и результат должны рассчитываться на одном состоянии |
| Ход и отчёты | Конец хода применяет производство, рост, исследования, события и проверку победы | Отчёт показывает изменение счёта и прогресс по каждому включённому условию; после победы состояние фиксируется |
| Сохранение | Сериализовать состояние карты, игроков, правил и ходов | При загрузке сверять формат и не терять тип партии |

Это предлагаемые инварианты для реализации веб-версии. Они не претендуют на точное повторение внутренних алгоритмов Civilization III.
