31 lines
811 B
C++
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 */
|