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

java.lang.Object
  extended by cz.cuni.amis.pogamut.base.communication.messages.InfoMessage
      extended by cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.Mover
All Implemented Interfaces:
IWorldChangeEvent, IWorldEvent, IWorldObject, ILocated, ILocomotive, IViewable, ICompositeWorldObject, IGBViewable, Event
Direct Known Subclasses:
MoverCompositeImpl, MoverMessage

public abstract class Mover
extends InfoMessage
implements IWorldEvent, IWorldChangeEvent, ICompositeWorldObject, ILocated, ILocomotive, IGBViewable

Abstract definition of the GameBots2004 message MOV.

Complete message documentation: Synchronous message. Movers can be doors, elevators, or any other chunk of architecture that can move. They generally need to be either run into, or activated by shooting or pressing a button. We are working on ways to provide bots with more of the information they need to deal with movers appropriately.


Nested Class Summary
static class Mover.MoverUpdate
           
static class Mover.ObjectDisappeared
           
 
Field Summary
static java.lang.String PROTOTYPE
          Example how the message looks like - used during parser tests.
protected  long SimTime
           
 
Constructor Summary
Mover()
          Parameter-less contructor for the message.
 
Method Summary
 IWorldObjectUpdatedEvent createDisappearEvent()
          Creates an update event that has to update visibility to false.
abstract  Location getBasePos()
          Base position of the mover.
abstract  Location getBaseRot()
          Base rotation of the mover.
abstract  double getDelayTime()
          Delay before starting to open (or before lift starts to move).
abstract  UnrealId getId()
          A unique Id of this mover assigned by the game.
abstract  Location getLocation()
          Location of the mover.
abstract  double getMoveTime()
          How long the mover moves, when it becomes triggered, before it stops.
abstract  UnrealId getNavPointMarker()
          Navigation point marking this mover.
abstract  double getOpenTime()
          How long the mover stands still when it reaches its destination position.
 long getSimTime()
          Returns the simulation time when the event has occurred.
abstract  java.lang.String getState()
          Name of the state Mover is currently in.
abstract  java.lang.String getType()
          String class of the mover.
abstract  Velocity getVelocity()
          Velocity vector.
abstract  boolean isDamageTrig()
          True if the mover needs to be shot to be activated.
abstract  boolean isIsMoving()
          Does the mover move right now?
abstract  boolean isReachable()
          True if the bot can run here, false otherwise.
abstract  boolean isVisible()
          If the mover 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

Mover

public Mover()
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
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()
A unique Id of this mover assigned by the game.

Specified by:
getId in interface IWorldObject
Returns:

getLocation

public abstract Location getLocation()
Location of the mover.

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

isVisible

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

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

isReachable

public abstract boolean isReachable()
True if the bot can run here, false otherwise.


isDamageTrig

public abstract boolean isDamageTrig()
True if the mover needs to be shot to be activated.


getType

public abstract java.lang.String getType()
String class of the mover.


isIsMoving

public abstract boolean isIsMoving()
Does the mover move right now?


getVelocity

public abstract Velocity getVelocity()
Velocity vector.

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.

getMoveTime

public abstract double getMoveTime()
How long the mover moves, when it becomes triggered, before it stops.


getOpenTime

public abstract double getOpenTime()
How long the mover stands still when it reaches its destination position. After this time, the mover returns back to its initial position.


getBasePos

public abstract Location getBasePos()
Base position of the mover.


getBaseRot

public abstract Location getBaseRot()
Base rotation of the mover.


getDelayTime

public abstract double getDelayTime()
Delay before starting to open (or before lift starts to move).


getState

public abstract java.lang.String getState()
Name of the state Mover is currently in. Can be used to determine the type of the mover.


getNavPointMarker

public abstract UnrealId getNavPointMarker()
Navigation point marking this mover. We can parse this Id to get information about type of the mover. Marker Id contains "lift" string if it is a lift, "door" string if it is a door, etc.


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()