Add Scene with systems

- Add Scene class which populates the engine with Systems which handles
  all logic in the game
- Add Systems to ecs
This commit is contained in:
Thraix
2023-05-20 19:45:15 +02:00
parent 05d2c2940b
commit 84b24457a0
20 changed files with 626 additions and 42 deletions
@@ -0,0 +1,35 @@
#pragma once
#include <vector>
#include <map>
#include <typeindex>
namespace Copium
{
class SystemPool;
class SystemOrderer
{
private:
std::type_index systemId;
SystemPool* systemPool = nullptr;
public:
SystemOrderer(std::type_index systemId, SystemPool* systemPool);
template <typename Other>
void Before()
{
Before(typeid(Other));
}
template <typename Other>
void After()
{
After(typeid(Other));
}
private:
void Before(const std::type_index& otherSystemId);
void After(const std::type_index& otherSystemId);
};
}