Finish screen

This commit is contained in:
William Muir
2017-08-16 23:36:45 +12:00
parent 65286f273b
commit a59d06fbbf
2 changed files with 24 additions and 13 deletions
+9 -2
View File
@@ -31,13 +31,13 @@ public class ClientYacht extends Observable {
private Logger logger = LoggerFactory.getLogger(ClientYacht.class); private Logger logger = LoggerFactory.getLogger(ClientYacht.class);
//BOTH AFAIK
private String boatType; private String boatType;
private Integer sourceId; private Integer sourceId;
private String hullID; //matches HullNum in the XML spec. private String hullID; //matches HullNum in the XML spec.
private String shortName; private String shortName;
private String boatName; private String boatName;
private String country; private String country;
private Integer position;
private Long estimateTimeAtFinish; private Long estimateTimeAtFinish;
private Boolean sailIn = true; private Boolean sailIn = true;
@@ -50,7 +50,6 @@ public class ClientYacht extends Observable {
private Integer boatStatus; private Integer boatStatus;
private Double currentVelocity; private Double currentVelocity;
//CLIENT SIDE
private List<YachtLocationListener> locationListeners = new ArrayList<>(); private List<YachtLocationListener> locationListeners = new ArrayList<>();
private ReadOnlyDoubleWrapper velocityProperty = new ReadOnlyDoubleWrapper(); private ReadOnlyDoubleWrapper velocityProperty = new ReadOnlyDoubleWrapper();
private ReadOnlyLongWrapper timeTillNextProperty = new ReadOnlyLongWrapper(); private ReadOnlyLongWrapper timeTillNextProperty = new ReadOnlyLongWrapper();
@@ -189,6 +188,14 @@ public class ClientYacht extends Observable {
return location; return location;
} }
public Integer getPosition() {
return position;
}
public void setPosition(Integer position) {
this.position = position;
}
public void toggleSail() { public void toggleSail() {
sailIn = !sailIn; sailIn = !sailIn;
} }
@@ -15,6 +15,7 @@ import javafx.scene.layout.Pane;
import seng302.gameServer.GameState; import seng302.gameServer.GameState;
import seng302.gameServer.MainServerThread; import seng302.gameServer.MainServerThread;
import seng302.gameServer.server.messages.BoatAction; import seng302.gameServer.server.messages.BoatAction;
import seng302.gameServer.server.messages.BoatStatus;
import seng302.model.ClientYacht; import seng302.model.ClientYacht;
import seng302.model.RaceState; import seng302.model.RaceState;
import seng302.model.stream.packets.StreamPacket; import seng302.model.stream.packets.StreamPacket;
@@ -320,14 +321,10 @@ public class GameClient {
} }
boolean raceFinished = true; boolean raceFinished = true;
for (ClientYacht yacht : allBoatsMap.values()) { for (ClientYacht yacht : allBoatsMap.values()) {
if (yacht.getBoatStatus() != 3) { if (yacht.getBoatStatus() != BoatStatus.FINISHED.getCode()) {
raceFinished = false; raceFinished = false;
} }
} }
if (raceFinished) {
close();
loadFinishScreenView();
}
for (long[] boatData : data.getBoatData()) { for (long[] boatData : data.getBoatData()) {
ClientYacht clientYacht = allBoatsMap.get((int) boatData[0]); ClientYacht clientYacht = allBoatsMap.get((int) boatData[0]);
@@ -337,14 +334,21 @@ public class GameClient {
clientYacht.setBoatStatus((int) boatData[4]); clientYacht.setBoatStatus((int) boatData[4]);
if (legNumber != clientYacht.getLegNumber()) { if (legNumber != clientYacht.getLegNumber()) {
clientYacht.setLegNumber(legNumber); clientYacht.setLegNumber(legNumber);
updatePlayerPositions();
}
}
if (raceFinished) {
close();
loadFinishScreenView();
}
}
}
private void updatePlayerPositions() {
raceState.sortPlayers(); raceState.sortPlayers();
// System.out.println("ORDER:"); for (ClientYacht yacht : raceState.getPlayerPositions()) {
// for (ClientYacht clientYacht1 : raceState.getPlayerPositions()) { yacht.setPosition(raceState.getPlayerPositions().indexOf(yacht) + 1);
// System.out.println(clientYacht1.getShortName());
// }
// System.out.println();
}
}
} }
} }