Files
Seele/src/Engine/System/SystemBase.h
T

28 lines
543 B
C++

#pragma once
#include <entt/entt.hpp>
#include "ThreadPool.h"
#include "Scene/Scene.h"
namespace Seele
{
namespace System
{
class SystemBase
{
public:
SystemBase(PScene scene) : registry(scene->registry), scene(scene) {}
virtual ~SystemBase() {}
virtual void run(ThreadPool& pool, double delta)
{
deltaTime = delta;
update();
}
virtual void update() {}
protected:
double deltaTime;
entt::registry& registry;
PScene scene;
};
DEFINE_REF(SystemBase)
} // namespace System
} // namespace Seele