Added a race importer. Added imported races to visualizer. Made it so that the host sets the race. Refactored server to no longer be dependant on a specific race. Tested functionality of map manually. Some bugs found and listed below.

#implement #testmanual #story[1275]

Known bugs:
 * Can't move
 * Map is off center in lobby view.
 * 3D Map is off center
This commit is contained in:
Calum
2017-09-23 22:45:53 +12:00
parent 6ca75b2cac
commit 9b00ba654a
23 changed files with 442 additions and 421 deletions
@@ -14,6 +14,7 @@ import java.util.TimerTask;
import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.zip.CRC32;
import java.util.zip.Checksum;
import javafx.util.Pair;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import seng302.gameServer.messages.BoatAction;
@@ -25,8 +26,11 @@ import seng302.gameServer.messages.CustomizeRequestType;
import seng302.gameServer.messages.Message;
import seng302.gameServer.messages.RegistrationRequestMessage;
import seng302.gameServer.messages.RegistrationResponseStatus;
import seng302.gameServer.messages.XMLMessage;
import seng302.gameServer.messages.XMLMessageSubType;
import seng302.model.stream.packets.PacketType;
import seng302.model.stream.packets.StreamPacket;
import seng302.utilities.XMLParser;
/**
* A class describing a single connection to a Server for the purposes of sending and receiving on
@@ -369,4 +373,20 @@ public class ClientToServerThread implements Runnable {
public int getClientId () {
return clientId;
}
public void sendXML(String path, String serverName, int legRepeats) {
Pair<String, String> regattaRace = XMLParser.parseRaceDef(path, serverName, legRepeats);
sendByteBuffer(
new XMLMessage(
regattaRace.getKey(), XMLMessageSubType.REGATTA, regattaRace.getKey().length()
).getBuffer()
);
sendByteBuffer(
new XMLMessage(
regattaRace.getValue(), XMLMessageSubType.RACE, regattaRace.getValue().length()
).getBuffer()
);
}
}