Refactor game structure and update project settings for 2D gameplay. Removed the game stub scene, introduced a new vault scene, and organized game scripts into distinct files for grid management, rendering, and scene control. Updated input actions for camera movement and changed rendering method to Mobile for better performance.
This commit is contained in:
@@ -5,8 +5,8 @@
|
||||
## Что это за проект
|
||||
|
||||
Двумерная игра с видом сбоку на Godot 4.7. Референс — Fallout Shelter: разрез убежища,
|
||||
комнаты в сетке, жители. **Игра полностью 2D.** Если встречаете 3D-узлы — это остатки
|
||||
заглушки, а не направление проекта.
|
||||
комнаты в сетке, жители. **Игра полностью 2D**, рендерер Mobile. Новые игровые сцены —
|
||||
на `Node2D`/`Control`; 3D-узлам в проекте места нет.
|
||||
|
||||
## Работа через MCP, а не через файлы
|
||||
|
||||
@@ -46,12 +46,27 @@
|
||||
- Единая тема `themes/main_menu.theme.tres` на корне каждого экрана. Цвета в узлах не хардкодим.
|
||||
- Экран = сцена со своим скриптом, наружу торчат `open()` / `close()` и сигнал `closed`.
|
||||
- Оверлеи центрируются `CenterContainer`, а **не** пресетом `center`: пресет ставит левый
|
||||
верхний угол карточки в центр экрана.
|
||||
верхний угол карточки в центр экрана. Та же ловушка у `bottom_wide` — он прижимает к нижнему
|
||||
краю *верх* панели, и она уезжает за экран; для нижней панели используйте `MarginContainer`
|
||||
во весь экран + `HBoxContainer` с `size_flags_vertical = SIZE_SHRINK_END` у содержимого.
|
||||
- Контейнеры не раскладывают скрытые узлы — после `visible = true` нужен
|
||||
`await get_tree().process_frame`, прежде чем читать `size` (например, для `pivot_offset`).
|
||||
- Наведение мышью делается фокусом (`mouse_entered` → `grab_focus`), чтобы у мыши и клавиатуры
|
||||
была одна подсветка.
|
||||
|
||||
## Игровой слой
|
||||
|
||||
Три файла в `scripts/game/`, разделены намеренно:
|
||||
|
||||
- `vault_grid.gd` — только данные и правила (`RefCounted`, без узлов). Сюда идут изменения
|
||||
логики: типы комнат, размещение, ресурсы.
|
||||
- `vault_view.gd` — только `_draw()`. Сюда идут изменения картинки. Когда появится графика,
|
||||
переписывается этот файл, остальные не трогаются.
|
||||
- `vault_scene.gd` — связка модели, вида, камеры и HUD плюс контракт сохранения.
|
||||
|
||||
Новый тип комнаты добавляется одной записью в `VaultGrid.KINDS`: кнопка в панели строительства
|
||||
и подсчёт ресурсов подхватятся сами.
|
||||
|
||||
## Автозагрузки
|
||||
|
||||
`GameSettings` (`GameSettingsService`) и `SaveManager` (`SaveManagerService`).
|
||||
|
||||
Reference in New Issue
Block a user