Class Scene
Defined in File scene.h
Class Documentation
-
class Scene
Основной класс сцены, объединяющий менеджеры сущностей, компонентов и систем
Координирует работу всех подсистем ECS (Entity-Component-System)
Public Functions
-
Scene() = default
-
bool destroyEntity(Entity entityId)
Удаляет сущность со сцены
Удаляет все компоненты сущности перед ее уничтожением
- Параметры:
entityId – Идентификатор сущности для удаления
- Результат:
true если сущность успешно удалена
-
void enableSystem(SystemId systemId)
Включает систему на сцене
- Параметры:
systemId – Идентификатор системы для включения
-
void disableSystem(SystemId systemId)
Выключает систему на сцене
- Параметры:
systemId – Идентификатор системы для выключения
-
inline void update(float deltaTime)
Обновляет все активные системы сцены
См. также
- Параметры:
deltaTime – Время, прошедшее с предыдущего обновления
-
template<typename T>
inline bool addComponent(Entity entityId, T component) Добавляет компонент к сущности на сцене
- Параметры шаблона:
T – Тип компонента
- Параметры:
entityId – Идентификатор сущности
component – Компонент для добавления
- Результат:
true если компонент успешно добавлен
-
template<typename T>
inline bool removeComponent(Entity entityId) Удаляет компонент у сущности на сцене
- Параметры шаблона:
T – Тип компонента
- Параметры:
entityId – Идентификатор сущности
- Результат:
true если компонент существовал и был удален
-
template<typename T>
inline T *getComponent(Entity entityId) Получает компонент сущности
- Параметры шаблона:
T – Тип компонента
- Параметры:
entityId – Идентификатор сущности
- Результат:
Указатель на компонент или nullptr если не найден
-
template<typename T>
inline std::set<Entity> &getEntitiesWith() Получает все сущности, имеющие компонент указанного типа
- Параметры шаблона:
T – Тип компонента
- Результат:
Ссылка на множество сущностей с компонентом
-
template<typename ...ComponentTypes>
inline std::set<Entity> getEntitiesWithAll() Получает сущности, имеющие все указанные типы компонентов
- Параметры шаблона:
ComponentTypes – Типы компонентов для поиска
- Результат:
Множество сущностей, содержащих все запрошенные компоненты
-
template<typename T, typename ...Args>
inline SystemId registerSystem(Args&&... args) Регистрирует новую систему на сцене
- Параметры шаблона:
T – Тип системы (должен наследоваться от ISystem)
Args – Типы аргументов для конструктора системы
- Параметры:
args – Аргументы для передачи в конструктор системы
- Результат:
Идентификатор зарегистрированной системы
-
Scene() = default