|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object cz.cuni.amis.pogamut.ut2004.bot.impl.UT2004BotController<BOT> cz.cuni.amis.pogamut.ut2004.bot.impl.UT2004BotLogicController<BOT> cz.cuni.amis.pogamut.emohawk.bot.impl.EmohawkBotController<BOT>
public class EmohawkBotController<BOT extends UT2004Bot>
Field Summary | |
---|---|
protected IAct |
act
Shortcut for the UT2004BotController.getAct() . |
protected Animations |
animations
Module for handling animations. |
protected Communication |
comm
Allows you to speak! |
protected AgentConfig |
config
Memory module specialized on the agent's configuration inside UT2004 - name, vision time, manual spawn, cheats (if enabled at GB2004). |
protected EmohawkNavigation |
emohawkNavigation
Can be used for bot navigation within the environment. |
protected Emoticons |
emoticons
Module for handling emoticons. |
protected FloydWarshallMap |
fwMap
Path-planner ( IPathPlanner using NavPoint s), you may use it to find paths inside the environment wihtout
waiting for round-trip of GetPath command and PathList s response from UT2004. |
protected Game |
game
Memory module specialized on general info about the game - game type, time limit, frag limit, etc. |
protected 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 AgentInfo |
info
Memory module specialized on general info about the agent whereabouts - location, rotation, health, current weapon, who is enemy/friend, etc. |
protected Inventory |
inventory
High-level access to inventory and items. |
protected 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 AdvancedLocomotion |
move
This allows you to manually steer the movement through the environment. |
protected 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 UT2004PathExecutor<ILocated> |
pathExecutor
Executor is used for following a path in the environment. |
protected IPathPlanner<ILocated> |
pathPlanner
Planner used to compute the path (consisting of navigation points) inside the map. |
protected Places |
places
High-level description of the map. |
protected 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 Raycasting |
raycasting
Support for creating rays used for raycasting (see AutoTraceRay that is being utilized). |
protected UT2004RunStraight |
runStraight
Navigation helper that can run-straight to some point with stuck detectors. |
protected Senses |
senses
Memory module specialized on agent's senses - whether the bot has been recently killed, collide with level's geometry, etc. |
protected AgentStats |
stats
Module that is providing various statistics about the bot. |
protected Steering |
steering
High-level access to steering library. |
protected IVisionWorldView |
world
Shortcut for the UT2004BotController.getWorldView() . |
Fields inherited from class cz.cuni.amis.pogamut.ut2004.bot.impl.UT2004BotLogicController |
---|
logicModule |
Fields inherited from class cz.cuni.amis.pogamut.ut2004.bot.impl.UT2004BotController |
---|
bot, log, USER_LOG_CATEGORY_ID |
Constructor Summary | |
---|---|
EmohawkBotController()
|
Method Summary | |
---|---|
void |
finishControllerInitialization()
|
AgentConfig |
getConfig()
|
FloydWarshallMap |
getFwMap()
|
Game |
getGame()
|
AgentInfo |
getInfo()
|
AdvancedLocomotion |
getMove()
|
UT2004Navigation |
getNavigation()
|
cz.cuni.amis.pogamut.unreal.agent.navigation.IUnrealPathExecutor<ILocated> |
getPathExecutor()
|
IPathPlanner<ILocated> |
getPathPlanner()
|
Players |
getPlayers()
|
Random |
getRandom()
|
Raycasting |
getRaycasting()
|
Senses |
getSenses()
|
AgentStats |
getStats()
|
IVisionWorldView |
getWorld()
|
void |
initializeController(BOT bot)
|
protected void |
initializeListeners(BOT bot)
Initializes UT2004BotModuleControllerNew#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 , UT2004BotModuleController.fwMap and UT2004BotModuleControllerNew#pathExecutor . |
Methods inherited from class cz.cuni.amis.pogamut.ut2004.bot.impl.UT2004BotLogicController |
---|
beforeFirstLogic, getLogicInitializeTime, getLogicShutdownTime, initializeLogic, logic, logicInitialize, logicShutdown |
Methods inherited from class cz.cuni.amis.pogamut.ut2004.bot.impl.UT2004BotController |
---|
botFirstSpawn, botInitialized, botKilled, botShutdown, getAct, getBot, getInitializeCommand, getLog, getName, getPassword, getWorldView, prepareBot |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface cz.cuni.amis.pogamut.ut2004.bot.IUT2004BotController |
---|
botFirstSpawn, botInitialized, botKilled, botShutdown, getAct, getBot, getInitializeCommand, getLog, getPassword, getWorldView, prepareBot |
Field Detail |
---|
protected Random random
protected Game game
Initialized inside UT2004BotModuleController.initializeModules(UT2004Bot)
.
protected AgentInfo info
May be used since first Self
message is received, i.e, since the first IUT2004BotController.botFirstSpawn(cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.GameInfo, ConfigChange, InitedMessage, Self)
is called.
Initialized inside UT2004BotModuleController.initializeModules(UT2004Bot)
.
protected Players players
Initialized inside UT2004BotModuleController.initializeModules(UT2004Bot)
.
protected Senses senses
Initialized inside UT2004BotModuleController.initializeModules(UT2004Bot)
.
protected AgentConfig config
May be used since IUT2004BotController.botInitialized(cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.GameInfo, ConfigChange, cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.InitedMessage)
is called.
Initialized inside UT2004BotModuleController.initializeModules(UT2004Bot)
.
protected Raycasting raycasting
AutoTraceRay
that is being utilized).
Initialized inside UT2004BotModuleController.initializeModules(UT2004Bot)
.
protected AdvancedLocomotion move
Note: navigation is done via UT2004BotModuleControllerNew#pathExecutor
that needs PathHandle
from the UT2004BotModuleControllerNew#pathPlanner
.
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 UT2004BotModuleController.initializeModules(UT2004Bot)
.
protected Communication comm
protected UT2004PathExecutor<ILocated> pathExecutor
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 UT2004BotModuleController.initializePathFinding(UT2004Bot)
.
protected IPathPlanner<ILocated> pathPlanner
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 UT2004BotModuleController.initializePathFinding(UT2004Bot)
.
protected UT2004GetBackToNavGraph getBackToNavGraph
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)
.
protected UT2004RunStraight runStraight
May be used since IUT2004BotController.botInitialized(cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.GameInfo, ConfigChange, InitedMessage)
is called.
Initialized inside UT2004BotModuleController.initializePathFinding(UT2004Bot)
.
protected UT2004Navigation navigation
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)
.
protected AnnotationListenerRegistrator listenerRegistrator
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.
protected EmohawkNavigation emohawkNavigation
UT2004Navigation
but uses Steering
with PeopleAvoidanceSteer
.
May be used since first UT2004BotLogicController.logic()
is called.
Initialized inside UT2004BotModuleController.initializePathFinding(UT2004Bot)
.
protected IVisionWorldView world
UT2004BotController.getWorldView()
.
protected IAct act
UT2004BotController.getAct()
.
protected AgentStats stats
AgentStats.startOutput(String)
or AgentStats.startOutput(String, boolean)
.
protected FloydWarshallMap fwMap
IPathPlanner
using NavPoint
s), you may use it to find paths inside the environment wihtout
waiting for round-trip of GetPath
command and PathList
s 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)
.
protected Animations animations
protected Emoticons emoticons
protected Places places
protected Steering steering
protected Inventory inventory
Constructor Detail |
---|
public EmohawkBotController()
Method Detail |
---|
public void initializeController(BOT bot)
initializeController
in interface IUT2004BotController<BOT extends UT2004Bot>
initializeController
in class UT2004BotLogicController<BOT extends UT2004Bot>
protected void initializeListeners(BOT bot)
UT2004BotModuleControllerNew#listenerRegistrator
and calls AnnotationListenerRegistrator.addListeners()
method
to probe all declared methods for event-annotation presence.
bot
- protected void initializePathFinding(BOT bot)
UT2004BotModuleControllerNew#pathPlanner
, UT2004BotModuleController.fwMap
and UT2004BotModuleControllerNew#pathExecutor
.
If you need different path planner / path executor - override this method and initialize your own modules.
bot
- protected void initializeModules(BOT bot)
bot
- public void finishControllerInitialization()
finishControllerInitialization
in interface IUT2004BotController<BOT extends UT2004Bot>
finishControllerInitialization
in class UT2004BotController<BOT extends UT2004Bot>
public Random getRandom()
public Game getGame()
public AgentInfo getInfo()
public Players getPlayers()
public Senses getSenses()
public AgentConfig getConfig()
public Raycasting getRaycasting()
public AdvancedLocomotion getMove()
public cz.cuni.amis.pogamut.unreal.agent.navigation.IUnrealPathExecutor<ILocated> getPathExecutor()
public IPathPlanner<ILocated> getPathPlanner()
public IVisionWorldView getWorld()
public AgentStats getStats()
public FloydWarshallMap getFwMap()
public UT2004Navigation getNavigation()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |