Serialization : started to unify how to allocate entity whether its from MakeEntity or during deserialization.
This commit is contained in:
+13
-10
@@ -1,16 +1,18 @@
|
||||
#pragma once
|
||||
|
||||
#include <Core/Container/Vector.h>
|
||||
#include <Entity/Entity.h>
|
||||
#include <Entity/entity_common.h>
|
||||
|
||||
struct Entity;
|
||||
struct World;
|
||||
struct EntityTemplate;
|
||||
struct Entity;
|
||||
struct Class;
|
||||
|
||||
struct typed_entity_array
|
||||
{
|
||||
Arena* arena;
|
||||
entity_template* array;
|
||||
size_t count;
|
||||
Arena* arena;
|
||||
EntityTemplate* array;
|
||||
size_t count;
|
||||
};
|
||||
|
||||
struct EntityManager
|
||||
@@ -23,8 +25,9 @@ struct EntityManager
|
||||
typed_entity_array by_type[ENTITY(Count)];
|
||||
};
|
||||
|
||||
void InitEntityManager(NonNullPtr<World> world);
|
||||
void ShutdownEntityManager();
|
||||
EntityManager& GetEntityManager();
|
||||
entity_template* RegisterEntity(EntityManager& manager, Entity* base, DerivedType entity);
|
||||
void UpdateEntityManager(EntityManager& manager);
|
||||
void InitEntityManager(NonNullPtr<World> world);
|
||||
void ShutdownEntityManager();
|
||||
EntityManager& GetEntityManager();
|
||||
EntityTemplate* RegisterEntity(EntityManager& manager, Entity* base, DerivedType entity);
|
||||
[[nodiscard]] Entity* allocate_entity(EntityManager& manager, NonNullPtr<Class> derived_type_class);
|
||||
void UpdateEntityManager(EntityManager& manager);
|
||||
|
||||
Reference in New Issue
Block a user