Serialization : started to unify how to allocate entity whether its from MakeEntity or during deserialization.
This commit is contained in:
+8
-16
@@ -2,22 +2,6 @@
|
||||
|
||||
#include <Core/Common/serialization.h>
|
||||
|
||||
namespace
|
||||
{
|
||||
void serialize_entity(Archive& ar, uint16 /*version*/, void* payload)
|
||||
{
|
||||
Assert(payload);
|
||||
Entity* entity = static_cast<Entity*>(payload);
|
||||
|
||||
SERIALIZE(ar, id, entity->ID);
|
||||
SERIALIZE(ar, position, entity->position);
|
||||
}
|
||||
} // namespace
|
||||
|
||||
DEFINE_CLASS_VERSIONED(Entity, 1, nullptr, serialize_entity)
|
||||
|
||||
DEFINE_ENTITY_VERSIONED(Inert, 1, nullptr)
|
||||
|
||||
void serialize(Archive& ar, NonNullPtr<Entity> entity)
|
||||
{
|
||||
// Entity fields
|
||||
@@ -29,3 +13,11 @@ void serialize(Archive& ar, NonNullPtr<Entity> entity)
|
||||
serialize(ar, entity->derived_kind, entity->derived);
|
||||
}
|
||||
}
|
||||
|
||||
DEFINE_CLASS_VERSIONED(Entity, 1, nullptr)
|
||||
|
||||
internal void serialize(Archive& ar, uint16 /*version*/, Entity& entity)
|
||||
{
|
||||
SERIALIZE(ar, id, entity.ID);
|
||||
SERIALIZE(ar, position, entity.position);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user