Files
HydraV3/HydraEngine/source/ecs/systems/HydraTransformSystem.h
T
2026-07-17 15:30:29 +01:00

28 lines
819 B
C++

#ifndef HYDRAECSTRANSFORMSYSTEM
#define HYDRAECSTRANSFORMSYSTEM
#include "../../engine/HydraObject.h"
#include "../HydraSystem.h"
#include <GLMIncludes.h>
#include <queue>
class HydraTransformSystem : public HydraSystem
{
public:
void UpdateTransform(HydraID actor_id);
void Initialise() override;
protected:
virtual void UpdateSystem(float delta_t_seconds) override;
void InitialiseComponent(HydraID actor_id) override;
private:
void _UpdateChild(HydraID parent_id, HydraID actor_id, glm::mat4 parent_transform);
void _WriteToGPU();
HydraID m_transform_buffer_id = INVALID_HYDRA_ID;
std::queue<HydraID> m_entities_to_update;
std::vector<glm::mat4> m_model_matrix;
};
#endif /* HYDRAECSTRANSFORMSYSTEM */