#ifndef HYDRASYSTEM #define HYDRASYSTEM #include "../engine/HydraObject.h" #include class HydraSystem : public HydraObject { public: std::set Entities; std::set EntitiesToCreate; void Update(float delta_t_seconds); void InitialiseComponents(); virtual void InitialiseComponent(HydraID actor_id) {}; void DestroyComponents(HydraID actor_id); virtual void Shutdown(); virtual void Initialise(){}; protected: virtual void UpdateSystem(float delta_t_seconds) = 0; virtual void DestroyComponent(HydraID actor_id) {}; virtual void FreeSystemResources(){}; }; #endif /* HYDRASYSTEM */