From b2d3be0486aada4828bcc503f96e64d0a3e14b41 Mon Sep 17 00:00:00 2001 From: Light2 Date: Fri, 30 May 2014 19:49:52 +0200 Subject: [PATCH] fixed initialisation of auction items, fixed loading of building signs after server restart --- src/resources/objects/building/BuildingObject.java | 4 ++++ src/services/bazaar/BazaarService.java | 3 ++- src/services/housing/HousingService.java | 1 + src/services/object/ObjectService.java | 6 ++++++ 4 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/resources/objects/building/BuildingObject.java b/src/resources/objects/building/BuildingObject.java index 2c996e3c..1e217d34 100644 --- a/src/resources/objects/building/BuildingObject.java +++ b/src/resources/objects/building/BuildingObject.java @@ -41,6 +41,7 @@ import engine.clientdata.visitors.PortalVisitor; import engine.clients.Client; import engine.resources.objects.Baseline; import engine.resources.objects.IPersistent; +import engine.resources.objects.SWGObject; import engine.resources.scene.Planet; import engine.resources.scene.Point3D; import engine.resources.scene.Quaternion; @@ -212,6 +213,9 @@ public class BuildingObject extends TangibleObject implements IPersistent, Seria public void setBuildingName(String buildingName, CreatureObject owner) { setCustomName(buildingName); ((CreatureObject) owner).sendSystemMessage("Structure renamed.", DisplayType.Broadcast); + SWGObject sign = (SWGObject) getAttachment("sign"); + if(sign != null) + sign.setCustomName(buildingName); } public boolean getResidency(){ diff --git a/src/services/bazaar/BazaarService.java b/src/services/bazaar/BazaarService.java index adf3bd9b..4680e077 100644 --- a/src/services/bazaar/BazaarService.java +++ b/src/services/bazaar/BazaarService.java @@ -91,8 +91,9 @@ public class BazaarService implements INetworkDispatch { addAuctionItem((AuctionItem) cursor.next()); } auctionItems.stream().map(AuctionItem::getItem).forEach(obj -> { + obj.initializeBaselines(); obj.initAfterDBLoad(); - obj.viewChildren(obj, true, true, obj2 -> obj2.initAfterDBLoad()); + obj.viewChildren(obj, true, true, obj2 -> { obj2.initializeBaselines(); obj2.initAfterDBLoad(); }); }); cursor.close(); } diff --git a/src/services/housing/HousingService.java b/src/services/housing/HousingService.java index ce6d289e..20a097ea 100644 --- a/src/services/housing/HousingService.java +++ b/src/services/housing/HousingService.java @@ -139,6 +139,7 @@ public class HousingService implements INetworkDispatch { Vector admins = new Vector<>(); admins.add(actor.getObjectID()); + building.setAttachment("sign", sign); // meh workaround building.setAttachment("structureOwner", actor.getObjectID()); building.setAttachment("structureAdmins", admins); building.setDeedTemplate(deed.getTemplate()); diff --git a/src/services/object/ObjectService.java b/src/services/object/ObjectService.java index 8c2fcf21..0494942f 100644 --- a/src/services/object/ObjectService.java +++ b/src/services/object/ObjectService.java @@ -196,6 +196,12 @@ public class ObjectService implements INetworkDispatch { object.setParent(building); object.getContainerInfo(object.getTemplate()); }); + SWGObject sign = (SWGObject) building.getAttachment("sign"); + if(sign != null) { + sign.initializeBaselines(); + sign.initAfterDBLoad(); + objectList.put(sign.getObjectID(), sign); + } } cursor.close();