Template Struct ComponentManager::ComponentStorage

Nested Relationships

This struct is a nested type of Class ComponentManager.

Inheritance Relationships

Base Type

  • public prism::scene::ComponentManager::IComponentStorage

Struct Documentation

template<typename T>
struct ComponentStorage : public prism::scene::ComponentManager::IComponentStorage

Конкретная реализация хранилища для типа компонента

Параметры шаблона:

T – Тип компонента

Public Functions

template<typename U>
inline void addComponent(Entity entity, U &&component)
inline bool removeComponent(Entity entity)
inline T *getComponent(Entity entity)
inline bool hasComponent(Entity entity) const
inline void removeEntity(Entity entityId) override

Public Members

std::vector<T> components

Плотный массив компонентов

std::vector<Entity> entities
std::unordered_map<Entity, size_t> entityToIndex