33#ifndef DVD_ECS_SYSTEM_H_
34#define DVD_ECS_SYSTEM_H_
43 template<
class T,
class U>
53 template<
class T,
class U>
58 return _parent->saveCache(sgn, outputBuffer);
63 return _parent->loadCache(sgn, inputBuffer);
69 template<
class T,
class U>
virtual bool saveCache(const SceneGraphNode *sgn, ByteBuffer &outputBuffer)
virtual ~ECSSystem() override=default
void PreUpdate(F32 dt) override
virtual bool loadCache(SceneGraphNode *sgn, ByteBuffer &inputBuffer)
ECS::ISystemSerializer & GetSerializer() noexcept override
const ECS::ISystemSerializer & GetSerializer() const noexcept override
void OnFrameStart() override
void PostUpdate(F32 dt) override
void OnFrameEnd() override
ECSSerializer< T, U > _serializer
void Update(F32 dt) override
vector< U * > _componentCache
Handle console commands that start with a forward slash.
eastl::vector< Type > vector
bool loadCache(SceneGraphNode *sgn, ByteBuffer &inputBuffer) override
bool saveCache(const SceneGraphNode *sgn, ByteBuffer &outputBuffer) override
ECSSystem< T, U > * _parent
virtual ~ECSSerializerProxy()=default
virtual bool loadCache(SceneGraphNode *sgn, ByteBuffer &inputBuffer)=0
virtual bool saveCache(const SceneGraphNode *sgn, ByteBuffer &outputBuffer)=0