Files
Juliet/Game/Entity/EntityManager.h

25 lines
594 B
C++

#pragma once
#include <Core/Common/CoreTypes.h>
#include <Core/Container/Vector.h>
namespace Game
{
using EntityID = uint64_t;
struct Entity;
struct EntityManager
{
static EntityID ID;
Juliet::Arena* Arena;
// TODO: Should be a pool
Juliet::VectorArena<Entity, 1024> Entities;
};
void InitEntityManager(Juliet::NonNullPtr<Juliet::Arena> arena);
void ShutdownEntityManager();
EntityManager& GetEntityManager();
void RegisterEntity(EntityManager& manager, Entity* entity);
} // namespace Game