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

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

public class PlayerMessage
extends Player
implements IWorldObjectUpdatedEvent

Implementation of the GameBots2004 message PLR contains also its Local/Shared/Static subpart class definitions..

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
 class PlayerMessage.PlayerLocalMessage
          Implementation of the local part of the GameBots2004 message PLR, used to facade PLRMessage.
 class PlayerMessage.PlayerSharedMessage
          Implementation of the shared part of the GameBots2004 message PLR, used to facade PLRMessage.
 class PlayerMessage.PlayerStaticMessage
          Implementation of the static part of the GameBots2004 message PLR, used to facade PLRMessage.
 
Nested classes/interfaces inherited from class cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.Player
Player.ObjectDisappeared, Player.PlayerUpdate
 
Field Summary
protected  java.lang.String Action
          Atomic action this bot is doing (BDI).
protected  int Firing
          0 means is not firing, 1 - firing in primary mode, 2 - firing in secondary mode (alt firing).
protected  UnrealId Id
          Unique Id of the player.
protected  java.lang.String Jmx
          Exported just for control server.
protected  Location Location
          An absolute location of the player within the map.
protected  java.lang.String Name
          Human readable name of the player.
protected  boolean Reachable
          True if the bot can run to this other player directly, false otherwise.
protected  Rotation Rotation
          Which direction the player is facing in absolute terms.
protected  int Team
          What team the player is on.
protected  ITeamId TeamId
           
protected  Velocity Velocity
          Absolute velocity of the player as a vector of movement per one game second.
protected  boolean Visible
          If the player is in the field of view of the bot.
protected  java.lang.String Weapon
          Class of the weapon the player is holding.
 
Fields inherited from class cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.Player
PROTOTYPE, SimTime
 
Constructor Summary
PlayerMessage()
          Parameter-less contructor for the message.
PlayerMessage(PlayerMessage original)
          Cloning constructor from the full message.
PlayerMessage(UnrealId Id, java.lang.String Jmx, java.lang.String Name, java.lang.String Action, boolean Visible, Rotation Rotation, Location Location, Velocity Velocity, int Team, java.lang.String Weapon, boolean Reachable, int Firing)
          Creates new instance of the message Player.
 
Method Summary
 java.lang.String getAction()
          Atomic action this bot is doing (BDI).
 int getFiring()
          0 means is not firing, 1 - firing in primary mode, 2 - firing in secondary mode (alt firing).
 UnrealId getId()
          Unique Id of the player.
 java.lang.String getJmx()
          Exported just for control server.
 PlayerLocal getLocal()
           
 Location getLocation()
          An absolute location of the player within the map.
 java.lang.String getName()
          Human readable name of the player.
 Rotation getRotation()
          Which direction the player is facing in absolute terms.
 PlayerShared getShared()
           
 PlayerStatic getStatic()
           
 int getTeam()
          What team the player is on.
 ITeamId getTeamId()
           
 Velocity getVelocity()
          Absolute velocity of the player as a vector of movement per one game second.
 java.lang.String getWeapon()
          Class of the weapon the player is holding.
 boolean isReachable()
          True if the bot can run to this other player directly, false otherwise.
 boolean isVisible()
          If the player is in the field of view of the bot.
protected  void setTeamId(ITeamId TeamId)
          Used by Yylex to slip corretn TeamId.
 java.lang.String toHtmlString()
           
 java.lang.String toString()
           
 IWorldObjectUpdateResult<IWorldObject> update(IWorldObject object)
           
 
Methods inherited from class cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.Player
createDisappearEvent, getSimTime, setSimTime
 
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.base.communication.translator.event.IWorldChangeEvent
getSimTime
 

Field Detail

TeamId

protected ITeamId TeamId

Id

protected UnrealId Id
Unique Id of the player.


Jmx

protected java.lang.String Jmx
Exported just for control server. Holds jmx address we need to connect to when we want to debug our bot.


Name

protected java.lang.String Name
Human readable name of the player.


Action

protected java.lang.String Action
Atomic action this bot is doing (BDI).


Visible

protected boolean Visible
If the player is in the field of view of the bot.


Rotation

protected Rotation Rotation
Which direction the player is facing in absolute terms.


Location

protected Location Location
An absolute location of the player within the map.


Velocity

protected Velocity Velocity
Absolute velocity of the player as a vector of movement per one game second.


Team

protected int Team
What team the player is on. 255 is no team. 0-3 are red, blue, green, gold in that order.


Weapon

protected java.lang.String Weapon
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.


Reachable

protected boolean Reachable
True if the bot can run to this other player directly, false otherwise. Possible reasons for false: pit or obstacle between the two characters.


Firing

protected int Firing
0 means is not firing, 1 - firing in primary mode, 2 - firing in secondary mode (alt firing).

Constructor Detail

PlayerMessage

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


PlayerMessage

public PlayerMessage(UnrealId Id,
                     java.lang.String Jmx,
                     java.lang.String Name,
                     java.lang.String Action,
                     boolean Visible,
                     Rotation Rotation,
                     Location Location,
                     Velocity Velocity,
                     int Team,
                     java.lang.String Weapon,
                     boolean Reachable,
                     int Firing)
Creates new instance of the message Player. 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). Corresponding GameBots message is PLR.

Parameters:
Id - Unique Id of the player.
Jmx - Exported just for control server. Holds jmx address we need to connect to when we want to debug our bot.
Name - Human readable name of the player.
Action - Atomic action this bot is doing (BDI).
Visible - If the player is in the field of view of the bot.
Rotation - Which direction the player is facing in absolute terms.
Location - An absolute location of the player within the map.
Velocity - Absolute velocity of the player as a vector of movement per one game second.
Team - What team the player is on. 255 is no team. 0-3 are red, blue, green, gold in that order.
Weapon - 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.
Reachable - True if the bot can run to this other player directly, false otherwise. Possible reasons for false: pit or obstacle between the two characters.
Firing - 0 means is not firing, 1 - firing in primary mode, 2 - firing in secondary mode (alt firing).

PlayerMessage

public PlayerMessage(PlayerMessage original)
Cloning constructor from the full message.

Parameters:
original -
Method Detail

setTeamId

protected void setTeamId(ITeamId TeamId)
Used by Yylex to slip corretn TeamId.


getTeamId

public ITeamId getTeamId()

getId

public UnrealId getId()
Description copied from class: Player
Unique Id of the player.

Specified by:
getId in interface IWorldObjectUpdatedEvent
Specified by:
getId in interface IWorldObject
Specified by:
getId in interface IPlayer
Specified by:
getId in class Player

getJmx

public java.lang.String getJmx()
Description copied from class: Player
Exported just for control server. Holds jmx address we need to connect to when we want to debug our bot.

Specified by:
getJmx in class Player

getName

public java.lang.String getName()
Description copied from class: Player
Human readable name of the player.

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

getAction

public java.lang.String getAction()
Description copied from class: Player
Atomic action this bot is doing (BDI).

Specified by:
getAction in interface IPlayer
Specified by:
getAction in class Player

isVisible

public boolean isVisible()
Description copied from class: Player
If the player is in the field of view of the bot.

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

getRotation

public Rotation getRotation()
Description copied from class: Player
Which direction the player is facing in absolute terms.

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

getLocation

public Location getLocation()
Description copied from class: Player
An absolute location of the player within the map.

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

getVelocity

public Velocity getVelocity()
Description copied from class: Player
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
Specified by:
getVelocity in class Player
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 int getTeam()
Description copied from class: Player
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
Specified by:
getTeam in class Player

getWeapon

public java.lang.String getWeapon()
Description copied from class: Player
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
Specified by:
getWeapon in class Player

isReachable

public boolean isReachable()
Description copied from class: Player
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
Specified by:
isReachable in class Player

getFiring

public int getFiring()
Description copied from class: Player
0 means is not firing, 1 - firing in primary mode, 2 - firing in secondary mode (alt firing).

Specified by:
getFiring in interface IPlayer
Specified by:
getFiring in class Player

getLocal

public PlayerLocal getLocal()
Specified by:
getLocal in interface ICompositeWorldObject

getShared

public PlayerShared getShared()
Specified by:
getShared in interface ICompositeWorldObject

getStatic

public PlayerStatic getStatic()
Specified by:
getStatic in interface ICompositeWorldObject

update

public IWorldObjectUpdateResult<IWorldObject> update(IWorldObject object)
Specified by:
update in interface IWorldObjectUpdatedEvent

toString

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

toHtmlString

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