24 lines
672 B
C++
24 lines
672 B
C++
#pragma once
|
|
|
|
#include "../../renderable.h"
|
|
|
|
namespace simpleengine::ecs {
|
|
class Entity;
|
|
class Registry;
|
|
|
|
namespace system {
|
|
class System : public simpleengine::Renderable {
|
|
protected:
|
|
std::shared_ptr<Registry> entity_registry;
|
|
public:
|
|
System(std::shared_ptr<Registry> entity_registry);
|
|
|
|
ecs::Entity create_entity();
|
|
|
|
virtual void update(const float& delta_time) = 0;
|
|
virtual void input_update(const float& delta_time) = 0;
|
|
virtual void render(const float& interpolate_alpha, const float& frame_time) = 0;
|
|
virtual void destroy() = 0;
|
|
};
|
|
}
|
|
} |