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

Package class diagram package 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, cz.cuni.amis.utils.listener.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 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()
          Simulation time in MILLI SECONDS !!!
abstract  String getState()
          Name of the state Mover is currently in.
abstract  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 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.
 String toHtmlString()
           
 String toJsonLiteral()
           
 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 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()
Simulation time in MILLI SECONDS !!!

Specified by:
getSimTime in interface IWorldChangeEvent
Specified by:
getSimTime in interface IWorldEvent
Specified by:
getSimTime in interface IWorldObject

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

getLocation

public abstract Location getLocation()
Location of the mover.

Specified by:
getLocation in interface ILocated

isVisible

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

Specified by:
isVisible in interface IViewable

isDamageTrig

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


getType

public abstract 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

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 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 String toString()
Overrides:
toString in class InfoMessage

toHtmlString

public String toHtmlString()

toJsonLiteral

public String toJsonLiteral()
Overrides:
toJsonLiteral in class InfoMessage


Copyright © 2015 AMIS research group, Faculty of Mathematics and Physics, Charles University in Prague, Czech Republic. All Rights Reserved.