- Загрузка объектов из JSON
- Отображение их состояния в UI
- Взаимодействие (E), смена активности
- Поддержка режима UI (Tab)
- Сохранение текущего состояния в JSON при выходе из игры
WASD
— передвижениеMouse
— поворот камеройE
— взаимодействиеTab
— переключение UI
Проект построен по шаблону Model-View-Controller:
-
Model (Модель):
UObjectModel
управляет всеми объектами в сцене.- Хранит список
FObjectData
, загружаемых/сохраняемых из JSON. - Делегат
OnObjectUpdated
уведомляет View о любых изменениях. - Состояния обновляются централизованно через
ToggleActiveById()
.
-
View (Представление):
AObjectActor
отображает объект в 3D, подписан на обновления модели.WBP_ObjectEntry
отображает UI-строку состояния объекта.- Ни один View не содержит бизнес-логики и не изменяет модель напрямую.
-
Controller (Контроллер):
TFCATOCharacter
управляет вводом (E, Tab) и вызывает изменения в модели.TFCATOGameMode
загружает/спавнит объекты, инициализирует модель.- Кнопка
"Завершить сессию"
вызывает выход из игры, сохранение — вEndPlay()
.