cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages
Class VehicleShared

java.lang.Object
  extended by cz.cuni.amis.pogamut.base.communication.messages.InfoMessage
      extended by cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.VehicleShared
All Implemented Interfaces:
IWorldObject, ILocated, ILocomotive, IRotable, ISharedWorldObject, java.lang.Cloneable
Direct Known Subclasses:
VehicleMessage.VehicleSharedMessage, VehicleSharedImpl

public abstract class VehicleShared
extends InfoMessage
implements ISharedWorldObject, ILocated, ILocomotive, IRotable

Abstract definition of the shared part of the GameBots2004 message VEH.

Complete message documentation: Synchronous message. Holds vehicles we see. Id for vehicles doesn't work, so this message is without Id. We can join vehicles by ENTER command if we are close enough - ussually 100 ut units or less. Note: Vehicle support is in aplha testing right now.


Field Summary
static Token ArmorPropertyToken
           
static Token DriverPropertyToken
           
static Token HealthPropertyToken
           
static Token LocationPropertyToken
           
static Token RotationPropertyToken
           
static java.util.Set<Token> SharedPropertyTokens
           
protected  long SimTime
           
static Token TeamLockedPropertyToken
           
static Token TeamPropertyToken
           
static Token VelocityPropertyToken
           
 
Constructor Summary
VehicleShared()
          Parameter-less contructor for the message.
 
Method Summary
abstract  VehicleShared clone()
           
abstract  java.lang.Integer getArmor()
          How much the vehicle has left.
 java.lang.Class getCompositeClass()
           
abstract  UnrealId getDriver()
          Unique Id of the driver - if any.
abstract  java.lang.Integer getHealth()
          How much health the vehicle has left.
abstract  UnrealId getId()
          Unique Id of the vehicle or vehicle part.
abstract  Location getLocation()
          An absolute location of the vehicle within the map.
abstract  Rotation getRotation()
          Which direction the vehicle is facing in absolute terms.
 long getSimTime()
          Returns world time when the object was seen/updated for the last time.
abstract  java.lang.Integer getTeam()
          What team the vehicle is on.
abstract  Velocity getVelocity()
          Absolute velocity of the vehicle as a vector of movement per one game second.
abstract  boolean isTeamLocked()
          If the vehicle is locked just for its current team.
protected  void setSimTime(long SimTime)
          Used by Yylex to slip correct time of the object or programmatically.
 java.lang.String toHtmlString()
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface cz.cuni.amis.pogamut.multi.communication.worldview.object.ISharedWorldObject
getProperties, getProperty
 

Field Detail

SimTime

protected long SimTime

RotationPropertyToken

public static final Token RotationPropertyToken

LocationPropertyToken

public static final Token LocationPropertyToken

VelocityPropertyToken

public static final Token VelocityPropertyToken

TeamPropertyToken

public static final Token TeamPropertyToken

HealthPropertyToken

public static final Token HealthPropertyToken

ArmorPropertyToken

public static final Token ArmorPropertyToken

DriverPropertyToken

public static final Token DriverPropertyToken

TeamLockedPropertyToken

public static final Token TeamLockedPropertyToken

SharedPropertyTokens

public static final java.util.Set<Token> SharedPropertyTokens
Constructor Detail

VehicleShared

public VehicleShared()
Parameter-less contructor for the message.

Method Detail

getSimTime

public long getSimTime()
Description copied from interface: ISharedWorldObject
Returns world time when the object was seen/updated for the last time.

The time suppose to be growing as the simulation carries on.

Always should be actual_timestamp >= any_prevously_recorded_timestamp,

object1.getLastSeenTime() > object2.getLastSeenTime() means that object1 last seen after object2

Specified by:
getSimTime in interface IWorldObject
Specified by:
getSimTime in interface ISharedWorldObject
Returns:

setSimTime

protected void setSimTime(long SimTime)
Used by Yylex to slip correct time of the object or programmatically.


clone

public abstract VehicleShared clone()
Specified by:
clone in interface ISharedWorldObject
Overrides:
clone in class java.lang.Object

getCompositeClass

public java.lang.Class getCompositeClass()
Specified by:
getCompositeClass in interface ISharedWorldObject

getId

public abstract UnrealId getId()
Unique Id of the vehicle or vehicle part.

Specified by:
getId in interface IWorldObject
Returns:

getRotation

public abstract Rotation getRotation()
Which direction the vehicle is facing in absolute terms.

Specified by:
getRotation in interface IRotable
Returns:
Current rotation of the object, represented as yaw, roll and pitch.

getLocation

public abstract Location getLocation()
An absolute location of the vehicle within the map.

Specified by:
getLocation in interface ILocated
Returns:
Current location of the object, represented as a point within the world's coordinates.

getVelocity

public abstract Velocity getVelocity()
Absolute velocity of the vehicle as a vector of movement per one game second.

Specified by:
getVelocity in interface ILocomotive
Returns:
Current direction in which the object is moving and absolute velocity of the object within the world. The direction is represented as a vector within the world's coordinates. The size of velocity is represented by length of that vector.

getTeam

public abstract java.lang.Integer getTeam()
What team the vehicle is on. 255 is no team. 0-3 are red, blue, green, gold in that order.


getHealth

public abstract java.lang.Integer getHealth()
How much health the vehicle has left. Ranges from 0 to x, depending on the vehicle type.


getArmor

public abstract java.lang.Integer getArmor()
How much the vehicle has left. Note: This may be 0 all the time. Maybe the vehicles are not supporting armor.


getDriver

public abstract UnrealId getDriver()
Unique Id of the driver - if any.


isTeamLocked

public abstract boolean isTeamLocked()
If the vehicle is locked just for its current team.


toString

public java.lang.String toString()
Overrides:
toString in class InfoMessage

toHtmlString

public java.lang.String toHtmlString()