#ifndef HYDRAPOINTSHADOWSOURCESYSTEM #define HYDRAPOINTSHADOWSOURCESYSTEM #include "../../engine/HydraObject.h" #include "../HydraSystem.h" #include "../components/HydraPointShadowSourceComponent.h" #include #include #include #include class HydraPointShadowSourceSystem : public HydraSystem { public: virtual void Initialise() override; void InitialiseComponent(HydraID entity_id) override; protected: void UpdateSystem(float delta_t_seconds) override; void DestroyComponent(HydraID entity_id) override; private: void _UpdateShadowMap(HydraID entity_id); void _InitialiseShadowMap(HydraID entity_id); std::mutex m_mutex; }; #endif /* HYDRAPOINTSHADOWSOURCESYSTEM */