diff --git a/network/src/main/java/seng302/Networking/Utils/MarkRounding.java b/network/src/main/java/seng302/Networking/Utils/MarkRounding.java index 7ca9ae6a..3d998ff8 100644 --- a/network/src/main/java/seng302/Networking/Utils/MarkRounding.java +++ b/network/src/main/java/seng302/Networking/Utils/MarkRounding.java @@ -49,4 +49,7 @@ public class MarkRounding extends AC35Data{ this.markID = markID; } + public int getSourceID() { + return sourceID; + } } diff --git a/visualiser/src/main/java/seng302/VisualiserInput.java b/visualiser/src/main/java/seng302/VisualiserInput.java index e6d46a74..29cf025a 100644 --- a/visualiser/src/main/java/seng302/VisualiserInput.java +++ b/visualiser/src/main/java/seng302/VisualiserInput.java @@ -1,4 +1,5 @@ package seng302; +import org.opengis.style.Mark; import org.xml.sax.SAXException; import seng302.Mock.*; import seng302.Networking.BinaryMessageDecoder; @@ -41,6 +42,14 @@ public class VisualiserInput implements Runnable private Map boatStatus; + private AverageWind averageWind; + + private CourseWinds courseWinds; + + private Map markRounding; + + private RaceStartStatus raceStartStatus; + public VisualiserInput(Socket socket, StreamedCourse course) throws IOException{ this.connectionSocket = socket; @@ -49,6 +58,7 @@ public class VisualiserInput implements Runnable this.course = course; this.boatLocation = new HashMap<>(); this.boatStatus = new HashMap<>(); + this.markRounding = new HashMap<>(); //start Time @@ -106,6 +116,30 @@ public class VisualiserInput implements Runnable return boatStatus; } + /** + * Returns the average wind of the race + * @return average wind in the race + */ + public AverageWind getAverageWind() { + return averageWind; + } + + /** + * Returns winds in the course + * @return winds that are in the course + */ + public CourseWinds getCourseWinds() { + return courseWinds; + } + + /** + * Returns get Mark Rounding Boat Source ID, MarkRound + * @return + */ + public Map getMarkRounding() { + return markRounding; + } + /** * Takes an inputStream and reads the first 15 bytes (the header) and gets the message length * for the whole message then reads that and returns the byte array @@ -193,6 +227,8 @@ public class VisualiserInput implements Runnable break; case RACESTARTSTATUS: //System.out.println("Race Start Status Message"); + RaceStartStatus rSS = (RaceStartStatus) data; + raceStartStatus = rSS; break; case YACHTEVENTCODE: // System.out.println("Yacht Action Code!"); @@ -220,12 +256,17 @@ public class VisualiserInput implements Runnable break; case MARKROUNDING: // System.out.println("Mark Rounding Message!"); + MarkRounding mkrounding = (MarkRounding) data; + markRounding.put(mkrounding.getSourceID(), mkrounding); break; case COURSEWIND: // System.out.println("Course Wind Message!"); + courseWinds = (CourseWinds) data; break; case AVGWIND: // System.out.println("Average Wind Message!"); + AverageWind avgWind = (AverageWind) data; + averageWind = avgWind; break; default: System.out.println("Broken Message!");