LatestMessages can hold MarkRounding messages. It also holds XMLMessage for each message type.

MockOutput now uses LatestMessages for xml messages.
Moved xml message encoding into RaceVisionByteEncoder. Removed XMLMessageEncoder.
Moved XML message sub types into an enumeration (XMLMessageType).
XMLMessage can now be queried for its attributes (like timestamp, length, etc...).

VisualiserInput now uses LatestMessages.
VisualiserInput now (as it did previously) uses switch statements for checking packet type, instead of if statements.
VisualiserRace now uses LatestMessages instead of VisualiserInput.
This commit is contained in:
fjc40
2017-07-07 02:05:21 +12:00
parent 8e18ad62ca
commit f057ad58b7
20 changed files with 767 additions and 418 deletions
@@ -14,6 +14,7 @@ import javafx.scene.layout.GridPane;
import visualiser.app.VisualiserInput;
import visualiser.model.RaceClock;
import visualiser.model.VisualiserBoat;
import visualiser.model.VisualiserRace;
import java.io.IOException;
import java.net.Socket;
@@ -48,6 +49,11 @@ public class StartController extends Controller implements Observer {
private VisualiserInput visualiserInput;
/**
* The race object which describes the currently occurring race.
*/
private VisualiserRace visualiserRace;
///Tracks whether the race has been started (that is, has startRaceNoScaling() be called).
private boolean hasRaceStarted = false;
@@ -65,7 +71,7 @@ public class StartController extends Controller implements Observer {
@Override
public void initialize(URL location, ResourceBundle resources){
raceData = new StreamedCourse();
this.visualiserRace = new VisualiserRace();
raceData.addObserver(this);
}