|
SDEngine
Game Engine
|
#include <EntityManager.hpp>
Collaboration diagram for sd::EntityManager< ExtraComponents >:Classes | |
| struct | UnpackGroup |
| struct | UnpackGroup< ComponentGroup< Ts... > > |
| struct | UnpackGroup< std::tuple< Ts... > > |
Public Types | |
| using | all_components = ConcatComponentGroups_t< components::EngineComponents, ExtraComponents > |
| template<typename T > | |
| using | component_info = ComponentTraits< T, all_components > |
| using | ComponentMask = std::bitset< 256 > |
Public Attributes | |
| Arena * | m_pool_arena = nullptr |
| ArenaVec< U32 > | m_generations |
| ArenaVec< U32 > | m_free_list |
| ArenaVec< ComponentPoolNode > | m_component_pools |
| SparseEntitySet< ComponentMask > | m_entity_masks |
Friends | |
| class | RuntimeStateManager |
| using sd::EntityManager< ExtraComponents >::all_components = ConcatComponentGroups_t<components::EngineComponents, ExtraComponents> |
| using sd::EntityManager< ExtraComponents >::component_info = ComponentTraits<T, all_components> |
| using sd::EntityManager< ExtraComponents >::ComponentMask = std::bitset<256> |
| T * sd::EntityManager< ExtraComponents >::add_component | ( | Entity | e, |
| Args &&... | args | ||
| ) |
| T * sd::EntityManager< ExtraComponents >::add_component | ( | Entity | e, |
| Args &&... | args | ||
| ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| T & sd::EntityManager< ExtraComponents >::get_component | ( | Entity | e | ) |
| T & sd::EntityManager< ExtraComponents >::get_component | ( | Entity | e | ) |
| const T & sd::EntityManager< ExtraComponents >::get_component | ( | Entity | e | ) | const |
| const T & sd::EntityManager< ExtraComponents >::get_component | ( | Entity | e | ) | const |
| std::tuple< Components &... > sd::EntityManager< ExtraComponents >::get_component_group | ( | Entity | e | ) |
| std::tuple< Components &... > sd::EntityManager< ExtraComponents >::get_component_group | ( | Entity | e | ) |
| std::tuple< const Components &... > sd::EntityManager< ExtraComponents >::get_component_group | ( | Entity | e | ) | const |
| std::tuple< const Components &... > sd::EntityManager< ExtraComponents >::get_component_group | ( | Entity | e | ) | const |
| SparseEntitySet< T > * sd::EntityManager< ExtraComponents >::get_component_pool | ( | ) |
| SparseEntitySet< T > * sd::EntityManager< ExtraComponents >::get_component_pool | ( | ) |
|
inline |
| bool sd::EntityManager< ExtraComponents >::has_component | ( | Entity | e | ) | const |
| bool sd::EntityManager< ExtraComponents >::has_component | ( | Entity | e | ) | const |
| bool sd::EntityManager< ExtraComponents >::has_component_pool | ( | ) |
| bool sd::EntityManager< ExtraComponents >::has_component_pool | ( | ) |
|
inline |
|
inline |
|
inline |
| T * sd::EntityManager< ExtraComponents >::try_get_component | ( | Entity | e | ) |
| T * sd::EntityManager< ExtraComponents >::try_get_component | ( | Entity | e | ) |
| bool sd::EntityManager< ExtraComponents >::try_remove_component | ( | Entity | e | ) |
| bool sd::EntityManager< ExtraComponents >::try_remove_component | ( | Entity | e | ) |
| auto sd::EntityManager< ExtraComponents >::view | ( | ) |
| auto sd::EntityManager< ExtraComponents >::view | ( | ) |
|
friend |
| ArenaVec<ComponentPoolNode> sd::EntityManager< ExtraComponents >::m_component_pools |
| SparseEntitySet<ComponentMask> sd::EntityManager< ExtraComponents >::m_entity_masks |
| ArenaVec<U32> sd::EntityManager< ExtraComponents >::m_free_list |
| ArenaVec<U32> sd::EntityManager< ExtraComponents >::m_generations |
| Arena* sd::EntityManager< ExtraComponents >::m_pool_arena = nullptr |