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.
176 lines
4.4 KiB
176 lines
4.4 KiB
package network.Messages;
|
|
|
|
|
|
import network.Messages.Enums.MarkRoundingBoatStatusEnum;
|
|
import network.Messages.Enums.MarkRoundingSideEnum;
|
|
import network.Messages.Enums.MarkRoundingTypeEnum;
|
|
import network.Messages.Enums.MessageType;
|
|
|
|
/**
|
|
* Represents a MarkRound message (see AC35 spec, 4.10).
|
|
*/
|
|
public class MarkRounding extends AC35Data {
|
|
|
|
/**
|
|
* The current messageVersionNumber according to the API spec.
|
|
*/
|
|
public static final byte currentMessageVersionNumber = 1;
|
|
|
|
|
|
/**
|
|
* Version number of the message.
|
|
*/
|
|
private byte messageVersionNumber;
|
|
|
|
/**
|
|
* The time at which the mark was rounding. Milliseconds since unix epoch.
|
|
*/
|
|
private long time;
|
|
|
|
/**
|
|
* The ack number of the message.
|
|
*/
|
|
private int ackNum;
|
|
|
|
/**
|
|
* The raceID this message relates to.
|
|
*/
|
|
private int raceID;
|
|
|
|
/**
|
|
* The sourceID of the boat this message relates to.
|
|
*/
|
|
private int sourceID;
|
|
|
|
/**
|
|
* The status of the boat.
|
|
*/
|
|
private MarkRoundingBoatStatusEnum boatStatus;
|
|
|
|
/**
|
|
* The side around which the boat rounded.
|
|
*/
|
|
private MarkRoundingSideEnum roundingSide;
|
|
|
|
/**
|
|
* The type of mark that was rounded.
|
|
*/
|
|
private MarkRoundingTypeEnum markType;
|
|
|
|
/**
|
|
* The ID of the mark. This is not a source ID.
|
|
*/
|
|
private byte markID;
|
|
|
|
|
|
/**
|
|
* Creates a MarkRounding message with the given parameters.
|
|
* @param messageVersionNumber The version number of the message.
|
|
* @param time The time at which the message was created.
|
|
* @param ackNum The ack number of the message.
|
|
* @param raceID The raceID this message relates to.
|
|
* @param sourceID The sourceID of the boat this message relates to.
|
|
* @param boatStatus The status of the boat as it rounded the mark.
|
|
* @param roundingSide The side around which the boat rounded.
|
|
* @param markType The type of mark that was rounded.
|
|
* @param markID The ID number of the mark. Not a sourceID. See {@link network.Messages.Enums.MarkRoundingIDEnum}.
|
|
*/
|
|
public MarkRounding(
|
|
byte messageVersionNumber,
|
|
long time,
|
|
int ackNum,
|
|
int raceID,
|
|
int sourceID,
|
|
MarkRoundingBoatStatusEnum boatStatus,
|
|
MarkRoundingSideEnum roundingSide,
|
|
MarkRoundingTypeEnum markType,
|
|
byte markID ) {
|
|
|
|
super(MessageType.MARKROUNDING);
|
|
|
|
this.messageVersionNumber = messageVersionNumber;
|
|
this.time = time;
|
|
this.ackNum = ackNum;
|
|
this.raceID = raceID;
|
|
this.sourceID = sourceID;
|
|
this.boatStatus = boatStatus;
|
|
this.roundingSide = roundingSide;
|
|
this.markType = markType;
|
|
this.markID = markID;
|
|
}
|
|
|
|
|
|
/**
|
|
* Returns the version number of this message.
|
|
* @return Version number of this message.
|
|
*/
|
|
public byte getMessageVersionNumber() {
|
|
return messageVersionNumber;
|
|
}
|
|
|
|
|
|
/**
|
|
* Returns the timestamp for this message.
|
|
* @return Timestamp for this message.
|
|
*/
|
|
public long getTime() {
|
|
return time;
|
|
}
|
|
|
|
/**
|
|
* Returns the ack number of this message.
|
|
* @return Ack number of this message.
|
|
*/
|
|
public int getAckNum() {
|
|
return ackNum;
|
|
}
|
|
|
|
/**
|
|
* Returns the raceID this message relates to.
|
|
* @return RaceID this message relates to.
|
|
*/
|
|
public int getRaceID() {
|
|
return raceID;
|
|
}
|
|
|
|
/**
|
|
* Returns the boat (source) ID for this message.
|
|
* @return Boat ID for this message.
|
|
*/
|
|
public int getSourceID() {
|
|
return sourceID;
|
|
}
|
|
|
|
/**
|
|
* Returns the status of the boat as it rounded the mark.
|
|
* @return Status of boat as it rounded mark.
|
|
*/
|
|
public MarkRoundingBoatStatusEnum getBoatStatus() {
|
|
return boatStatus;
|
|
}
|
|
|
|
/**
|
|
* Returns the side to which the boat rounded the mark.
|
|
* @return Side to which boat rounded mark.
|
|
*/
|
|
public MarkRoundingSideEnum getRoundingSide() {
|
|
return roundingSide;
|
|
}
|
|
|
|
/**
|
|
* Returns the type of mark that was rounded.
|
|
* @return The type of mark that was rounded.
|
|
*/
|
|
public MarkRoundingTypeEnum getMarkType() {
|
|
return markType;
|
|
}
|
|
|
|
/**
|
|
* Returns ID number of the mark. This is not a source ID. See {@link network.Messages.Enums.MarkRoundingIDEnum}.
|
|
* @return ID number of the mark.
|
|
*/
|
|
public byte getMarkID() {
|
|
return markID;
|
|
}
|
|
}
|