Merge branch 'master' into HEAD

# Conflicts:
#	racevisionGame/src/main/java/mock/app/Event.java
This commit is contained in:
Fan-Wu Yang
2017-09-13 14:56:52 +12:00
2 changed files with 31 additions and 13 deletions
@@ -107,12 +107,12 @@ public class Event {
//Read XML files.
try {
//this.raceXML = XMLReader.readXMLFileToString(raceXMLFile, StandardCharsets.UTF_8);
//this.raceXML = RaceXMLCreator.alterRaceToWind(raceXMLFile, 90);
this.raceXML = Event.setRaceXMLAtCurrentTimeToNow(XMLReader.readXMLFileToString(raceXMLFile, StandardCharsets.UTF_8));
this.raceXML = RaceXMLCreator.alterRaceToWind(this.raceXML, XMLFileType.Contents, 300, false);
if(mapIndex==4){
this.raceXML = Event.setRaceXMLAtCurrentTimeToNow(XMLReader.readXMLFileToString(raceXMLFile, StandardCharsets.UTF_8), 1000, 5000);
} else {
this.raceXML = RaceXMLCreator.alterRaceToWind(this.raceXML, XMLFileType.Contents, 300, false);
}
this.boatXML = XMLReader.readXMLFileToString(boatsXMLFile, StandardCharsets.UTF_8);
@@ -148,14 +148,23 @@ public class Event {
Bearing.fromDegrees(225),
12
);
RaceLogic newRace = new RaceLogic(
new MockRace(
MockRace mockRace = new MockRace(
boatDataSource,
raceDataSource,
regattaDataSource,
this.boatPolars,
Constants.RaceTimeScale,
windGenerator ),
windGenerator );
if(mapIndex==4){
mockRace.setRacePreStartTime(1000);
mockRace.setRacePreparatoryTime(5000);
}
RaceLogic newRace = new RaceLogic(
mockRace,
this.latestMessages,
this.compositeCommand);
@@ -63,7 +63,9 @@ public class MockRace extends RaceState {
private ActiveObserverCommand activeObserverCommand;
private long racePreStartTime = Constants.RacePreStartTime;
private long racePreparatoryTime = Constants.RacePreparatoryTime;
/**
* Constructs a race object with a given RaceDataSource, BoatDataSource, and RegattaDataSource and sends events to the given mockOutput.
@@ -162,15 +164,15 @@ public class MockRace extends RaceState {
long timeToStart = - this.getRaceClock().getDurationMilli();
if (timeToStart > Constants.RacePreStartTime) {
if (timeToStart > racePreStartTime) {
//Time > 3 minutes is the prestart period.
this.setRaceStatusEnum(RaceStatusEnum.PRESTART);
} else if ((timeToStart <= Constants.RacePreStartTime) && (timeToStart >= Constants.RacePreparatoryTime)) {
} else if ((timeToStart <= racePreStartTime) && (timeToStart >= racePreparatoryTime)) {
//Time between [1, 3] minutes is the warning period.
this.setRaceStatusEnum(RaceStatusEnum.WARNING);
} else if ((timeToStart <= Constants.RacePreparatoryTime) && (timeToStart > 0)) {
} else if ((timeToStart <= racePreparatoryTime) && (timeToStart > 0)) {
//Time between (0, 1] minutes is the preparatory period.
this.setRaceStatusEnum(RaceStatusEnum.PREPARATORY);
@@ -183,6 +185,13 @@ public class MockRace extends RaceState {
}
public void setRacePreStartTime(long racePreStartTime) {
this.racePreStartTime = racePreStartTime;
}
public void setRacePreparatoryTime(long racePreparatoryTime) {
this.racePreparatoryTime = racePreparatoryTime;
}
/**
* Sets the status of all boats in the race to RACING.