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

java.lang.Object
  extended by cz.cuni.amis.pogamut.base.communication.messages.InfoMessage
      extended by cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.NavPointLocal
All Implemented Interfaces:
IWorldObject, ILocalViewable, ILocalWorldObject, ILocalGBViewable, java.lang.Cloneable
Direct Known Subclasses:
NavPointLocalImpl, NavPointMessage.NavPointLocalMessage

public abstract class NavPointLocal
extends InfoMessage
implements ILocalWorldObject, ILocalGBViewable

Abstract definition of the local part of the GameBots2004 message NAV.

Complete message documentation: Synchronous message. NavPoint carries information about UT navigation point - location, reachability... Also some item can be respawned at this point. Or some additional information can be stored here (if it is an ambush point, or sniper point..).


Nested Class Summary
static class NavPointLocal.ObjectDisappeared
           
 
Field Summary
protected  long SimTime
           
 
Constructor Summary
NavPointLocal()
          Parameter-less contructor for the message.
 
Method Summary
abstract  NavPointLocal clone()
           
 ILocalWorldObjectUpdatedEvent createDisappearEvent()
          Creates an update event that has to update visibility to false.
 java.lang.Class getCompositeClass()
           
abstract  UnrealId getId()
          A unique Id of this navigation point assigned by the game.
 NavPointLocal getLocal()
           
 ISharedWorldObject getShared()
           
 long getSimTime()
          Returns world time when the object was seen/updated for the last time.
 IStaticWorldObject getStatic()
           
abstract  boolean isReachable()
          If the bot can reach the point directly.
abstract  boolean isVisible()
          If the point 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
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

SimTime

protected long SimTime
Constructor Detail

NavPointLocal

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

Method Detail

getSimTime

public long getSimTime()
Description copied from interface: IWorldObject
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
Returns:

setSimTime

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


clone

public abstract NavPointLocal clone()
Specified by:
clone in interface ILocalWorldObject
Overrides:
clone in class java.lang.Object

getCompositeClass

public java.lang.Class getCompositeClass()
Specified by:
getCompositeClass in interface ILocalWorldObject

getId

public abstract UnrealId getId()
A unique Id of this navigation point assigned by the game.

Specified by:
getId in interface IWorldObject
Returns:

isVisible

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

Specified by:
isVisible in interface ILocalViewable
Returns:

isReachable

public abstract boolean isReachable()
If the bot can reach the point directly. This is a bit tricky. Only point in radius around 900 ut units are evaluated. More ditant points will always return false. Moreover, bot may be required to jump somewhere on the direct path toward this point, if reachable it true (only normal jump is required, if double jump would be required, reachable would be false). Also, bot may be required to fall down from a ramp if he is standing on some.


getLocal

public NavPointLocal getLocal()

getShared

public ISharedWorldObject getShared()

getStatic

public IStaticWorldObject getStatic()

createDisappearEvent

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

Specified by:
createDisappearEvent in interface ILocalGBViewable
Returns:

toString

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

toHtmlString

public java.lang.String toHtmlString()