From 4dfe2cf9b61a5e42c900ce32373c041928310765 Mon Sep 17 00:00:00 2001 From: iMoHax Date: Fri, 9 Oct 2015 13:37:20 +0300 Subject: [PATCH] fix compute jump range on change ship --- core/src/main/java/ru/trader/core/Ship.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/core/src/main/java/ru/trader/core/Ship.java b/core/src/main/java/ru/trader/core/Ship.java index cecfe1a..2e008b2 100644 --- a/core/src/main/java/ru/trader/core/Ship.java +++ b/core/src/main/java/ru/trader/core/Ship.java @@ -35,7 +35,7 @@ public class Ship { public void setCargo(int cargo) { this.cargo = cargo; - fuelTable = null; + clearCache(); } public Engine getEngine() { @@ -48,7 +48,7 @@ public class Ship { public void setEngine(Engine engine) { this.engine = engine; - fuelTable = null; + clearCache(); } public double getTank() { @@ -57,6 +57,7 @@ public class Ship { public void setTank(double tank) { this.tank = tank; + clearCache(); } public double getMass() { @@ -65,7 +66,7 @@ public class Ship { public void setMass(double mass) { this.mass = mass; - fuelTable = null; + clearCache(); } public double getLadenMass(){ @@ -167,6 +168,12 @@ public class Ship { this.fuelTable = fuelTable; } + private void clearCache(){ + fuelTable = null; + maxJumpRange = Double.NaN; + ladenJumpRange = Double.NaN; + } + public double getMaxFuel(double distance){ if (distance > getMaxJumpRange()) return 0; if (distance <= getJumpRange()) return tank;