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

28 lines
563 B
C++
Raw Normal View History

#pragma once
#include <thread_pool/thread_pool.h>
2023-01-29 18:58:59 +01:00
#include <entt/entt.hpp>
#include "Scene/Scene.h"
namespace Seele
{
namespace System
{
2023-01-29 18:58:59 +01:00
class SystemBase
{
public:
2023-01-29 18:58:59 +01:00
SystemBase(PScene scene) : registry(scene->registry), scene(scene) {}
virtual ~SystemBase() {}
2023-01-29 18:58:59 +01:00
virtual void run(dp::thread_pool<>& pool, double delta)
2022-11-29 16:34:42 +01:00
{
deltaTime = delta;
2023-01-29 18:58:59 +01:00
update();
}
2023-01-29 18:58:59 +01:00
virtual void update() {}
2022-11-29 16:34:42 +01:00
protected:
double deltaTime;
entt::registry& registry;
2023-01-29 18:58:59 +01:00
PScene scene;
};
2023-01-29 18:58:59 +01:00
DEFINE_REF(SystemBase)
} // namespace System
2023-01-29 18:58:59 +01:00
} // namespace Seele