Add ECS framework

This commit is contained in:
Thraix
2023-05-11 22:33:10 +02:00
parent 94d4aa9356
commit 412d74ade3
12 changed files with 673 additions and 0 deletions
@@ -0,0 +1,23 @@
#pragma once
#include "copium/ecs/Config.h"
#include "copium/ecs/EntitySet.h"
#include <vector>
namespace Copium
{
class ComponentPoolBase
{
protected:
EntitySet entities;
public:
virtual ~ComponentPoolBase() = default;
virtual size_t Size() = 0;
virtual void Pop() = 0;
virtual bool Erase(EntityID entity) = 0;
std::vector<EntityID>& GetEntities();
const std::vector<EntityID>& GetEntities() const;
};
}