25 lines
594 B
C++
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
|