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

java.lang.Object
  extended by cz.cuni.amis.pogamut.base.communication.messages.InfoMessage
      extended by cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.ItemShared
All Implemented Interfaces:
IWorldObject, ILocated, ISharedWorldObject, java.lang.Cloneable
Direct Known Subclasses:
ItemMessage.ItemSharedMessage, ItemSharedImpl

public abstract class ItemShared
extends InfoMessage
implements ISharedWorldObject, ILocated

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

Complete message documentation: Synchronous/asynchronous message. An object on the ground that can be picked up.


Field Summary
static Token DroppedPropertyToken
           
static Token LocationPropertyToken
           
static java.util.Set<Token> SharedPropertyTokens
           
protected  long SimTime
           
 
Constructor Summary
ItemShared()
          Parameter-less contructor for the message.
 
Method Summary
abstract  ItemShared clone()
           
 java.lang.Class getCompositeClass()
           
abstract  UnrealId getId()
          Unique Id of the item.
abstract  Location getLocation()
          Location of the item.
 long getSimTime()
          Returns world time when the object was seen/updated for the last time.
abstract  boolean isDropped()
          Whether it is regular item or one dropped by some bot (usually during dying).
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

LocationPropertyToken

public static final Token LocationPropertyToken

DroppedPropertyToken

public static final Token DroppedPropertyToken

SharedPropertyTokens

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

ItemShared

public ItemShared()
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 ItemShared 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 item. This Id represents just item on the map, not in our inventory.

Specified by:
getId in interface IWorldObject
Returns:

getLocation

public abstract Location getLocation()
Location of the item.

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

isDropped

public abstract boolean isDropped()
Whether it is regular item or one dropped by some bot (usually during dying). Items that are not dropped usually respawns itself (depends on the game settings) while those that are dropped may be taken only once.


toString

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

toHtmlString

public java.lang.String toHtmlString()