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

28 lines
543 B
C++
Raw Normal View History

#pragma once
2023-01-29 18:58:59 +01:00
#include <entt/entt.hpp>
2023-12-17 16:16:46 +01:00
#include "ThreadPool.h"
2023-01-29 18:58:59 +01:00
#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-12-17 16:16:46 +01:00
virtual void run(ThreadPool& 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