Browse Source

Mine serialized loc is the tower loc. No need to store offsets in a table to reconstruct this loc.

master
MagicBot 2 years ago
parent
commit
7d655bc44b
  1. 33
      src/engine/objects/Mine.java

33
src/engine/objects/Mine.java

@ -54,11 +54,6 @@ public class Mine extends AbstractGameObject {
public GuildTag nationTag; public GuildTag nationTag;
private final String zoneName; private final String zoneName;
private Resource production; private Resource production;
private final float latitude;
private final float longitude;
//flags 1: never been claimed (make active).
private final float altitude;
private Guild owningGuild; private Guild owningGuild;
private int flags; private int flags;
private int buildingID; private int buildingID;
@ -80,21 +75,7 @@ public class Mine extends AbstractGameObject {
this.flags = rs.getInt("flags"); this.flags = rs.getInt("flags");
int parent = rs.getInt("parent"); int parent = rs.getInt("parent");
this.parentZone = ZoneManager.getZoneByUUID(parent); this.parentZone = ZoneManager.getZoneByUUID(parent);
if (parentZone != null) { this.zoneName = this.parentZone.getParent().getName();
this.latitude = parentZone.getLoc().x + offsetX;
this.longitude = parentZone.getLoc().z + offsetZ;
this.altitude = parentZone.getLoc().y;
if (this.parentZone.getParent() != null)
this.zoneName = this.parentZone.getParent().getName();
else
this.zoneName = this.parentZone.getName();
} else {
Logger.error("Missing parentZone of ID " + parent);
this.latitude = -1000;
this.longitude = 1000;
this.altitude = 0;
this.zoneName = "Unknown Mine";
}
this.owningGuild = Guild.getGuild(ownerUID); this.owningGuild = Guild.getGuild(ownerUID);
Guild nation = null; Guild nation = null;
@ -230,9 +211,11 @@ public class Mine extends AbstractGameObject {
writer.putLocalDateTime(mineOpenTime.plusHours(1)); writer.putLocalDateTime(mineOpenTime.plusHours(1));
writer.put(mine.isActive ? (byte) 0x01 : (byte) 0x00); writer.put(mine.isActive ? (byte) 0x01 : (byte) 0x00);
writer.putFloat(mine.latitude); Building mineTower = BuildingManager.getBuilding(mine.buildingID);
writer.putFloat(mine.altitude); writer.putFloat(mineTower.getLoc().x);
writer.putFloat(mine.longitude); writer.putFloat(mineTower.getParentZone().getLoc().y);
writer.putFloat(mineTower.getLoc().z);
writer.putInt(mine.isExpansion() ? mine.mineType.xpacHash : mine.mineType.hash); writer.putInt(mine.isExpansion() ? mine.mineType.xpacHash : mine.mineType.hash);
writer.putString(mine.guildName); writer.putString(mine.guildName);
@ -369,10 +352,6 @@ public class Mine extends AbstractGameObject {
return this.isActive; return this.isActive;
} }
public float getAltitude() {
return this.altitude;
}
public Guild getOwningGuild() { public Guild getOwningGuild() {
if (this.owningGuild == null) if (this.owningGuild == null)
return Guild.getErrantGuild(); return Guild.getErrantGuild();

Loading…
Cancel
Save