From 576b2bd8be6f533a3272e055c32fb8e0de4497b6 Mon Sep 17 00:00:00 2001 From: Obique PSWG Date: Mon, 30 May 2016 00:16:48 -0500 Subject: [PATCH] Added parent to serialized output --- src/resources/objects/SWGObject.java | 31 +++++++++------------------- 1 file changed, 10 insertions(+), 21 deletions(-) diff --git a/src/resources/objects/SWGObject.java b/src/resources/objects/SWGObject.java index 91e73de5d..3d702edb6 100644 --- a/src/resources/objects/SWGObject.java +++ b/src/resources/objects/SWGObject.java @@ -58,6 +58,7 @@ import resources.player.Player; import resources.player.PlayerState; import resources.server_info.Log; import services.CoreManager; +import services.objects.ObjectCreator; import java.util.ArrayList; import java.util.Collection; @@ -1077,28 +1078,14 @@ public abstract class SWGObject extends BaselineObject implements Comparable attributes; - private ContainerPermissions containerPermissions; - private ObjectClassification classification = ObjectClassification.GENERATED; - private String objectName = ""; - private int volume = 0; - private float complexity = 1; - private int containerType = 0; - private double loadRange = 0; - private int areaId = -1; - - private final HashMap slots; - private final Map containedObjects; - */ @Override public void save(NetBufferStream stream) { - stream.addByte(0); + stream.addByte(1); location.save(stream); - containerPermissions.save(stream); + ContainerPermissionsFactory.save(containerPermissions, stream); + stream.addBoolean(parent != null && parent.getClassification() != ObjectClassification.GENERATED); + if (parent != null && parent.getClassification() != ObjectClassification.GENERATED) + SWGObjectFactory.save(ObjectCreator.createObjectFromTemplate(parent.getObjectId(), parent.getTemplate()), stream); synchronized (attributes) { stream.addMap(attributes, (e) -> { stream.addAscii(e.getKey()); @@ -1122,9 +1109,11 @@ public abstract class SWGObject extends BaselineObject implements Comparable= 1 && stream.getBoolean()) + parent = SWGObjectFactory.create(stream); stream.getList((i) -> attributes.put(stream.getAscii(), stream.getAscii())); classification = ObjectClassification.valueOf(stream.getAscii()); objectName = stream.getUnicode();