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

Package class diagram package NavPoint
java.lang.Object
  extended by cz.cuni.amis.pogamut.base.communication.messages.InfoMessage
      extended by cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.NavPoint
All Implemented Interfaces:
cz.cuni.amis.pogamut.base.communication.translator.event.IWorldChangeEvent, cz.cuni.amis.pogamut.base.communication.worldview.event.IWorldEvent, cz.cuni.amis.pogamut.base.communication.worldview.object.IWorldObject, cz.cuni.amis.pogamut.base3d.worldview.object.ILocated, cz.cuni.amis.pogamut.base3d.worldview.object.ILocomotive, cz.cuni.amis.pogamut.base3d.worldview.object.IViewable, cz.cuni.amis.pogamut.multi.communication.worldview.object.ICompositeWorldObject, IGBViewable, cz.cuni.amis.utils.listener.Event
Direct Known Subclasses:
NavPointCompositeImpl, NavPointMessage

public abstract class NavPoint
extends cz.cuni.amis.pogamut.base.communication.messages.InfoMessage
implements cz.cuni.amis.pogamut.base.communication.worldview.event.IWorldEvent, cz.cuni.amis.pogamut.base.communication.translator.event.IWorldChangeEvent, cz.cuni.amis.pogamut.multi.communication.worldview.object.ICompositeWorldObject, cz.cuni.amis.pogamut.base3d.worldview.object.ILocated, cz.cuni.amis.pogamut.base3d.worldview.object.ILocomotive, IGBViewable

Abstract definition 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 NavPoint.NavPointUpdate
           
static class NavPoint.ObjectDisappeared
           
 
Field Summary
static String PROTOTYPE
          Example how the message looks like - used during parser tests.
protected  long SimTime
           
 
Constructor Summary
NavPoint()
          Parameter-less contructor for the message.
 
Method Summary
 cz.cuni.amis.pogamut.base.communication.translator.event.IWorldObjectUpdatedEvent createDisappearEvent()
          Creates an update event that has to update visibility to false.
abstract  int getDomPointController()
          Exported if this NavPoint is a DominationPoint (for BotDoubleDomination game) - which team controls this point.
abstract  cz.cuni.amis.pogamut.unreal.communication.messages.UnrealId getId()
          A unique Id of this navigation point assigned by the game.
abstract  Map<cz.cuni.amis.pogamut.unreal.communication.messages.UnrealId,NavPointNeighbourLink> getIncomingEdges()
          Maps edge-ORIGINATES_FROM-navpoint-UnrealId to neighbour link, those are incoming edges (those edges that originates in different navpoint and ends here, do not use this to ask whether you can get to navpoint of specific unreal id, use OutgoingEdges instead).
abstract  cz.cuni.amis.pogamut.unreal.communication.messages.UnrealId getItem()
          Unique Id of the respawned item (the item respawns at this point).
abstract  ItemType getItemClass()
          Class of the item (e.g.
abstract  Item getItemInstance()
          If item should be present at this navpoint it's instance will be here.
abstract  javax.vecmath.Vector3d getLiftOffset()
          Starting vector between MyLift location and LiftCenter location.
abstract  cz.cuni.amis.pogamut.base3d.worldview.object.Location getLocation()
          Location of navigation point.
abstract  cz.cuni.amis.pogamut.unreal.communication.messages.UnrealId getMover()
          If this NavPoint is marking some mover, the mover id will be here.
abstract  Map<cz.cuni.amis.pogamut.unreal.communication.messages.UnrealId,NavPointNeighbourLink> getOutgoingEdges()
          Maps edge-LEADING_TO-navpoint-UnrealId to neighbour link, those are outgoing edges (those edges that originates in this navpoint going to another one, those you may usually travel).
abstract  String getPreferedWeapon()
          Class of the weapon that should be prefered when using this point for AIMarker specified action.
abstract  cz.cuni.amis.pogamut.base3d.worldview.object.Rotation getRotation()
          If the type is AIMarker.
 long getSimTime()
          Simulation time in MILLI SECONDS !!!
abstract  int getTeamNumber()
          Will be sent if this is a player start.
abstract  cz.cuni.amis.pogamut.base3d.worldview.object.Velocity getVelocity()
          Velocity of the navigation point (if the navigation point is currently moving).
abstract  boolean isAIMarker()
          If this point is an AI marker - marks an interesting spot in the environment.
abstract  boolean isDomPoint()
          If this point marks a DominationPoint (for BotDoubleDomination game).
abstract  boolean isDoor()
          If this point marks a door mover.
abstract  boolean isDoorOpened()
          True if this NavPoint is a Door and door is opened.
abstract  boolean isInvSpot()
          If this is an inventory spot (item is respawned at this point).
abstract  boolean isItemSpawned()
          True if the item is spawned at the point.
abstract  boolean isJumpDest()
          If this point marks a jump destination - some place that can be reached by some special jump.
abstract  boolean isJumpPad()
          If this point marks a jump pad (a special device that causes the bot to jump high or far).
abstract  boolean isJumpSpot()
          If this point marks a jump spot (a special device that causes the bot to jump high or far).
abstract  boolean isLiftCenter()
          If this point marks a lift center (used to mark center of a lift mover, note that this point will be always moved with the lift).
abstract  boolean isLiftExit()
          If this point marks a lift exit (used to mark exit point of a lift mover).
abstract  boolean isLiftJumpExit()
          Boolean.
abstract  boolean isNoDoubleJump()
          Boolean.
abstract  boolean isPlayerStart()
          If this is a player start (players and/or bots are respawned at this point).
abstract  boolean isRoamingSpot()
          Some ambush point, where is good chance to intercept approaching opponents.
abstract  boolean isSnipingSpot()
          Point good for sniping.
abstract  boolean isTeleporter()
          If this point marks a teleport.
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.
 String toHtmlString()
           
 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

NavPoint

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

Method Detail

getSimTime

public long getSimTime()
Simulation time in MILLI SECONDS !!!

Specified by:
getSimTime in interface cz.cuni.amis.pogamut.base.communication.translator.event.IWorldChangeEvent
Specified by:
getSimTime in interface cz.cuni.amis.pogamut.base.communication.worldview.event.IWorldEvent
Specified by:
getSimTime in interface cz.cuni.amis.pogamut.base.communication.worldview.object.IWorldObject

setSimTime

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


getId

public abstract cz.cuni.amis.pogamut.unreal.communication.messages.UnrealId getId()
A unique Id of this navigation point assigned by the game.

Specified by:
getId in interface cz.cuni.amis.pogamut.base.communication.worldview.object.IWorldObject

getLocation

public abstract cz.cuni.amis.pogamut.base3d.worldview.object.Location getLocation()
Location of navigation point.

Specified by:
getLocation in interface cz.cuni.amis.pogamut.base3d.worldview.object.ILocated

getVelocity

public abstract cz.cuni.amis.pogamut.base3d.worldview.object.Velocity getVelocity()
Velocity of the navigation point (if the navigation point is currently moving). Not sent at the moment.

Specified by:
getVelocity in interface cz.cuni.amis.pogamut.base3d.worldview.object.ILocomotive

isVisible

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

Specified by:
isVisible in interface cz.cuni.amis.pogamut.base3d.worldview.object.IViewable

getItem

public abstract cz.cuni.amis.pogamut.unreal.communication.messages.UnrealId getItem()
Unique Id of the respawned item (the item respawns at this point). Not sent if point is not an inventory spot. Sent only in HandShake.


getItemClass

public abstract ItemType getItemClass()
Class of the item (e.g. xWeapons.FlakCannonPickup). Not sent if point is not an inventory spot. Sent only in HandShake.


isItemSpawned

public abstract boolean isItemSpawned()
True if the item is spawned at the point. Not sent if point is not an inventory spot.


isDoorOpened

public abstract boolean isDoorOpened()
True if this NavPoint is a Door and door is opened. Not sent if point is not a door.


getMover

public abstract cz.cuni.amis.pogamut.unreal.communication.messages.UnrealId getMover()
If this NavPoint is marking some mover, the mover id will be here. Not sent if point is not a Door, a LiftCenter or a LiftExit. Sent only in HandShake.


getLiftOffset

public abstract javax.vecmath.Vector3d getLiftOffset()
Starting vector between MyLift location and LiftCenter location. Not sent if point is not a LiftCenter. Sent only in HandShake.


isLiftJumpExit

public abstract boolean isLiftJumpExit()
Boolean. If we can/should exit the lift by a jump when near the destination place. Not sent if point is not a LiftExit. Sent only in HandShake.


isNoDoubleJump

public abstract boolean isNoDoubleJump()
Boolean. If we should or not use double jump when exiting lift with a jump. Not sent if point is not a LiftExit. Sent only in HandShake.


isInvSpot

public abstract boolean isInvSpot()
If this is an inventory spot (item is respawned at this point).


isPlayerStart

public abstract boolean isPlayerStart()
If this is a player start (players and/or bots are respawned at this point).


getTeamNumber

public abstract int getTeamNumber()
Will be sent if this is a player start. In Team games (team deathmatch, capture the flag, domination) holds information about which team respawns at this player start spot. In non-team games will return 0!


isDomPoint

public abstract boolean isDomPoint()
If this point marks a DominationPoint (for BotDoubleDomination game).


getDomPointController

public abstract int getDomPointController()
Exported if this NavPoint is a DominationPoint (for BotDoubleDomination game) - which team controls this point.


isDoor

public abstract boolean isDoor()
If this point marks a door mover.


isLiftCenter

public abstract boolean isLiftCenter()
If this point marks a lift center (used to mark center of a lift mover, note that this point will be always moved with the lift).


isLiftExit

public abstract boolean isLiftExit()
If this point marks a lift exit (used to mark exit point of a lift mover).


isAIMarker

public abstract boolean isAIMarker()
If this point is an AI marker - marks an interesting spot in the environment. May be ambush point or sniping spot, etc.


isJumpSpot

public abstract boolean isJumpSpot()
If this point marks a jump spot (a special device that causes the bot to jump high or far).


isJumpPad

public abstract boolean isJumpPad()
If this point marks a jump pad (a special device that causes the bot to jump high or far).


isJumpDest

public abstract boolean isJumpDest()
If this point marks a jump destination - some place that can be reached by some special jump.


isTeleporter

public abstract boolean isTeleporter()
If this point marks a teleport.


getRotation

public abstract cz.cuni.amis.pogamut.base3d.worldview.object.Rotation getRotation()
If the type is AIMarker. The rotation the bot should be facing, when doing the action specified by AIMarker. Sent only in HandShake.


isRoamingSpot

public abstract boolean isRoamingSpot()
Some ambush point, where is good chance to intercept approaching opponents. Sent only in HandShake.


isSnipingSpot

public abstract boolean isSnipingSpot()
Point good for sniping. Sent only in HandShake.


getItemInstance

public abstract Item getItemInstance()
If item should be present at this navpoint it's instance will be here.


getOutgoingEdges

public abstract Map<cz.cuni.amis.pogamut.unreal.communication.messages.UnrealId,NavPointNeighbourLink> getOutgoingEdges()
Maps edge-LEADING_TO-navpoint-UnrealId to neighbour link, those are outgoing edges (those edges that originates in this navpoint going to another one, those you may usually travel).


getIncomingEdges

public abstract Map<cz.cuni.amis.pogamut.unreal.communication.messages.UnrealId,NavPointNeighbourLink> getIncomingEdges()
Maps edge-ORIGINATES_FROM-navpoint-UnrealId to neighbour link, those are incoming edges (those edges that originates in different navpoint and ends here, do not use this to ask whether you can get to navpoint of specific unreal id, use OutgoingEdges instead).


getPreferedWeapon

public abstract String getPreferedWeapon()
Class of the weapon that should be prefered when using this point for AIMarker specified action. Sent only in HandShake.


createDisappearEvent

public cz.cuni.amis.pogamut.base.communication.translator.event.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 cz.cuni.amis.pogamut.base.communication.messages.InfoMessage

toHtmlString

public String toHtmlString()


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