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

java.lang.Object
  extended by cz.cuni.amis.pogamut.base.communication.messages.InfoMessage
      extended by cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.PlayerShared
All Implemented Interfaces:
IWorldObject, ISharedWorldObject, java.lang.Cloneable
Direct Known Subclasses:
PlayerMessage.PlayerSharedMessage, PlayerSharedImpl

public abstract class PlayerShared
extends InfoMessage
implements ISharedWorldObject

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

Complete message documentation: Synchronous message. Contains information about other players in the game, like their current velocity, position, weapon and reachability. Only reports those players that are visible. (within field of view and not occluded).


Field Summary
static Token ActionPropertyToken
           
static Token FiringPropertyToken
           
static Token LocationPropertyToken
           
static Token NamePropertyToken
           
static Token RotationPropertyToken
           
static java.util.Set<Token> SharedPropertyTokens
           
protected  long SimTime
           
static Token TeamPropertyToken
           
static Token VelocityPropertyToken
           
static Token WeaponPropertyToken
           
 
Constructor Summary
PlayerShared()
          Parameter-less contructor for the message.
 
Method Summary
abstract  PlayerShared clone()
           
abstract  java.lang.String getAction()
          Atomic action this bot is doing (BDI).
 java.lang.Class getCompositeClass()
           
abstract  int getFiring()
          0 means is not firing, 1 - firing in primary mode, 2 - firing in secondary mode (alt firing).
abstract  UnrealId getId()
          Unique Id of the player.
abstract  Location getLocation()
          An absolute location of the player within the map.
abstract  java.lang.String getName()
          Human readable name of the player.
abstract  Rotation getRotation()
          Which direction the player is facing in absolute terms.
 long getSimTime()
          Returns world time when the object was seen/updated for the last time.
abstract  int getTeam()
          What team the player is on.
abstract  Velocity getVelocity()
          Absolute velocity of the player as a vector of movement per one game second.
abstract  java.lang.String getWeapon()
          Class of the weapon the player is holding.
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

NamePropertyToken

public static final Token NamePropertyToken

ActionPropertyToken

public static final Token ActionPropertyToken

RotationPropertyToken

public static final Token RotationPropertyToken

LocationPropertyToken

public static final Token LocationPropertyToken

VelocityPropertyToken

public static final Token VelocityPropertyToken

TeamPropertyToken

public static final Token TeamPropertyToken

WeaponPropertyToken

public static final Token WeaponPropertyToken

FiringPropertyToken

public static final Token FiringPropertyToken

SharedPropertyTokens

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

PlayerShared

public PlayerShared()
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 PlayerShared 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 player.

Specified by:
getId in interface IWorldObject
Returns:

getName

public abstract java.lang.String getName()
Human readable name of the player.


getAction

public abstract java.lang.String getAction()
Atomic action this bot is doing (BDI).


getRotation

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


getLocation

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


getVelocity

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


getTeam

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


getWeapon

public abstract java.lang.String getWeapon()
Class of the weapon the player is holding. Weapon strings to look for include: "AssaultRifle", "ShieldGun", "FlakCannon", "BioRifle", "ShockRifle", "LinkGun", "SniperRifle", "RocketLauncher", "Minigun", "LightingGun", "Translocator". TODO: Look if this is all.


getFiring

public abstract int getFiring()
0 means is not firing, 1 - firing in primary mode, 2 - firing in secondary mode (alt firing).


toString

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

toHtmlString

public java.lang.String toHtmlString()