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

java.lang.Object
  extended by cz.cuni.amis.pogamut.base.communication.messages.InfoMessage
      extended by cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.NavPointStatic
          extended by cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.NavPointStaticImpl
All Implemented Interfaces:
IWorldObject, IStaticWorldObject

public class NavPointStaticImpl
extends NavPointStatic

Implementation of the static 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 NavPointStaticImpl.NavPointStaticUpdate
           
 
Field Summary
protected  boolean AIMarker
          If this point is an AI marker - marks an interesting spot in the environment.
protected  boolean DomPoint
          If this point marks a DominationPoint (for BotDoubleDomination game).
protected  int DomPointController
          Exported if this NavPoint is a DominationPoint (for BotDoubleDomination game) - which team controls this point.
protected  boolean Door
          If this point marks a door mover.
protected  UnrealId Id
          A unique Id of this navigation point assigned by the game.
protected  java.util.Map<UnrealId,NavPointNeighbourLink> IncomingEdges
          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).
protected  boolean InvSpot
          If this is an inventory spot (item is respawned at this point).
protected  UnrealId Item
          Unique Id of the respawned item (the item respawns at this point).
protected  ItemType ItemClass
          Class of the item (e.g.
protected  Item ItemInstance
          If item should be present at this navpoint it's instance will be here.
protected  boolean JumpDest
          If this point marks a jump destination - some place that can be reached by some special jump.
protected  boolean JumpSpot
          If this point marks a jump spot (a special device that causes the bot to jump high or far).
protected  boolean LiftCenter
          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).
protected  boolean LiftExit
          If this point marks a lift exit (used to mark exit point of a lift mover).
protected  boolean LiftJumpExit
          Boolean.
protected  Vector3d LiftOffset
          Starting vector between MyLift location and LiftCenter location.
protected  UnrealId Mover
          If this NavPoint is marking some mover, the mover id will be here.
protected  boolean NoDoubleJump
          Boolean.
protected  java.util.Map<UnrealId,NavPointNeighbourLink> OutgoingEdges
          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).
protected  boolean PlayerStart
          If this is a player start (players and/or bots are respawned at this point).
protected  java.lang.String PreferedWeapon
          Class of the weapon that should be prefered when using this point for AIMarker specified action.
protected  boolean RoamingSpot
          Some ambush point, where is good chance to intercept approaching opponents.
protected  Rotation Rotation
          If the type is AIMarker.
protected  boolean SnipingSpot
          Point good for sniping.
protected  int TeamNumber
          Will be sent if this is a player start.
protected  boolean Teleporter
          If this point marks a teleport.
 
Fields inherited from class cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.NavPointStatic
SimTime
 
Constructor Summary
NavPointStaticImpl()
          Parameter-less contructor for the message.
NavPointStaticImpl(NavPoint original)
          Cloning constructor from the full message.
NavPointStaticImpl(NavPointStatic original)
          Cloning constructor from the message part.
NavPointStaticImpl(NavPointStaticImpl original)
          Cloning constructor from the full message.
NavPointStaticImpl(UnrealId Id, UnrealId Item, ItemType ItemClass, UnrealId Mover, Vector3d LiftOffset, boolean LiftJumpExit, boolean NoDoubleJump, boolean InvSpot, boolean PlayerStart, int TeamNumber, boolean DomPoint, int DomPointController, boolean Door, boolean LiftCenter, boolean LiftExit, boolean AIMarker, boolean JumpSpot, boolean JumpDest, boolean Teleporter, Rotation Rotation, boolean RoamingSpot, boolean SnipingSpot, Item ItemInstance, java.util.Map<UnrealId,NavPointNeighbourLink> OutgoingEdges, java.util.Map<UnrealId,NavPointNeighbourLink> IncomingEdges, java.lang.String PreferedWeapon)
          Creates new instance of the message NavPoint.
 
Method Summary
 NavPointStaticImpl clone()
           
 int getDomPointController()
          Exported if this NavPoint is a DominationPoint (for BotDoubleDomination game) - which team controls this point.
 UnrealId getId()
          A unique Id of this navigation point assigned by the game.
 java.util.Map<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).
 UnrealId getItem()
          Unique Id of the respawned item (the item respawns at this point).
 ItemType getItemClass()
          Class of the item (e.g.
 Item getItemInstance()
          If item should be present at this navpoint it's instance will be here.
 Vector3d getLiftOffset()
          Starting vector between MyLift location and LiftCenter location.
 UnrealId getMover()
          If this NavPoint is marking some mover, the mover id will be here.
 java.util.Map<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).
 java.lang.String getPreferedWeapon()
          Class of the weapon that should be prefered when using this point for AIMarker specified action.
 Rotation getRotation()
          If the type is AIMarker.
 int getTeamNumber()
          Will be sent if this is a player start.
 boolean isAIMarker()
          If this point is an AI marker - marks an interesting spot in the environment.
 boolean isDomPoint()
          If this point marks a DominationPoint (for BotDoubleDomination game).
 boolean isDoor()
          If this point marks a door mover.
 boolean isInvSpot()
          If this is an inventory spot (item is respawned at this point).
 boolean isJumpDest()
          If this point marks a jump destination - some place that can be reached by some special jump.
 boolean isJumpSpot()
          If this point marks a jump spot (a special device that causes the bot to jump high or far).
 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).
 boolean isLiftExit()
          If this point marks a lift exit (used to mark exit point of a lift mover).
 boolean isLiftJumpExit()
          Boolean.
 boolean isNoDoubleJump()
          Boolean.
 boolean isPlayerStart()
          If this is a player start (players and/or bots are respawned at this point).
 boolean isRoamingSpot()
          Some ambush point, where is good chance to intercept approaching opponents.
 boolean isSnipingSpot()
          Point good for sniping.
 boolean isTeleporter()
          If this point marks a teleport.
 void setItemInstance(Item item)
          DO NOT USE THIS METHOD! Reserved for GaviaLib (Pogamut core)! It's used to set correct item instance into the NavPoint.
 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 cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.NavPointStatic
getCompositeClass, getSimTime
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

Id

protected UnrealId Id
A unique Id of this navigation point assigned by the game.


Item

protected UnrealId Item
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.


ItemClass

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


Mover

protected UnrealId Mover
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.


LiftOffset

protected Vector3d LiftOffset
Starting vector between MyLift location and LiftCenter location. Not sent if point is not a LiftCenter. Sent only in HandShake.


LiftJumpExit

protected boolean LiftJumpExit
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.


NoDoubleJump

protected boolean NoDoubleJump
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.


InvSpot

protected boolean InvSpot
If this is an inventory spot (item is respawned at this point).


PlayerStart

protected boolean PlayerStart
If this is a player start (players and/or bots are respawned at this point).


TeamNumber

protected int TeamNumber
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!


DomPoint

protected boolean DomPoint
If this point marks a DominationPoint (for BotDoubleDomination game).


DomPointController

protected int DomPointController
Exported if this NavPoint is a DominationPoint (for BotDoubleDomination game) - which team controls this point.


Door

protected boolean Door
If this point marks a door mover.


LiftCenter

protected boolean LiftCenter
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).


LiftExit

protected boolean LiftExit
If this point marks a lift exit (used to mark exit point of a lift mover).


AIMarker

protected boolean AIMarker
If this point is an AI marker - marks an interesting spot in the environment. May be ambush point or sniping spot, etc.


JumpSpot

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


JumpDest

protected boolean JumpDest
If this point marks a jump destination - some place that can be reached by some special jump.


Teleporter

protected boolean Teleporter
If this point marks a teleport.


Rotation

protected Rotation Rotation
If the type is AIMarker. The rotation the bot should be facing, when doing the action specified by AIMarker. Sent only in HandShake.


RoamingSpot

protected boolean RoamingSpot
Some ambush point, where is good chance to intercept approaching opponents. Sent only in HandShake.


SnipingSpot

protected boolean SnipingSpot
Point good for sniping. Sent only in HandShake.


ItemInstance

protected Item ItemInstance
If item should be present at this navpoint it's instance will be here.


OutgoingEdges

protected java.util.Map<UnrealId,NavPointNeighbourLink> OutgoingEdges
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).


IncomingEdges

protected java.util.Map<UnrealId,NavPointNeighbourLink> IncomingEdges
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).


PreferedWeapon

protected java.lang.String PreferedWeapon
Class of the weapon that should be prefered when using this point for AIMarker specified action. Sent only in HandShake.

Constructor Detail

NavPointStaticImpl

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


NavPointStaticImpl

public NavPointStaticImpl(UnrealId Id,
                          UnrealId Item,
                          ItemType ItemClass,
                          UnrealId Mover,
                          Vector3d LiftOffset,
                          boolean LiftJumpExit,
                          boolean NoDoubleJump,
                          boolean InvSpot,
                          boolean PlayerStart,
                          int TeamNumber,
                          boolean DomPoint,
                          int DomPointController,
                          boolean Door,
                          boolean LiftCenter,
                          boolean LiftExit,
                          boolean AIMarker,
                          boolean JumpSpot,
                          boolean JumpDest,
                          boolean Teleporter,
                          Rotation Rotation,
                          boolean RoamingSpot,
                          boolean SnipingSpot,
                          Item ItemInstance,
                          java.util.Map<UnrealId,NavPointNeighbourLink> OutgoingEdges,
                          java.util.Map<UnrealId,NavPointNeighbourLink> IncomingEdges,
                          java.lang.String PreferedWeapon)
Creates new instance of the message NavPoint. 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..). Corresponding GameBots message (static part) is NAV.

Parameters:
Id - A unique Id of this navigation point assigned by the game.
Item - 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.
ItemClass - Class of the item (e.g. xWeapons.FlakCannonPickup). Not sent if point is not an inventory spot. Sent only in HandShake.
Mover - 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.
LiftOffset - Starting vector between MyLift location and LiftCenter location. Not sent if point is not a LiftCenter. Sent only in HandShake.
LiftJumpExit - 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.
NoDoubleJump - 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.
InvSpot - If this is an inventory spot (item is respawned at this point).
PlayerStart - If this is a player start (players and/or bots are respawned at this point).
TeamNumber - 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!
DomPoint - If this point marks a DominationPoint (for BotDoubleDomination game).
DomPointController - Exported if this NavPoint is a DominationPoint (for BotDoubleDomination game) - which team controls this point.
Door - If this point marks a door mover.
LiftCenter - 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).
LiftExit - If this point marks a lift exit (used to mark exit point of a lift mover).
AIMarker - If this point is an AI marker - marks an interesting spot in the environment. May be ambush point or sniping spot, etc.
JumpSpot - If this point marks a jump spot (a special device that causes the bot to jump high or far).
JumpDest - If this point marks a jump destination - some place that can be reached by some special jump.
Teleporter - If this point marks a teleport.
Rotation - If the type is AIMarker. The rotation the bot should be facing, when doing the action specified by AIMarker. Sent only in HandShake.
RoamingSpot - Some ambush point, where is good chance to intercept approaching opponents. Sent only in HandShake.
SnipingSpot - Point good for sniping. Sent only in HandShake.
ItemInstance - If item should be present at this navpoint it's instance will be here.
OutgoingEdges - 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).
IncomingEdges - 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).
PreferedWeapon - Class of the weapon that should be prefered when using this point for AIMarker specified action. Sent only in HandShake.

NavPointStaticImpl

public NavPointStaticImpl(NavPoint original)
Cloning constructor from the full message.

Parameters:
original -

NavPointStaticImpl

public NavPointStaticImpl(NavPointStaticImpl original)
Cloning constructor from the full message.

Parameters:
original -

NavPointStaticImpl

public NavPointStaticImpl(NavPointStatic original)
Cloning constructor from the message part.

Parameters:
original -
Method Detail

setSimTime

public void setSimTime(long SimTime)
Description copied from class: NavPointStatic
Used by Yylex to slip correct time of the object or programmatically.

Overrides:
setSimTime in class NavPointStatic

clone

public NavPointStaticImpl clone()
Specified by:
clone in class NavPointStatic

getId

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

Specified by:
getId in interface IWorldObject
Specified by:
getId in class NavPointStatic
Returns:

getItem

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

Specified by:
getItem in class NavPointStatic

getItemClass

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

Specified by:
getItemClass in class NavPointStatic

getMover

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

Specified by:
getMover in class NavPointStatic

getLiftOffset

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

Specified by:
getLiftOffset in class NavPointStatic

isLiftJumpExit

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

Specified by:
isLiftJumpExit in class NavPointStatic

isNoDoubleJump

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

Specified by:
isNoDoubleJump in class NavPointStatic

isInvSpot

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

Specified by:
isInvSpot in class NavPointStatic

isPlayerStart

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

Specified by:
isPlayerStart in class NavPointStatic

getTeamNumber

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

Specified by:
getTeamNumber in class NavPointStatic

isDomPoint

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

Specified by:
isDomPoint in class NavPointStatic

getDomPointController

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

Specified by:
getDomPointController in class NavPointStatic

isDoor

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

Specified by:
isDoor in class NavPointStatic

isLiftCenter

public 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).

Specified by:
isLiftCenter in class NavPointStatic

isLiftExit

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

Specified by:
isLiftExit in class NavPointStatic

isAIMarker

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

Specified by:
isAIMarker in class NavPointStatic

isJumpSpot

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

Specified by:
isJumpSpot in class NavPointStatic

isJumpDest

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

Specified by:
isJumpDest in class NavPointStatic

isTeleporter

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

Specified by:
isTeleporter in class NavPointStatic

getRotation

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

Specified by:
getRotation in class NavPointStatic

isRoamingSpot

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

Specified by:
isRoamingSpot in class NavPointStatic

isSnipingSpot

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

Specified by:
isSnipingSpot in class NavPointStatic

getItemInstance

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

Specified by:
getItemInstance in class NavPointStatic

getOutgoingEdges

public java.util.Map<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).

Specified by:
getOutgoingEdges in class NavPointStatic

getIncomingEdges

public java.util.Map<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).

Specified by:
getIncomingEdges in class NavPointStatic

getPreferedWeapon

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

Specified by:
getPreferedWeapon in class NavPointStatic

toString

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

toHtmlString

public java.lang.String toHtmlString()
Overrides:
toHtmlString in class NavPointStatic

setItemInstance

public void setItemInstance(Item item)
DO NOT USE THIS METHOD! Reserved for GaviaLib (Pogamut core)! It's used to set correct item instance into the NavPoint.