Using memory arena in the game that supports hot reload
This commit is contained in:
+14
-15
@@ -2,23 +2,22 @@
|
||||
|
||||
#include <Core/Common/CoreTypes.h>
|
||||
#include <Core/Container/Vector.h>
|
||||
#include <game.h>
|
||||
|
||||
namespace Game
|
||||
using EntityID = uint64_t;
|
||||
|
||||
struct Entity;
|
||||
struct EntityManager
|
||||
{
|
||||
using EntityID = uint64_t;
|
||||
static EntityID ID;
|
||||
|
||||
struct Entity;
|
||||
struct EntityManager
|
||||
{
|
||||
static EntityID ID;
|
||||
Juliet::Arena* Arena;
|
||||
|
||||
Juliet::Arena* Arena;
|
||||
// TODO: Should be a pool
|
||||
Juliet::VectorArena<Entity, 1024> Entities;
|
||||
};
|
||||
// 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
|
||||
void InitEntityManager(Juliet::NonNullPtr<World> world);
|
||||
void ShutdownEntityManager();
|
||||
EntityManager& GetEntityManager();
|
||||
void RegisterEntity(EntityManager& manager, Entity* entity);
|
||||
|
||||
Reference in New Issue
Block a user