cz.cuni.amis.pogamut.sposh.context
Class UT2004Behaviour<BOT extends cz.cuni.amis.pogamut.ut2004.bot.impl.UT2004Bot>

Package class diagram package UT2004Behaviour
java.lang.Object
  extended by cz.cuni.amis.pogamut.sposh.JavaBehaviour<BOT>
      extended by cz.cuni.amis.pogamut.sposh.context.UT2004Behaviour<BOT>

public class UT2004Behaviour<BOT extends cz.cuni.amis.pogamut.ut2004.bot.impl.UT2004Bot>
extends cz.cuni.amis.pogamut.sposh.JavaBehaviour<BOT>


Field Summary
protected  cz.cuni.amis.pogamut.base.communication.command.IAct act
          Shortcut for the UT2004BotController.getAct().
protected  cz.cuni.amis.pogamut.ut2004.agent.navigation.astar.UT2004AStar aStar
          Class providing A-Star algorithm over the navpoints as they are present within the IWorldView.
protected  cz.cuni.amis.pogamut.ut2004.bot.command.CompleteBotCommandsWrapper body
          Creates and wraps all available commands that can be issued to the virtual body of the bot inside UT2004.
protected  cz.cuni.amis.pogamut.ut2004.agent.module.sensomotoric.AdrenalineCombo combo
          Module for adrenaline combos.
protected  cz.cuni.amis.pogamut.ut2004.agent.module.sensomotoric.AgentConfig config
          Memory module specialized on the agent's configuration inside UT2004 - name, vision time, manual spawn, cheats (if enabled at GB2004).
protected  cz.cuni.amis.pogamut.ut2004.agent.module.sensor.CTF ctf
          Module specialized on CTF games.
protected  cz.cuni.amis.pogamut.ut2004.agent.module.sensor.ItemDescriptors descriptors
          Sensory module that provides mapping between ItemType and ItemDescriptor providing an easy way to obtain item descriptors for various items in UT2004.
protected  cz.cuni.amis.pogamut.ut2004.agent.navigation.floydwarshall.FloydWarshallMap fwMap
          Path-planner (IPathPlanner using NavPoints), you may use it to find paths inside the environment wihtout waiting for round-trip of GetPath command and PathLists response from UT2004.
protected  cz.cuni.amis.pogamut.ut2004.agent.module.sensor.Game game
          Memory module specialized on general info about the game - game type, time limit, frag limit, etc.
protected  cz.cuni.amis.pogamut.ut2004.agent.navigation.UT2004GetBackToNavGraph getBackToNavGraph
          Navigation helper that is able to get your bot back to the nearest navigation graph so you can use UT2004BotModuleController.navigation without fear of catastrophe.
protected  cz.cuni.amis.pogamut.ut2004.agent.module.sensor.AgentInfo info
          Memory module specialized on general info about the agent whereabouts - location, rotation, health, current weapon, who is enemy/friend, etc.
protected  cz.cuni.amis.pogamut.ut2004.agent.module.sensor.Items items
          Memory module specialized on items on the map - which are visible and which are probably spawned.
protected  cz.cuni.amis.pogamut.base.communication.worldview.listener.annotation.AnnotationListenerRegistrator listenerRegistrator
          Listener registrator that probes declared methods for the presence of EventListener, ObjectClassEventListener, ObjectClassListener, ObjectEventListener and ObjectListener annotations and automatically registers them as listeners on a specific events.
protected  cz.cuni.amis.pogamut.base.utils.logging.LogCategory log
          Alias for user's log.
protected  cz.cuni.amis.pogamut.ut2004.bot.command.AdvancedLocomotion move
          Shortcut for body.getAdvancedLocomotion() that allows you to manually steer the movement through the environment.
protected  cz.cuni.amis.pogamut.ut2004.agent.module.sensor.NavigationGraphBuilder navBuilder
          Navigation graph builder that may be used to manually extend the navigation graph of the UT2004.
protected  cz.cuni.amis.pogamut.ut2004.agent.navigation.UT2004Navigation navigation
          Command module that is internally using UT2004PathExecutor for path-following and FloydWarshallMap for path planning resulting in unified class that can solely handle navigation of the bot within the environment.
protected  cz.cuni.amis.pogamut.ut2004.agent.module.sensor.NavPoints navPoints
          Module that provides shortcut for getting NavPoints out of IWorldView.
protected  cz.cuni.amis.pogamut.ut2004.agent.navigation.UT2004PathExecutor<cz.cuni.amis.pogamut.base3d.worldview.object.ILocated> pathExecutor
          Executor is used for following a path in the environment.
protected  cz.cuni.amis.pogamut.base.agent.navigation.IPathPlanner<cz.cuni.amis.pogamut.base3d.worldview.object.ILocated> pathPlanner
          Planner used to compute the path (consisting of navigation points) inside the map.
protected  cz.cuni.amis.pogamut.ut2004.agent.module.sensor.Players players
          Memory module specialized on whereabouts of other players - who is visible, enemy / friend, whether bot can see anybody, etc.
protected  Random random
          Random number generator that is usually useful to have during decision making.
protected  cz.cuni.amis.pogamut.ut2004.agent.module.sensomotoric.Raycasting raycasting
          Support for creating rays used for raycasting (see AutoTraceRay that is being utilized).
protected  cz.cuni.amis.pogamut.ut2004.agent.navigation.UT2004RunStraight runStraight
          Navigation helper that can run-straight to some point with stuck detectors.
protected  cz.cuni.amis.pogamut.ut2004.agent.module.sensor.Senses senses
          Memory module specialized on agent's senses - whether the bot has been recently killed, collide with level's geometry, etc.
protected  cz.cuni.amis.pogamut.ut2004.bot.command.ImprovedShooting shoot
          Shortcut for body.getImprovedShooting() that allows you to shoot at opponent.
protected  cz.cuni.amis.pogamut.ut2004.agent.module.sensor.AgentStats stats
          Module that is providing various statistics about the bot.
protected  cz.cuni.amis.pogamut.base.utils.logging.LogCategory user
          Deprecated. use UT2004BotController.log instead
protected  cz.cuni.amis.pogamut.ut2004.agent.module.sensor.visibility.Visibility visibility
          Module that provides visibility/cover information for the map.
protected  cz.cuni.amis.pogamut.ut2004.agent.module.sensor.WeaponPrefs weaponPrefs
          Weapon preferences for your bot.
protected  cz.cuni.amis.pogamut.ut2004.agent.module.sensomotoric.Weaponry weaponry
          Memory module specialized on info about the bot's weapon and ammo inventory - it can tell you which weapons are loaded, melee/ranged, etc.
protected  cz.cuni.amis.pogamut.base3d.worldview.IVisionWorldView world
          Shortcut for the UT2004BotController.getWorldView().
 
Fields inherited from class cz.cuni.amis.pogamut.sposh.JavaBehaviour
bot
 
Constructor Summary
UT2004Behaviour(String name, BOT bot)
           
 
Method Summary
 void botInitialized(cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.GameInfo info, cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.ConfigChange config, cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.InitedMessage init)
          This method is called whenever InitedMessage is received.
 void botKilled(cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.BotKilled event)
          Called whenever the bot gets killed inside the game.
 void botSpawned(cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.GameInfo gameInfo, cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.ConfigChange config, cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.InitedMessage init, cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.Self self)
          This method is called only once whenever first batch of information what the bot can see is received.
 void finishBehaviourInitialization()
          Called after botSpawned(GameInfo, ConfigChange, InitedMessage, Self) as a hook for Pogamut's core developers to finalize initialization of various modules.
 cz.cuni.amis.pogamut.base.communication.command.IAct getAct()
           
 cz.cuni.amis.pogamut.ut2004.agent.navigation.astar.UT2004AStar getaStar()
           
 cz.cuni.amis.pogamut.ut2004.bot.command.CompleteBotCommandsWrapper getBody()
           
 cz.cuni.amis.pogamut.ut2004.agent.module.sensomotoric.AdrenalineCombo getCombo()
           
 cz.cuni.amis.pogamut.ut2004.agent.module.sensomotoric.AgentConfig getConfig()
           
 cz.cuni.amis.pogamut.ut2004.agent.module.sensor.CTF getCtf()
           
 cz.cuni.amis.pogamut.ut2004.agent.module.sensor.ItemDescriptors getDescriptors()
           
 cz.cuni.amis.pogamut.ut2004.agent.navigation.floydwarshall.FloydWarshallMap getFwMap()
           
 cz.cuni.amis.pogamut.ut2004.agent.module.sensor.Game getGame()
           
 cz.cuni.amis.pogamut.ut2004.agent.navigation.UT2004GetBackToNavGraph getGetBackToNavGraph()
           
 cz.cuni.amis.pogamut.ut2004.agent.module.sensor.AgentInfo getInfo()
           
 cz.cuni.amis.pogamut.ut2004.agent.module.sensor.Items getItems()
           
 cz.cuni.amis.pogamut.base.utils.logging.LogCategory getLog()
           
 cz.cuni.amis.pogamut.ut2004.bot.command.AdvancedLocomotion getMove()
           
 cz.cuni.amis.pogamut.ut2004.agent.module.sensor.NavigationGraphBuilder getNavBuilder()
           
 cz.cuni.amis.pogamut.ut2004.agent.navigation.UT2004Navigation getNavigation()
           
 cz.cuni.amis.pogamut.ut2004.agent.module.sensor.NavPoints getNavPoints()
           
 cz.cuni.amis.pogamut.ut2004.agent.navigation.UT2004PathExecutor<cz.cuni.amis.pogamut.base3d.worldview.object.ILocated> getPathExecutor()
           
 cz.cuni.amis.pogamut.base.agent.navigation.IPathPlanner<cz.cuni.amis.pogamut.base3d.worldview.object.ILocated> getPathPlanner()
           
 cz.cuni.amis.pogamut.ut2004.agent.module.sensor.Players getPlayers()
           
 Random getRandom()
           
 cz.cuni.amis.pogamut.ut2004.agent.module.sensomotoric.Raycasting getRaycasting()
           
 cz.cuni.amis.pogamut.ut2004.agent.navigation.UT2004RunStraight getRunStraight()
           
 cz.cuni.amis.pogamut.ut2004.agent.module.sensor.Senses getSensesModule()
           
 cz.cuni.amis.pogamut.ut2004.bot.command.ImprovedShooting getShoot()
           
 cz.cuni.amis.pogamut.ut2004.agent.module.sensor.AgentStats getStats()
           
 cz.cuni.amis.pogamut.ut2004.agent.module.sensor.visibility.Visibility getVisibility()
           
 cz.cuni.amis.pogamut.ut2004.agent.module.sensor.WeaponPrefs getWeaponPrefs()
           
 cz.cuni.amis.pogamut.ut2004.agent.module.sensomotoric.Weaponry getWeaponry()
           
 cz.cuni.amis.pogamut.base3d.worldview.IVisionWorldView getWorld()
           
 cz.cuni.amis.pogamut.base3d.worldview.IVisionWorldView getWorldView()
           
protected  void initializeBehaviour(BOT bot)
          Called after the construction of the UT2004Behaviour before the GameBots2004 greets the bot even before prepareBehaviour(UT2004Bot) method.
protected  void initializeListeners(BOT bot)
          Initializes listenerRegistrator and calls AnnotationListenerRegistrator.addListeners() method to probe all declared methods for event-annotation presence.
protected  void initializeModules(BOT bot)
          Initializes memory/command modules of the bot.
protected  void initializePathFinding(BOT bot)
          Initializes path-finding modules: UT2004BotModuleControllerNew#pathPlanner and UT2004BotModuleControllerNew#pathExecutor.
protected  void prepareBehaviour(BOT bot)
          Called after the behaviour construction to initialize user's data structures.
 
Methods inherited from class cz.cuni.amis.pogamut.sposh.JavaBehaviour
doNothing, fail, getActions, getBot, getName, getSenses, logicAfterPlan, logicBeforePlan, succeed
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

random

protected Random random
Random number generator that is usually useful to have during decision making.


user

protected cz.cuni.amis.pogamut.base.utils.logging.LogCategory user
Deprecated. use UT2004BotController.log instead
User log - it's log-level is initially set to Level.ALL.


log

protected cz.cuni.amis.pogamut.base.utils.logging.LogCategory log
Alias for user's log.


game

protected cz.cuni.amis.pogamut.ut2004.agent.module.sensor.Game game
Memory module specialized on general info about the game - game type, time limit, frag limit, etc.

May be used since SposhBotLogic#botInitialized(cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.GameInfo, cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.ConfigChange, cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.InitedMessage) is called.

Initialized inside initializeModules(UT2004Bot).


info

protected cz.cuni.amis.pogamut.ut2004.agent.module.sensor.AgentInfo info
Memory module specialized on general info about the agent whereabouts - location, rotation, health, current weapon, who is enemy/friend, etc.

May be used since first Self message is received, i.e, since the first SposhBotLogic#botFirstSpawn(cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.GameInfo, ConfigChange, InitedMessage, Self) is called.

Initialized inside initializeModules(UT2004Bot).


players

protected cz.cuni.amis.pogamut.ut2004.agent.module.sensor.Players players
Memory module specialized on whereabouts of other players - who is visible, enemy / friend, whether bot can see anybody, etc.

May be used since SposhBotLogic#botInitialized(cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.GameInfo, cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.ConfigChange, cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.InitedMessage) is called.

Initialized inside initializeModules(UT2004Bot).


descriptors

protected cz.cuni.amis.pogamut.ut2004.agent.module.sensor.ItemDescriptors descriptors
Sensory module that provides mapping between ItemType and ItemDescriptor providing an easy way to obtain item descriptors for various items in UT2004.

May be used since SposhBotLogic#botInitialized(cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.GameInfo, cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.ConfigChange, cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.InitedMessage) is called.

Initialized inside initializeModules(UT2004Bot).


items

protected cz.cuni.amis.pogamut.ut2004.agent.module.sensor.Items items
Memory module specialized on items on the map - which are visible and which are probably spawned.

May be used since SposhBotLogic#botInitialized(cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.GameInfo, cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.ConfigChange, cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.InitedMessage) is called.

Initialized inside initializeModules(UT2004Bot).


senses

protected cz.cuni.amis.pogamut.ut2004.agent.module.sensor.Senses senses
Memory module specialized on agent's senses - whether the bot has been recently killed, collide with level's geometry, etc.

May be used since SposhBotLogic#botInitialized(cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.GameInfo, cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.ConfigChange, cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.InitedMessage) is called.

Initialized inside initializeModules(UT2004Bot).


weaponry

protected cz.cuni.amis.pogamut.ut2004.agent.module.sensomotoric.Weaponry weaponry
Memory module specialized on info about the bot's weapon and ammo inventory - it can tell you which weapons are loaded, melee/ranged, etc.

May be used since SposhBotLogic#botInitialized(cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.GameInfo, cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.ConfigChange, cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.InitedMessage) is called.

Initialized inside initializeModules(UT2004Bot).


config

protected cz.cuni.amis.pogamut.ut2004.agent.module.sensomotoric.AgentConfig config
Memory module specialized on the agent's configuration inside UT2004 - name, vision time, manual spawn, cheats (if enabled at GB2004).

May be used since SposhBotLogic#botInitialized(cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.GameInfo, ConfigChange, cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.InitedMessage) is called.

Initialized inside initializeModules(UT2004Bot).


raycasting

protected cz.cuni.amis.pogamut.ut2004.agent.module.sensomotoric.Raycasting raycasting
Support for creating rays used for raycasting (see AutoTraceRay that is being utilized).

May be used since SposhBotLogic#botInitialized(cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.GameInfo, cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.ConfigChange, cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.InitedMessage) is called.


body

protected cz.cuni.amis.pogamut.ut2004.bot.command.CompleteBotCommandsWrapper body
Creates and wraps all available commands that can be issued to the virtual body of the bot inside UT2004.

May be used since since the first SposhBotLogic#botFirstSpawn(cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.GameInfo, ConfigChange, InitedMessage, Self) is called.

Initialized inside initializeModules(UT2004Bot).


shoot

protected cz.cuni.amis.pogamut.ut2004.bot.command.ImprovedShooting shoot
Shortcut for body.getImprovedShooting() that allows you to shoot at opponent.

Note: more weapon-handling methods are available through weaponry.

May be used since since the first SposhBotLogic#botFirstSpawn(cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.GameInfo, ConfigChange, InitedMessage, Self) is called.

Initialized inside initializeModules(UT2004Bot).


move

protected cz.cuni.amis.pogamut.ut2004.bot.command.AdvancedLocomotion move
Shortcut for body.getAdvancedLocomotion() that allows you to manually steer the movement through the environment.

Note: navigation is done via pathExecutor that needs PathHandle from the pathPlanner.

May be used since since the first SposhBotLogic#botFirstSpawn(cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.GameInfo, ConfigChange, InitedMessage, Self) is called.

Initialized inside initializeModules(UT2004Bot).


pathExecutor

protected cz.cuni.amis.pogamut.ut2004.agent.navigation.UT2004PathExecutor<cz.cuni.amis.pogamut.base3d.worldview.object.ILocated> pathExecutor
Executor is used for following a path in the environment.

May be used since since the first IUT2004BotController.botFirstSpawn(cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.GameInfo, ConfigChange, InitedMessage, Self) is called.

Initialized inside UT2004BotModuleControllerNew#initializePathFinding(UT2004Bot).


pathPlanner

protected cz.cuni.amis.pogamut.base.agent.navigation.IPathPlanner<cz.cuni.amis.pogamut.base3d.worldview.object.ILocated> pathPlanner
Planner used to compute the path (consisting of navigation points) inside the map.

May be used since since the first IUT2004BotController.botFirstSpawn(cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.GameInfo, ConfigChange, InitedMessage, Self) is called.

Initialized inside UT2004BotModuleControllerNew#initializePathFinding(UT2004Bot).


weaponPrefs

protected cz.cuni.amis.pogamut.ut2004.agent.module.sensor.WeaponPrefs weaponPrefs
Weapon preferences for your bot. See WeaponPrefs class javadoc. It allows you to define preferences for weapons to be used at given distance (together with their firing mode).


navBuilder

protected cz.cuni.amis.pogamut.ut2004.agent.module.sensor.NavigationGraphBuilder navBuilder
Navigation graph builder that may be used to manually extend the navigation graph of the UT2004.

May be used since IUT2004BotController.botInitialized(cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.GameInfo, ConfigChange, InitedMessage) is called.

Initialized inside UT2004BotModuleController.initializeModules(UT2004Bot).


stats

protected cz.cuni.amis.pogamut.ut2004.agent.module.sensor.AgentStats stats
Module that is providing various statistics about the bot. You may also used it to output these stats (in CSV format) into some file using AgentStats.startOutput(String) or AgentStats.startOutput(String, boolean).


fwMap

protected cz.cuni.amis.pogamut.ut2004.agent.navigation.floydwarshall.FloydWarshallMap fwMap
Path-planner (IPathPlanner using NavPoints), you may use it to find paths inside the environment wihtout waiting for round-trip of GetPath command and PathLists response from UT2004. It is much faster than UT2004BotModuleController#pathPlanner but you need to pass NavPoint instances to planner instead of ILocated ... to find the nearest NavPoint instance, DistanceUtils is a handy, check especially DistanceUtils.getNearest(java.util.Collection, ILocated).


getBackToNavGraph

protected cz.cuni.amis.pogamut.ut2004.agent.navigation.UT2004GetBackToNavGraph getBackToNavGraph
Navigation helper that is able to get your bot back to the nearest navigation graph so you can use UT2004BotModuleController.navigation without fear of catastrophe. May be used since IUT2004BotController.botInitialized(cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.GameInfo, ConfigChange, InitedMessage) is called.

Initialized inside UT2004BotModuleController.initializePathFinding(UT2004Bot).


runStraight

protected cz.cuni.amis.pogamut.ut2004.agent.navigation.UT2004RunStraight runStraight
Navigation helper that can run-straight to some point with stuck detectors.

May be used since IUT2004BotController.botInitialized(cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.GameInfo, ConfigChange, InitedMessage) is called.

Initialized inside UT2004BotModuleController.initializePathFinding(UT2004Bot).


navigation

protected cz.cuni.amis.pogamut.ut2004.agent.navigation.UT2004Navigation navigation
Command module that is internally using UT2004PathExecutor for path-following and FloydWarshallMap for path planning resulting in unified class that can solely handle navigation of the bot within the environment.

In contrast to UT2004PathExecutor methods of this module may be recalled every UT2004BotLogicController.logic() iteration even with the same argument (which is not true for BasePathExecutor.followPath(cz.cuni.amis.pogamut.base.agent.navigation.IPathFuture).

Note that this class is actually initialized with instances of UT2004BotModuleController#pathExecutor and UT2004BotModuleController.fwMap so you must take care if using add/remove stuck detectors or reinitilize this property to your liking (you can do that in UT2004BotController.botInitialized(cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.GameInfo, ConfigChange, InitedMessage) method.

May be used since first UT2004BotLogicController.logic() is called.

Initialized inside UT2004BotModuleController.initializePathFinding(UT2004Bot).


visibility

protected cz.cuni.amis.pogamut.ut2004.agent.module.sensor.visibility.Visibility visibility
Module that provides visibility/cover information for the map.

May be used since IUT2004BotController.botInitialized(cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.GameInfo, ConfigChange, InitedMessage) is called.

Initialized inside UT2004BotModuleController.initializeModules(UT2004Bot).


listenerRegistrator

protected cz.cuni.amis.pogamut.base.communication.worldview.listener.annotation.AnnotationListenerRegistrator listenerRegistrator
Listener registrator that probes declared methods for the presence of EventListener, ObjectClassEventListener, ObjectClassListener, ObjectEventListener and ObjectListener annotations and automatically registers them as listeners on a specific events.

Note that this registrator is usable for 'this' object only! It will work only for 'this' object.


world

protected cz.cuni.amis.pogamut.base3d.worldview.IVisionWorldView world
Shortcut for the UT2004BotController.getWorldView().


navPoints

protected cz.cuni.amis.pogamut.ut2004.agent.module.sensor.NavPoints navPoints
Module that provides shortcut for getting NavPoints out of IWorldView.

May be used since IUT2004BotController.botInitialized(cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.GameInfo, ConfigChange, InitedMessage) is called.

Initialized inside UT2004BotModuleController.initializeModules(UT2004Bot).


aStar

protected cz.cuni.amis.pogamut.ut2004.agent.navigation.astar.UT2004AStar aStar
Class providing A-Star algorithm over the navpoints as they are present within the IWorldView.

You may provide custom IPFMapView over the map in-order to greatly customize the A-Star search.


ctf

protected cz.cuni.amis.pogamut.ut2004.agent.module.sensor.CTF ctf
Module specialized on CTF games. Enabled only for CTF games, check CTF.isEnabled().

Initialized inside UT2004BotModuleController.initializeModules(UT2004Bot).


combo

protected cz.cuni.amis.pogamut.ut2004.agent.module.sensomotoric.AdrenalineCombo combo
Module for adrenaline combos.


act

protected cz.cuni.amis.pogamut.base.communication.command.IAct act
Shortcut for the UT2004BotController.getAct().

Constructor Detail

UT2004Behaviour

public UT2004Behaviour(String name,
                       BOT bot)
Method Detail

initializeBehaviour

protected void initializeBehaviour(BOT bot)
Called after the construction of the UT2004Behaviour before the GameBots2004 greets the bot even before prepareBehaviour(UT2004Bot) method.

NOTE: This is Pogamut's developers reserved method - do not override it and if you do, always use 'super' to call parent's initializeBehaviour.


initializeListeners

protected void initializeListeners(BOT bot)
Initializes listenerRegistrator and calls AnnotationListenerRegistrator.addListeners() method to probe all declared methods for event-annotation presence.

Parameters:
bot -

initializePathFinding

protected void initializePathFinding(BOT bot)
Initializes path-finding modules: UT2004BotModuleControllerNew#pathPlanner and UT2004BotModuleControllerNew#pathExecutor. If you need different path planner / path executor - override this method and initialize your own modules.

Parameters:
bot -

initializeModules

protected void initializeModules(BOT bot)
Initializes memory/command modules of the bot.

Parameters:
bot -

prepareBehaviour

protected void prepareBehaviour(BOT bot)
Called after the behaviour construction to initialize user's data structures.

Parameters:
bot -

botInitialized

public void botInitialized(cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.GameInfo info,
                           cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.ConfigChange config,
                           cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.InitedMessage init)
This method is called whenever InitedMessage is received. Various agent modules are usable since this method is called.

Parameters:
gameInfo -
config -
init -
self -

botSpawned

public void botSpawned(cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.GameInfo gameInfo,
                       cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.ConfigChange config,
                       cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.InitedMessage init,
                       cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.Self self)
This method is called only once whenever first batch of information what the bot can see is received. It is sort of "first-logic-method" where you may issue commands for the first time and handle everything else in bot's logic then. It eliminates the need to have 'boolean firstLogic' field inside your bot.

Note that this method has advantage over the IUT2004BotController.botInitialized(GameInfo, ConfigChange, InitedMessage) that you already have Self object.

Parameters:
gameInfo -
config -
init -
self -

finishBehaviourInitialization

public void finishBehaviourInitialization()
Called after botSpawned(GameInfo, ConfigChange, InitedMessage, Self) as a hook for Pogamut's core developers to finalize initialization of various modules.

NOTE: This is Pogamut's developers reserved method - do not override it and if you do, always use 'super' to call parent's finishControllerInitialization.


botKilled

public void botKilled(cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.BotKilled event)
Called whenever the bot gets killed inside the game.

Parameters:
event -

getWorldView

public cz.cuni.amis.pogamut.base3d.worldview.IVisionWorldView getWorldView()

getAct

public cz.cuni.amis.pogamut.base.communication.command.IAct getAct()

getGetBackToNavGraph

public cz.cuni.amis.pogamut.ut2004.agent.navigation.UT2004GetBackToNavGraph getGetBackToNavGraph()

getVisibility

public cz.cuni.amis.pogamut.ut2004.agent.module.sensor.visibility.Visibility getVisibility()

getRandom

public Random getRandom()

getLog

public cz.cuni.amis.pogamut.base.utils.logging.LogCategory getLog()

getGame

public cz.cuni.amis.pogamut.ut2004.agent.module.sensor.Game getGame()

getInfo

public cz.cuni.amis.pogamut.ut2004.agent.module.sensor.AgentInfo getInfo()

getPlayers

public cz.cuni.amis.pogamut.ut2004.agent.module.sensor.Players getPlayers()

getDescriptors

public cz.cuni.amis.pogamut.ut2004.agent.module.sensor.ItemDescriptors getDescriptors()

getItems

public cz.cuni.amis.pogamut.ut2004.agent.module.sensor.Items getItems()

getSensesModule

public cz.cuni.amis.pogamut.ut2004.agent.module.sensor.Senses getSensesModule()

getWeaponry

public cz.cuni.amis.pogamut.ut2004.agent.module.sensomotoric.Weaponry getWeaponry()

getConfig

public cz.cuni.amis.pogamut.ut2004.agent.module.sensomotoric.AgentConfig getConfig()

getRaycasting

public cz.cuni.amis.pogamut.ut2004.agent.module.sensomotoric.Raycasting getRaycasting()

getBody

public cz.cuni.amis.pogamut.ut2004.bot.command.CompleteBotCommandsWrapper getBody()

getShoot

public cz.cuni.amis.pogamut.ut2004.bot.command.ImprovedShooting getShoot()

getMove

public cz.cuni.amis.pogamut.ut2004.bot.command.AdvancedLocomotion getMove()

getPathExecutor

public cz.cuni.amis.pogamut.ut2004.agent.navigation.UT2004PathExecutor<cz.cuni.amis.pogamut.base3d.worldview.object.ILocated> getPathExecutor()

getPathPlanner

public cz.cuni.amis.pogamut.base.agent.navigation.IPathPlanner<cz.cuni.amis.pogamut.base3d.worldview.object.ILocated> getPathPlanner()

getWeaponPrefs

public cz.cuni.amis.pogamut.ut2004.agent.module.sensor.WeaponPrefs getWeaponPrefs()

getNavBuilder

public cz.cuni.amis.pogamut.ut2004.agent.module.sensor.NavigationGraphBuilder getNavBuilder()

getStats

public cz.cuni.amis.pogamut.ut2004.agent.module.sensor.AgentStats getStats()

getFwMap

public cz.cuni.amis.pogamut.ut2004.agent.navigation.floydwarshall.FloydWarshallMap getFwMap()

getRunStraight

public cz.cuni.amis.pogamut.ut2004.agent.navigation.UT2004RunStraight getRunStraight()

getNavigation

public cz.cuni.amis.pogamut.ut2004.agent.navigation.UT2004Navigation getNavigation()

getWorld

public cz.cuni.amis.pogamut.base3d.worldview.IVisionWorldView getWorld()

getNavPoints

public cz.cuni.amis.pogamut.ut2004.agent.module.sensor.NavPoints getNavPoints()

getaStar

public cz.cuni.amis.pogamut.ut2004.agent.navigation.astar.UT2004AStar getaStar()

getCtf

public cz.cuni.amis.pogamut.ut2004.agent.module.sensor.CTF getCtf()

getCombo

public cz.cuni.amis.pogamut.ut2004.agent.module.sensomotoric.AdrenalineCombo getCombo()


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