Кнопки приказов подсказки и перемещение карты
Доработка основного сайта по изображению пользователя. Буквенные G/F, знак «+» и дополнительная серая рамка заменены исходной графикой. Кнопки используют родной размер 32×32; нормальное состояние — Art/interface/NormButtons.pcx, наведение — RollOverButtons.pcx, нажатие/активный режим — HighlightedButtons.pcx. Везде применена исходная маска ButtonAlpha. Неактивные кнопки приглушаются в интерфейсе.
Основные координаты значков сопоставлены с unit_control.lua закреплённого OpenCiv3. Для основания/присоединения используется один исходный городской значок с контекстом: B основывает город либо присоединяет жителей там, где это действие доступно. Дорожная кнопка показывает железную дорогу, если на клетке уже есть дорога. Общая кнопка работ использует родную кирку.
У кнопок есть подсказки по наведению и клавиатурному фокусу. Они содержат название, клавишу, смысл и причину запрета: нет движения, нужна технология, нужен свой город, действие недоступно этому юниту и другие причины общей проверки команды. Причину можно прочитать и у серой кнопки. Знак действия не заменяется буквой клавиши; клавиша остаётся в подсказке.
Карту можно перетаскивать левой или средней кнопкой мыши и одним пальцем. Порог жеста — 6 пикселей: короткое нажатие сохраняет обычный выбор клетки. После перетаскивания подавляется случайный щелчок. Это действует и при включённом режиме G: перетаскивание не отправляет юнит, режим выбора назначения сохраняется. По краям добавлено свободное пространство, чтобы небольшой фиксированный мир тоже было удобно сдвигать.
Камера меняет только scrollLeft/scrollTop контейнера. Юниты, приказы, фаза хода, PRNG и собственное сохранение не меняются. Положение обзора не включено в файл партии. При старте выбранный юнит центрируется с учётом пространства вокруг холста.
При проверке касания исправлена ошибка передачи Pointer Capture: событие потери захвата дочерним canvas больше не завершает жест, уже переданный контейнеру. Для карты сохраняется возможность штатного pinch-zoom браузера; однопальцевое перемещение обрабатывается приложением.
Проверка настоящего Chromium проверяет размер/рамку, исходные hover/pressed, подсказки мышью/фокусом, причину запрета, перетаскивание левой/средней кнопкой и касанием, неизменность партии, короткий щелчок и контекстный B. Это проверка удобства и нашего интерфейса, а не утверждение о полном воспроизведении всех состояний Windows.
Снимок кнопок и подсказки · Карта после перетаскивания
Ход разработки · Описание инфраструктуры
Дополнение: спираль завершения хода, подсветка пути и занятые рабочие описаны отдельно. Прямоугольная кнопка заменена исходной спиралью в углу правой панели.
Уточнение по замечанию пользователя: перемещение теперь требует явного включения кнопкой или G. Обычный щелчок выбирает/осматривает, маршрут до включения режима не показывается. Повторная кнопка/G, Escape или правая кнопка отменяют режим; после успешного приказа он выключается.