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

25 lines
526 B
C++
Raw Normal View History

#pragma once
2023-01-29 18:58:59 +01:00
#include "Scene/Scene.h"
2024-06-09 12:20:04 +02:00
#include "ThreadPool.h"
#include <entt/entt.hpp>
2024-06-09 12:20:04 +02:00
namespace Seele {
namespace System {
class SystemBase {
public:
2023-01-29 18:58:59 +01:00
SystemBase(PScene scene) : registry(scene->registry), scene(scene) {}
virtual ~SystemBase() {}
2024-06-09 12:20:04 +02:00
virtual void run(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() {}
2024-06-09 12:20:04 +02:00
protected:
2022-11-29 16:34:42 +01:00
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