reckfellENGINE

Организовать уровень и зависимости префабов

Кто создаёт объекты, кто хранит состояние и кто снимает подписки; проверяемая структура вместо глубокой сети путей.

На этой странице

Разделить ответственность

У корня уровня держите контроллер сценария и контейнеры по смыслу: мир, интерфейс, локальные эффекты. Префаб персонажа содержит его собственные визуальные и физические части. Общая сессия живёт вне заменяемого корня только тогда, когда должна пережить его удаление.

Это объектная иерархия Entity. Имена контейнеров не превращают её в ECS и не добавляют streaming. Количество детей само по себе не является измерением производительности.

ВопросНазначьте ответственного
Кто создаёт и удаляет противника?Контроллер уровня или явный спавнер
Кто меняет здоровье?Компонент здоровья с ограниченным API
Кто слушает событие смерти?Внешний контроллер, которому это нужно
Кто отображает счёт сессии?HUD с подпиской и начальным снимком
Кто освобождает отсоединённую комнату?Хост/кэш, который её удерживает

Передать зависимость, а не угадывать окружение

Внутренний стабильный путь ребёнка допустим, когда префаб действительно владеет этой структурой. Для внешней цели передавайте ссылку или данные до AddChild. Для сообщения о намерении используйте сигнал; источник не обязан искать родителя нужного уровня.

Уникальный %Name помогает внутри области Owner, но не является глобальным поиском службы. /root/SessionState — явный контракт автозагрузки, а не образец пути, который нужно размножить по всем локальным компонентам.

Не смешивать три вида владения

Parent задаёт иерархию и освобождение детей при удалении родителя. Owner определяет принадлежность сохраняемому PackedEntity. Ответственность за игровую операцию — ваше архитектурное решение, а не дополнительное свойство Entity.

После RemoveChild native-объект остаётся живым. RetainedLevelHost показывает явного владельца отсоединённых корней и освобождает неактивные комнаты при выходе. Если просто убрать Parent и забыть объект, структура уровня больше не обеспечит его удаление.

Проверка до расширения проекта

Запустите префаб отдельно, создайте два экземпляра, удалите один, переместите локальный ребёнок, смените уровень и верните отсоединённый интерфейс. Проверьте, что второй экземпляр не зависит от полей первого, внешний сигнал не удерживает удалённый HUD, а _Ready не используется как единственный механизм повторной подписки.

Для исполняемых образцов используйте групповой компонент, сессию и HUD, жизненный цикл и поиск в области Owner. Проверки связывают эти границы с реальными объектами, а не только с диаграммой папок.

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.