#ifndef HYDRAECSTRANSFORMSYSTEM #define HYDRAECSTRANSFORMSYSTEM #include "../../engine/HydraObject.h" #include "../HydraSystem.h" #include #include 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 m_entities_to_update; std::vector m_model_matrix; }; #endif /* HYDRAECSTRANSFORMSYSTEM */