33#ifndef DVD_ECS_SYSTEM_INL_
34#define DVD_ECS_SYSTEM_INL_
41 template<
class T,
class U>
49 template<
class T,
class U>
56 template<
class T,
class U>
60 inputBuffer >> tempVer;
64 template<
class T,
class U>
69 template<
class T,
class U>
75 template<
class T,
class U>
81 template<
class T,
class U>
89 const auto container = _engine.GetComponentManager()->GetComponentContainer<U>();
90 const size_t compCount = container->size();
91 _componentCache.resize(compCount);
93 auto iterBegin = container->begin();
94 for (
size_t idx = 0u; idx < compCount; ++idx)
96 _componentCache[idx] = &*iterBegin;
102 template<
class T,
class U>
#define PROFILE_SCOPE_AUTO(CATEGORY)
virtual bool saveCache(const SceneGraphNode *sgn, ByteBuffer &outputBuffer)
void PreUpdate(F32 dt) override
virtual bool loadCache(SceneGraphNode *sgn, ByteBuffer &inputBuffer)
ECSSystem(ECS::ECSEngine &engine)
void OnFrameStart() override
void PostUpdate(F32 dt) override
void OnFrameEnd() override
ECSSerializer< T, U > _serializer
void Update(F32 dt) override
vector< U * > _componentCache
constexpr U16 MAX_VISIBLE_NODES
Estimated maximum number of visible objects per render pass (this includes debug primitives)
constexpr Optick::Category::Type GameLogic
Handle console commands that start with a forward slash.
constexpr U16 BYTE_BUFFER_VERSION_ECS_MANAGER