preparing serialization of entities

This commit is contained in:
2026-09-06 12:08:31 -04:00
parent d7825270ee
commit 62e6284976
11 changed files with 138 additions and 62 deletions
+12 -3
View File
@@ -28,7 +28,13 @@ void InitEntityManager(NonNullPtr<World> world)
void ShutdownEntityManager()
{
GetEntityManager().Entities.Destroy();
auto& manager = GetEntityManager();
for (typed_entity_array& type : manager.by_type)
{
ArenaRelease(type.arena);
}
manager.Entities.Destroy();
}
EntityManager& GetEntityManager()
@@ -37,8 +43,6 @@ EntityManager& GetEntityManager()
return *entityManager;
}
void Serialize(NonNullPtr<EntityManager> entityManager) {}
entity_template* RegisterEntity(EntityManager& manager, Entity* base, DerivedType entity)
{
base->ID = EntityManager::ID++;
@@ -61,6 +65,11 @@ entity_template* RegisterEntity(EntityManager& manager, Entity* base, DerivedTyp
return ptr;
}
void RegisterBaseEntity(EntityManager& manager, Entity&& base)
{
GetEntityManager().Entities.PushBack(std::move(base));
}
void UpdateEntityManager(EntityManager& manager)
{
// Todo : inert by definition dont move, but this is for test