You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
130 lines
2.6 KiB
130 lines
2.6 KiB
package network.Messages;
|
|
|
|
import seng302.Networking.Messages.Enums.MessageType;
|
|
import seng302.Networking.Utils.AC35UnitConverter;
|
|
|
|
import java.util.List;
|
|
|
|
/**
|
|
* Created by fwy13 on 25/04/17.
|
|
*/
|
|
public class RaceStatus extends AC35Data {
|
|
|
|
private long currentTime;
|
|
private int raceID;
|
|
private int raceStatus;
|
|
private long expectedStartTime;
|
|
private int windDirection;
|
|
private int windSpeed;
|
|
private int raceType;
|
|
private List<BoatStatus> boatStatuses;
|
|
|
|
public RaceStatus(long currentTime, int raceID, int raceStatus, long expectedStartTime, int windDirection, int windSpeed, int raceType, List<BoatStatus> boatStatuses){
|
|
super(MessageType.RACESTATUS);
|
|
this.currentTime = currentTime;
|
|
this.raceID = raceID;
|
|
this.raceStatus = raceStatus;
|
|
this.expectedStartTime = expectedStartTime;
|
|
this.windDirection = windDirection;
|
|
this.windSpeed = windSpeed;
|
|
this.raceType = raceType;
|
|
this.boatStatuses = boatStatuses;//note this is not a copy so any alterations to the parent will affect this.
|
|
}
|
|
|
|
|
|
|
|
///Getters.
|
|
|
|
public long getCurrentTime()
|
|
{
|
|
return currentTime;
|
|
}
|
|
|
|
public int getRaceID()
|
|
{
|
|
return raceID;
|
|
}
|
|
|
|
/**
|
|
*
|
|
* @return race status number
|
|
*/
|
|
public int getRaceStatus()
|
|
{
|
|
return raceStatus;
|
|
}
|
|
|
|
public long getExpectedStartTime()
|
|
{
|
|
return expectedStartTime;
|
|
}
|
|
|
|
public int getWindDirection()
|
|
{
|
|
return windDirection;
|
|
}
|
|
|
|
public int getWindSpeed()
|
|
{
|
|
return windSpeed;
|
|
}
|
|
|
|
public int getRaceType()
|
|
{
|
|
return raceType;
|
|
}
|
|
|
|
public List<BoatStatus> getBoatStatuses()
|
|
{
|
|
return boatStatuses;
|
|
}
|
|
|
|
public boolean isNotActive() {
|
|
return raceStatus == 0;
|
|
}
|
|
|
|
public boolean isWarning() {
|
|
return raceStatus == 1;
|
|
}
|
|
|
|
public boolean isPreparatory() {
|
|
return raceStatus == 2;
|
|
}
|
|
|
|
public boolean isStarted() {
|
|
return raceStatus == 3;
|
|
}
|
|
|
|
public boolean isFinished() {
|
|
return raceStatus == 4;
|
|
}
|
|
|
|
public boolean isRetired() {
|
|
return raceStatus == 5;
|
|
}
|
|
|
|
public boolean isAbandoned() {
|
|
return raceStatus == 6;
|
|
}
|
|
|
|
public boolean isPostponed() {
|
|
return raceStatus == 7;
|
|
}
|
|
|
|
public boolean isTerminated() {
|
|
return raceStatus == 8;
|
|
}
|
|
|
|
public boolean isStartTimeSet() {
|
|
return raceStatus != 9;
|
|
}
|
|
|
|
public boolean isPrestart() {
|
|
return raceStatus == 10;
|
|
}
|
|
|
|
public double getScaledWindDirection() {
|
|
return (double) AC35UnitConverter.convertHeading(windDirection);
|
|
}
|
|
}
|