Files
HydraV3/HydraEngine/source/ecs/HydraSystem.h
T

31 lines
811 B
C++
Raw Normal View History

2026-07-17 15:30:29 +01:00
#ifndef HYDRASYSTEM
#define HYDRASYSTEM
#include "../engine/HydraObject.h"
#include <set>
class HydraSystem : public HydraObject
{
public:
std::set<HydraID> Entities;
std::set<HydraID> EntitiesToCreate;
2026-08-28 16:36:25 +01:00
std::set<HydraID> EntitiesToDelete;
2026-07-17 15:30:29 +01:00
void Update(float delta_t_seconds);
2026-08-28 16:36:25 +01:00
void InitialiseComponents();
void DeleteComponents();
void DeleteComponent(HydraID actor_id);
2026-08-25 22:10:54 +01:00
virtual void InitialiseComponent(HydraID actor_id) {};
2026-08-28 16:36:25 +01:00
2026-08-17 21:44:00 +01:00
virtual void Shutdown();
2026-07-17 15:30:29 +01:00
virtual void Initialise(){};
protected:
2026-08-28 16:36:25 +01:00
virtual void UpdateSystem(float delta_t_seconds) = 0;
2026-08-17 21:44:00 +01:00
virtual void DestroyComponent(HydraID actor_id) {};
virtual void FreeSystemResources(){};
2026-07-17 15:30:29 +01:00
};
#endif /* HYDRASYSTEM */