Files
HydraV3/HydraEngine/source/ecs/HydraSystem.h
T
2026-08-28 16:36:25 +01:00

31 lines
811 B
C++

#ifndef HYDRASYSTEM
#define HYDRASYSTEM
#include "../engine/HydraObject.h"
#include <set>
class HydraSystem : public HydraObject
{
public:
std::set<HydraID> Entities;
std::set<HydraID> EntitiesToCreate;
std::set<HydraID> EntitiesToDelete;
void Update(float delta_t_seconds);
void InitialiseComponents();
void DeleteComponents();
void DeleteComponent(HydraID actor_id);
virtual void InitialiseComponent(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 */