mirror of
https://github.com/ncblakely/GiantsTools
synced 2024-11-22 14:15:37 +01:00
23 lines
429 B
C
23 lines
429 B
C
|
#pragma once
|
||
|
|
||
|
#include "ECS/Public/ISystem.h"
|
||
|
|
||
|
namespace ECS
|
||
|
{
|
||
|
class SystemManager
|
||
|
{
|
||
|
public:
|
||
|
template<typename TSystem>
|
||
|
void AddSystem()
|
||
|
{
|
||
|
m_systems.push_back(std::make_unique<TSystem>());
|
||
|
}
|
||
|
|
||
|
void StartSystems();
|
||
|
void UpdateSystems(float delta);
|
||
|
void ShutdownSystems();
|
||
|
|
||
|
private:
|
||
|
std::vector<std::unique_ptr<ISystem>> m_systems;
|
||
|
};
|
||
|
}
|