33 lines
495 B
C++
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
|
|
};
|
|
|
|
|