Merge branch 'master' into story1301-start
This commit is contained in:
@@ -77,7 +77,7 @@ public class Event {
|
|||||||
String boatsXMLFile = "mock/mockXML/boatTest.xml";
|
String boatsXMLFile = "mock/mockXML/boatTest.xml";
|
||||||
String regattaXMLFile = "mock/mockXML/regattaTest.xml";
|
String regattaXMLFile = "mock/mockXML/regattaTest.xml";
|
||||||
switch (mapIndex){
|
switch (mapIndex){
|
||||||
case 0:raceXMLFile = "mock/mockXML/raceSixPlayers.xml";
|
case 0:raceXMLFile = "mock/mockXML/ac35MapLayout.xml";
|
||||||
break;
|
break;
|
||||||
case 1:raceXMLFile = "mock/mockXML/oMapLayout.xml";
|
case 1:raceXMLFile = "mock/mockXML/oMapLayout.xml";
|
||||||
break;
|
break;
|
||||||
@@ -90,13 +90,12 @@ public class Event {
|
|||||||
boatsXMLFile = "mock/mockXML/boatTutorial.xml";
|
boatsXMLFile = "mock/mockXML/boatTutorial.xml";
|
||||||
regattaXMLFile = "mock/mockXML/regattaTutorial.xml";
|
regattaXMLFile = "mock/mockXML/regattaTutorial.xml";
|
||||||
break;
|
break;
|
||||||
default: raceXMLFile = "mock/mockXML/raceSixPlayers.xml";
|
default: raceXMLFile = "mock/mockXML/ac35MapLayout.xml";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (singlePlayer) {
|
if (singlePlayer) {
|
||||||
raceXMLFile = "mock/mockXML/raceSinglePlayer.xml";
|
|
||||||
boatsXMLFile = "mock/mockXML/boatsSinglePlayer.xml";
|
boatsXMLFile = "mock/mockXML/boatsSinglePlayer.xml";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -109,8 +109,6 @@ public class MockRace extends RaceState {
|
|||||||
colliderRegistry.addCollider(mark.getMark1());
|
colliderRegistry.addCollider(mark.getMark1());
|
||||||
if(mark.getMark2() != null) colliderRegistry.addCollider(mark.getMark2());
|
if(mark.getMark2() != null) colliderRegistry.addCollider(mark.getMark2());
|
||||||
}
|
}
|
||||||
|
|
||||||
this.colliderRegistry.addAllColliders(boats);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -133,9 +131,9 @@ public class MockRace extends RaceState {
|
|||||||
|
|
||||||
this.boats.add(mockBoat);
|
this.boats.add(mockBoat);
|
||||||
this.activeObserverCommands.put(boat.getSourceID(), new ActiveObserverCommand());
|
this.activeObserverCommands.put(boat.getSourceID(), new ActiveObserverCommand());
|
||||||
|
this.colliderRegistry.addCollider(mockBoat);
|
||||||
|
|
||||||
getRaceDataSource().incrementSequenceNumber();
|
getRaceDataSource().incrementSequenceNumber();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -418,7 +418,7 @@ public class Boat extends Collider {
|
|||||||
@Override
|
@Override
|
||||||
public boolean rayCast(Boat boat) {
|
public boolean rayCast(Boat boat) {
|
||||||
if(boat != this) {
|
if(boat != this) {
|
||||||
return rayCast(boat, 15);
|
return rayCast(boat, 50);
|
||||||
} else return false;
|
} else return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ public class Constants {
|
|||||||
* Frame periods are multiplied by this to get the amount of time a single frame represents.
|
* Frame periods are multiplied by this to get the amount of time a single frame represents.
|
||||||
* E.g., frame period = 20ms, scale = 5, frame represents 20 * 5 = 100ms, and so boats are simulated for 100ms, even though only 20ms actually occurred.
|
* E.g., frame period = 20ms, scale = 5, frame represents 20 * 5 = 100ms, and so boats are simulated for 100ms, even though only 20ms actually occurred.
|
||||||
*/
|
*/
|
||||||
public static final int RaceTimeScale = 2;
|
public static final int RaceTimeScale = 1;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The race pre-start time, in milliseconds. 30 seconds.
|
* The race pre-start time, in milliseconds. 30 seconds.
|
||||||
|
|||||||
@@ -17,8 +17,9 @@ public class MarkRoundingSequence {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* For each leg, mark rounding information.
|
* For each leg, mark rounding information.
|
||||||
|
* Maps between leg number and rounding data.
|
||||||
*/
|
*/
|
||||||
private Map<Leg, MarkRoundingData> roundingPoints;
|
private Map<Integer, MarkRoundingData> roundingPoints;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -34,7 +35,7 @@ public class MarkRoundingSequence {
|
|||||||
* @return Rounding points for leg.
|
* @return Rounding points for leg.
|
||||||
*/
|
*/
|
||||||
public MarkRoundingData getRoundingData(Leg leg) {
|
public MarkRoundingData getRoundingData(Leg leg) {
|
||||||
return roundingPoints.get(leg);
|
return roundingPoints.get(leg.getLegNumber());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -139,7 +140,7 @@ public class MarkRoundingSequence {
|
|||||||
roundingData.setRoundCheck2Halfway(roundCheck2Halfway);
|
roundingData.setRoundCheck2Halfway(roundCheck2Halfway);
|
||||||
|
|
||||||
|
|
||||||
this.roundingPoints.put(currentLeg, roundingData);
|
this.roundingPoints.put(currentLeg.getLegNumber(), roundingData);
|
||||||
|
|
||||||
|
|
||||||
//Rounding points:
|
//Rounding points:
|
||||||
|
|||||||
@@ -574,7 +574,12 @@ public class RaceViewController extends Controller {
|
|||||||
|
|
||||||
// Bind zooming to scrolling
|
// Bind zooming to scrolling
|
||||||
view3D.setOnScroll(e -> {
|
view3D.setOnScroll(e -> {
|
||||||
view3D.updateDistance(e.getDeltaY());
|
//view3D.updateDistance(e.getDeltaY());
|
||||||
|
if (e.getDeltaY() > 0) {
|
||||||
|
view3D.zoomIn();
|
||||||
|
} else {
|
||||||
|
view3D.zoomOut();
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// Bind zooming to keypress (Z/X default)
|
// Bind zooming to keypress (Z/X default)
|
||||||
|
|||||||
@@ -269,8 +269,10 @@ public class View3D extends Pane {
|
|||||||
public void updateDistance(double delta) {
|
public void updateDistance(double delta) {
|
||||||
double newDistance = -this.distance.getZ() + delta;
|
double newDistance = -this.distance.getZ() + delta;
|
||||||
if (target.get() == null){
|
if (target.get() == null){
|
||||||
if (newDistance > MAX_ZOOM_LIMIT){
|
if (newDistance > MAX_ZOOM_LIMIT) {
|
||||||
setDistance(MAX_ZOOM_LIMIT);
|
setDistance(MAX_ZOOM_LIMIT);
|
||||||
|
} else if (newDistance <= ZOOM_IN_LIMIT) {
|
||||||
|
setDistance(ZOOM_IN_LIMIT);
|
||||||
} else {
|
} else {
|
||||||
setDistance(newDistance);
|
setDistance(newDistance);
|
||||||
}
|
}
|
||||||
@@ -373,4 +375,4 @@ public class View3D extends Pane {
|
|||||||
public void addPointLight(PointLight pointLight) {
|
public void addPointLight(PointLight pointLight) {
|
||||||
this.world.getChildren().add(pointLight);
|
this.world.getChildren().add(pointLight);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+11
-11
@@ -37,16 +37,16 @@
|
|||||||
</CompoundMark>
|
</CompoundMark>
|
||||||
</Course>
|
</Course>
|
||||||
<CourseLimit>
|
<CourseLimit>
|
||||||
<Limit Lat="32.313922" Lon="-64.837168" SeqID="1"/>
|
<Limit Lat="32.311922" Lon="-64.841168" SeqID="1"/>
|
||||||
<Limit Lat="32.317379" Lon="-64.839291" SeqID="2"/>
|
<Limit Lat="32.319379" Lon="-64.841291" SeqID="2"/>
|
||||||
<Limit Lat="32.317911" Lon="-64.836996" SeqID="3"/>
|
<Limit Lat="32.319911" Lon="-64.836996" SeqID="3"/>
|
||||||
<Limit Lat="32.317257" Lon="-64.83626" SeqID="4"/>
|
<Limit Lat="32.319257" Lon="-64.83326" SeqID="4"/>
|
||||||
<Limit Lat="32.304273" Lon="-64.822834" SeqID="5"/>
|
<Limit Lat="32.305273" Lon="-64.821834" SeqID="5"/>
|
||||||
<Limit Lat="32.279097" Lon="-64.841545" SeqID="6"/>
|
<Limit Lat="32.276097" Lon="-64.839545" SeqID="6"/>
|
||||||
<Limit Lat="32.279604" Lon="-64.849871" SeqID="7"/>
|
<Limit Lat="32.275604" Lon="-64.851871" SeqID="7"/>
|
||||||
<Limit Lat="32.289545" Lon="-64.854162" SeqID="8"/>
|
<Limit Lat="32.286545" Lon="-64.856162" SeqID="8"/>
|
||||||
<Limit Lat="32.290198" Lon="-64.858711" SeqID="9"/>
|
<Limit Lat="32.288198" Lon="-64.860711" SeqID="9"/>
|
||||||
<Limit Lat="32.297164" Lon="-64.856394" SeqID="10"/>
|
<Limit Lat="32.299164" Lon="-64.857394" SeqID="10"/>
|
||||||
<Limit Lat="32.296148" Lon="-64.849184" SeqID="11"/>
|
<Limit Lat="32.299148" Lon="-64.851184" SeqID="11"/>
|
||||||
</CourseLimit>
|
</CourseLimit>
|
||||||
</Race>
|
</Race>
|
||||||
@@ -1,51 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<Race>
|
|
||||||
<RaceID>5326</RaceID>
|
|
||||||
<RaceType>FLEET</RaceType>
|
|
||||||
<CreationTimeDate>RACE_CREATION_TIME</CreationTimeDate>
|
|
||||||
<RaceStartTime Postpone="false" Time="RACE_START_TIME"/>
|
|
||||||
<Participants>
|
|
||||||
</Participants>
|
|
||||||
<CompoundMarkSequence>
|
|
||||||
<Corner SeqID="1" CompoundMarkID="1" Rounding="SP" ZoneSize="3" />
|
|
||||||
<Corner SeqID="2" CompoundMarkID="2" Rounding="Port" ZoneSize="3" />
|
|
||||||
<Corner SeqID="3" CompoundMarkID="4" Rounding="Port" ZoneSize="3" />
|
|
||||||
<Corner SeqID="4" CompoundMarkID="3" Rounding="Starboard" ZoneSize="3" />
|
|
||||||
<Corner SeqID="5" CompoundMarkID="4" Rounding="Port" ZoneSize="3" />
|
|
||||||
<Corner SeqID="6" CompoundMarkID="5" Rounding="SP" ZoneSize="3"/>
|
|
||||||
</CompoundMarkSequence>
|
|
||||||
<Course>
|
|
||||||
<CompoundMark CompoundMarkID="1" Name="Start Line">
|
|
||||||
<Mark SeqId="1" Name="PRO" TargetLat="32.296577" TargetLng="-64.854304" SourceID="101"/>
|
|
||||||
<Mark SeqId="2" Name="PIN" TargetLat="32.293771" TargetLng="-64.855242" SourceID="102"/>
|
|
||||||
</CompoundMark>
|
|
||||||
<CompoundMark CompoundMarkID="2" Name="Marker 1">
|
|
||||||
<Mark Name="Marker1" TargetLat="32.293039" TargetLng="-64.843983" SourceID="103"/>
|
|
||||||
</CompoundMark>
|
|
||||||
<CompoundMark CompoundMarkID="3" Name="Windward Gate">
|
|
||||||
<Mark Name="WGL" SeqId="1" TargetLat="32.28468" TargetLng="-64.850045" SourceID="104"/>
|
|
||||||
<Mark Name="WGR" SeqId="2" TargetLat="32.280164" TargetLng="-64.847591" SourceID="105"/>
|
|
||||||
</CompoundMark>
|
|
||||||
<CompoundMark CompoundMarkID="4" Name="Leeward Gate">
|
|
||||||
<Mark Name="LGL" SeqId="1" TargetLat="32.309693" TargetLng="-64.835249" SourceID="106"/>
|
|
||||||
<Mark Name="LGR" SeqId="2" TargetLat="32.308046" TargetLng="-64.831785" SourceID="107"/>
|
|
||||||
</CompoundMark>
|
|
||||||
<CompoundMark CompoundMarkID="5" Name="Finish Line">
|
|
||||||
<Mark Name="FL" SeqId="1" TargetLat="32.317379" TargetLng="-64.839291" SourceID="108"/>
|
|
||||||
<Mark Name="FR" SeqId="2" TargetLat="32.317257" TargetLng="-64.83626" SourceID="109"/>
|
|
||||||
</CompoundMark>
|
|
||||||
</Course>
|
|
||||||
<CourseLimit>
|
|
||||||
<Limit Lat="32.313922" Lon="-64.837168" SeqID="1"/>
|
|
||||||
<Limit Lat="32.317379" Lon="-64.839291" SeqID="2"/>
|
|
||||||
<Limit Lat="32.317911" Lon="-64.836996" SeqID="3"/>
|
|
||||||
<Limit Lat="32.317257" Lon="-64.83626" SeqID="4"/>
|
|
||||||
<Limit Lat="32.304273" Lon="-64.822834" SeqID="5"/>
|
|
||||||
<Limit Lat="32.279097" Lon="-64.841545" SeqID="6"/>
|
|
||||||
<Limit Lat="32.279604" Lon="-64.849871" SeqID="7"/>
|
|
||||||
<Limit Lat="32.289545" Lon="-64.854162" SeqID="8"/>
|
|
||||||
<Limit Lat="32.290198" Lon="-64.858711" SeqID="9"/>
|
|
||||||
<Limit Lat="32.297164" Lon="-64.856394" SeqID="10"/>
|
|
||||||
<Limit Lat="32.296148" Lon="-64.849184" SeqID="11"/>
|
|
||||||
</CourseLimit>
|
|
||||||
</Race>
|
|
||||||
@@ -1,51 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<Race>
|
|
||||||
<RaceID>5326</RaceID>
|
|
||||||
<RaceType>FLEET</RaceType>
|
|
||||||
<CreationTimeDate>RACE_CREATION_TIME</CreationTimeDate>
|
|
||||||
<RaceStartTime Postpone="false" Time="RACE_START_TIME"/>
|
|
||||||
<Participants>
|
|
||||||
</Participants>
|
|
||||||
<CompoundMarkSequence>
|
|
||||||
<Corner SeqID="1" CompoundMarkID="1" Rounding="SP" ZoneSize="3" />
|
|
||||||
<Corner SeqID="2" CompoundMarkID="2" Rounding="Port" ZoneSize="3" />
|
|
||||||
<Corner SeqID="3" CompoundMarkID="4" Rounding="Port" ZoneSize="3" />
|
|
||||||
<Corner SeqID="4" CompoundMarkID="3" Rounding="Starboard" ZoneSize="3" />
|
|
||||||
<Corner SeqID="5" CompoundMarkID="4" Rounding="Port" ZoneSize="3" />
|
|
||||||
<Corner SeqID="6" CompoundMarkID="5" Rounding="SP" ZoneSize="3"/>
|
|
||||||
</CompoundMarkSequence>
|
|
||||||
<Course>
|
|
||||||
<CompoundMark CompoundMarkID="1" Name="Start Line">
|
|
||||||
<Mark SeqId="1" Name="PRO" TargetLat="32.296577" TargetLng="-64.854304" SourceID="101"/>
|
|
||||||
<Mark SeqId="2" Name="PIN" TargetLat="32.293771" TargetLng="-64.855242" SourceID="102"/>
|
|
||||||
</CompoundMark>
|
|
||||||
<CompoundMark CompoundMarkID="2" Name="Marker 1">
|
|
||||||
<Mark Name="Marker1" TargetLat="32.293039" TargetLng="-64.843983" SourceID="103"/>
|
|
||||||
</CompoundMark>
|
|
||||||
<CompoundMark CompoundMarkID="3" Name="Windward Gate">
|
|
||||||
<Mark Name="WGL" SeqId="1" TargetLat="32.28468" TargetLng="-64.850045" SourceID="104"/>
|
|
||||||
<Mark Name="WGR" SeqId="2" TargetLat="32.280164" TargetLng="-64.847591" SourceID="105"/>
|
|
||||||
</CompoundMark>
|
|
||||||
<CompoundMark CompoundMarkID="4" Name="Leeward Gate">
|
|
||||||
<Mark Name="LGL" SeqId="1" TargetLat="32.309693" TargetLng="-64.835249" SourceID="106"/>
|
|
||||||
<Mark Name="LGR" SeqId="2" TargetLat="32.308046" TargetLng="-64.831785" SourceID="107"/>
|
|
||||||
</CompoundMark>
|
|
||||||
<CompoundMark CompoundMarkID="5" Name="Finish Line">
|
|
||||||
<Mark Name="FL" SeqId="1" TargetLat="32.317379" TargetLng="-64.839291" SourceID="108"/>
|
|
||||||
<Mark Name="FR" SeqId="2" TargetLat="32.317257" TargetLng="-64.83626" SourceID="109"/>
|
|
||||||
</CompoundMark>
|
|
||||||
</Course>
|
|
||||||
<CourseLimit>
|
|
||||||
<Limit Lat="32.313922" Lon="-64.837168" SeqID="1"/>
|
|
||||||
<Limit Lat="32.317379" Lon="-64.839291" SeqID="2"/>
|
|
||||||
<Limit Lat="32.317911" Lon="-64.836996" SeqID="3"/>
|
|
||||||
<Limit Lat="32.317257" Lon="-64.83626" SeqID="4"/>
|
|
||||||
<Limit Lat="32.304273" Lon="-64.822834" SeqID="5"/>
|
|
||||||
<Limit Lat="32.279097" Lon="-64.841545" SeqID="6"/>
|
|
||||||
<Limit Lat="32.279604" Lon="-64.849871" SeqID="7"/>
|
|
||||||
<Limit Lat="32.289545" Lon="-64.854162" SeqID="8"/>
|
|
||||||
<Limit Lat="32.290198" Lon="-64.858711" SeqID="9"/>
|
|
||||||
<Limit Lat="32.297164" Lon="-64.856394" SeqID="10"/>
|
|
||||||
<Limit Lat="32.296148" Lon="-64.849184" SeqID="11"/>
|
|
||||||
</CourseLimit>
|
|
||||||
</Race>
|
|
||||||
Reference in New Issue
Block a user