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

java.lang.Object
  extended by cz.cuni.amis.pogamut.base.communication.messages.InfoMessage
      extended by cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.Player
All Implemented Interfaces:
IWorldChangeEvent, IWorldEvent, IWorldObject, ILocated, ILocomotive, IRotable, IViewable, ICompositeWorldObject, IPlayer, IPerson, IGBViewable, Event
Direct Known Subclasses:
PlayerCompositeImpl, PlayerMessage

public abstract class Player
extends InfoMessage
implements IWorldEvent, IWorldChangeEvent, ICompositeWorldObject, IPerson, IPlayer, IGBViewable

Abstract definition 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).


Nested Class Summary
static class Player.ObjectDisappeared
           
static class Player.PlayerUpdate
           
 
Field Summary
static java.lang.String PROTOTYPE
          Example how the message looks like - used during parser tests.
protected  long SimTime
           
 
Constructor Summary
Player()
          Parameter-less contructor for the message.
 
Method Summary
 IWorldObjectUpdatedEvent createDisappearEvent()
          Creates an update event that has to update visibility to false.
abstract  java.lang.String getAction()
          Atomic action this bot is doing (BDI).
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  java.lang.String getJmx()
          Exported just for control server.
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 the simulation time when the event has occurred.
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.
abstract  boolean isReachable()
          True if the bot can run to this other player directly, false otherwise.
abstract  boolean isVisible()
          If the player is in the field of view of the bot.
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
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface cz.cuni.amis.pogamut.multi.communication.worldview.object.ICompositeWorldObject
getLocal, getShared, getStatic
 

Field Detail

PROTOTYPE

public static final java.lang.String PROTOTYPE
Example how the message looks like - used during parser tests.

See Also:
Constant Field Values

SimTime

protected long SimTime
Constructor Detail

Player

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

Method Detail

getSimTime

public long getSimTime()
Description copied from interface: IWorldEvent
Returns the simulation time when the event has occurred.

Specified by:
getSimTime in interface IWorldChangeEvent
Specified by:
getSimTime in interface IWorldEvent
Specified by:
getSimTime in interface IWorldObject
Specified by:
getSimTime in interface IPlayer
Returns:
timestamp

setSimTime

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


getId

public abstract UnrealId getId()
Unique Id of the player.

Specified by:
getId in interface IWorldObject
Specified by:
getId in interface IPlayer

getJmx

public abstract java.lang.String getJmx()
Exported just for control server. Holds jmx address we need to connect to when we want to debug our bot.


getName

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

Specified by:
getName in interface IPlayer
Specified by:
getName in interface IPerson

getAction

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

Specified by:
getAction in interface IPlayer

isVisible

public abstract boolean isVisible()
If the player is in the field of view of the bot.

Specified by:
isVisible in interface IViewable
Specified by:
isVisible in interface IPlayer
Returns:
True if the object is visible; false otherwise.

getRotation

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

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

getLocation

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

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

getVelocity

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

Specified by:
getVelocity in interface ILocomotive
Specified by:
getVelocity in interface IPlayer
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 int getTeam()
What team the player is on. 255 is no team. 0-3 are red, blue, green, gold in that order.

Specified by:
getTeam in interface IPlayer

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.

Specified by:
getWeapon in interface IPlayer

isReachable

public abstract boolean isReachable()
True if the bot can run to this other player directly, false otherwise. Possible reasons for false: pit or obstacle between the two characters.

Specified by:
isReachable in interface IPlayer

getFiring

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

Specified by:
getFiring in interface IPlayer

createDisappearEvent

public IWorldObjectUpdatedEvent createDisappearEvent()
Description copied from interface: IGBViewable
Creates an update event that has to update visibility to false.

Specified by:
createDisappearEvent in interface IGBViewable
Returns:

toString

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

toHtmlString

public java.lang.String toHtmlString()
Specified by:
toHtmlString in interface IPlayer