2d-platformer/Engine-Core/include/Entities/EntityManager.h

33 lines
495 B
C++

#pragma once
#include <cstddef>
#include <utility.h>
#include <Entities/EntityMemoryPool.h>
#include <Containers.h>
class EntityView;
class Entity;
class EntityManager
{
public:
int update();
EntityView getEntities(tag_t);
inline Entity player();
Entity addEntity(tag_t);
private:
EntityMemoryPool m_entityData;
size_t m_nextId{};
index_t m_numEntities[util::TAG_COUNT]{};
index_t m_numEntitiesToAdd[util::TAG_COUNT]{};
#ifdef CORE_DEBUG
index_t m_totalEntities{};
#endif
};