cz.cuni.amis.pogamut.udk.bot.impl
Class UDKBot<WORLD_VIEW extends IVisionWorldView,ACT extends IAct,CONTROLLER extends IUDKBotController>

Package class diagram package UDKBot
java.lang.Object
  extended by cz.cuni.amis.pogamut.base.agent.impl.AbstractAgent
      extended by cz.cuni.amis.pogamut.base.agent.impl.AbstractObservingAgent<WORLD_VIEW>
          extended by cz.cuni.amis.pogamut.base.agent.impl.AbstractGhostAgent<WORLD_VIEW,ACT>
              extended by cz.cuni.amis.pogamut.base.agent.impl.AbstractEmbodiedAgent<WORLD_VIEW,ACT>
                  extended by cz.cuni.amis.pogamut.base3d.agent.AbstractAgent3D<WORLD_VIEW,ACT>
                      extended by cz.cuni.amis.pogamut.udk.bot.impl.UDKBot<WORLD_VIEW,ACT,CONTROLLER>
All Implemented Interfaces:
IAgent, IEmbodiedAgent, IGhostAgent, IObservingAgent, IComponent, IComponentAware, IControllable, IAgent3D, ILocated, ILocomotive, IRotable, IUDKBot, IUnrealBot

public class UDKBot<WORLD_VIEW extends IVisionWorldView,ACT extends IAct,CONTROLLER extends IUDKBotController>
extends AbstractAgent3D<WORLD_VIEW,ACT>
implements IUDKBot

Ancestor of all UT2004 bots.

TODO: [comment me!]

Author:
Jimmy

Nested Class Summary
 
Nested classes/interfaces inherited from interface cz.cuni.amis.pogamut.udk.bot.IUDKBot
IUDKBot.BoolBotParam
 
Field Summary
 
Fields inherited from class cz.cuni.amis.pogamut.base.agent.impl.AbstractAgent
events, INTROSPECTION_ROOT_NAME, log, LOG_CATEGORY_NAME
 
Constructor Summary
UDKBot(UDKAgentParameters parameters, IComponentBus eventBus, IAgentLogger logger, IWorldView worldView, IAct act, IUDKBotController init)
           
 
Method Summary
protected  AgentJMXComponents createAgentJMX()
           
protected  cz.cuni.amis.introspection.Folder createIntrospection()
           
 boolean getBoolConfigure(IUDKBot.BoolBotParam param)
          Get configuration parameter value.
 CONTROLLER getController()
          Returns the bot controller passed inside UDKBot#AbstractUT2004Bot(IAgentId, IComponentBus, IAgentLogger, IVisionWorldView, IAct, IUT2004BotInitialization).
 Location getLocation()
           
 UDKAgentParameters getParams()
          Returns parameters that were passed into the agent during the construction.
 Rotation getRotation()
           
 Velocity getVelocity()
           
 WORLD_VIEW getWorldView()
           
protected  void initCommandRequested()
          This method is called whenever handshake with GameBots2004 is over - the GameBots2004 is awaiting the bot to reply with Ready command to begin the handshake.
protected  void killAgent()
           
protected  void readyCommandRequested()
          This method is called whenever HelloBot message is parsed - the GameBots2004 is awaiting the bot to reply with Ready command to begin the handshake.
 void respawn()
           
 void setBoolConfigure(IUDKBot.BoolBotParam param, boolean value)
          Configures bot property.
protected  void startAgent()
           
protected  void stopAgent()
           
 
Methods inherited from class cz.cuni.amis.pogamut.base.agent.impl.AbstractEmbodiedAgent
getAct
 
Methods inherited from class cz.cuni.amis.pogamut.base.agent.impl.AbstractAgent
addDependency, addDependency, addDependency, addJMXComponents, awaitState, awaitState, componentFatalError, componentStarted, componentStarted, componentStopped, componentStopping, equals, getComponentId, getEventBus, getIntrospection, getJMX, getLog, getLogger, getName, getState, hashCode, inState, kill, notInState, pause, pauseAgent, preKillAgent, preStopAgent, resetAgent, resetEvent, resume, resumeAgent, setState, start, startPaused, startPausedAgent, stop, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface cz.cuni.amis.pogamut.base.agent.IEmbodiedAgent
getAct
 
Methods inherited from interface cz.cuni.amis.pogamut.base.agent.IAgent
getComponentId, getIntrospection, getLogger, getName, getState, kill, pause, resume, start, startPaused, stop
 
Methods inherited from interface cz.cuni.amis.pogamut.base.component.IComponentAware
getEventBus
 

Constructor Detail

UDKBot

@Inject
public UDKBot(UDKAgentParameters parameters,
                     IComponentBus eventBus,
                     IAgentLogger logger,
                     IWorldView worldView,
                     IAct act,
                     IUDKBotController init)
Parameters:
agentId -
eventBus -
logger -
worldView - due to Guice nature, this can't be templated with WORLD_VIEW - Guice can't use it as a key for the injection
act - due to Guice nature, this can't be templated with ACT - Guice can't use it as a key for the injection
init - due to Guice nature, this can't be templated with CONTROLLER - Guice can't use it as a key for the injection
Method Detail

getController

public CONTROLLER getController()
Returns the bot controller passed inside UDKBot#AbstractUT2004Bot(IAgentId, IComponentBus, IAgentLogger, IVisionWorldView, IAct, IUT2004BotInitialization).

Returns:

getParams

public UDKAgentParameters getParams()
Returns parameters that were passed into the agent during the construction.

This is a great place to parametrize your agent. Note that you may pass arbitrary subclass of UDKAgentParameters to the constructor/factory/runner and pick them up here.

Returns:
parameters

startAgent

protected void startAgent()
Overrides:
startAgent in class AbstractAgent

stopAgent

protected void stopAgent()
Overrides:
stopAgent in class AbstractAgent

killAgent

protected void killAgent()
Overrides:
killAgent in class AbstractAgent

readyCommandRequested

protected void readyCommandRequested()
This method is called whenever HelloBot message is parsed - the GameBots2004 is awaiting the bot to reply with Ready command to begin the handshake.


initCommandRequested

protected void initCommandRequested()
This method is called whenever handshake with GameBots2004 is over - the GameBots2004 is awaiting the bot to reply with Ready command to begin the handshake. It calls setUpInit() method to obtains Initialize message that is then sent to GameBots2004.

Left as protected if you need to override it - but you probably wouldn't.


getLocation

public Location getLocation()
Specified by:
getLocation in interface ILocated
Returns:
Location of the agent. Null if not set yet.

getRotation

public Rotation getRotation()
Specified by:
getRotation in interface IRotable
Returns:
Rotation of the agent. Null if not set yet.

getVelocity

public Velocity getVelocity()
Specified by:
getVelocity in interface ILocomotive
Returns:
Velocity of the agent. Null if not set yet.

respawn

public void respawn()
             throws cz.cuni.amis.utils.exception.PogamutException
Specified by:
respawn in interface IUnrealBot
Throws:
cz.cuni.amis.utils.exception.PogamutException

createAgentJMX

protected AgentJMXComponents createAgentJMX()
Overrides:
createAgentJMX in class AbstractAgent3D<WORLD_VIEW extends IVisionWorldView,ACT extends IAct>

setBoolConfigure

public void setBoolConfigure(IUDKBot.BoolBotParam param,
                             boolean value)
Description copied from interface: IUDKBot
Configures bot property.

Specified by:
setBoolConfigure in interface IUDKBot

getBoolConfigure

public boolean getBoolConfigure(IUDKBot.BoolBotParam param)
Description copied from interface: IUDKBot
Get configuration parameter value.

Specified by:
getBoolConfigure in interface IUDKBot
Returns:

createIntrospection

protected cz.cuni.amis.introspection.Folder createIntrospection()
Overrides:
createIntrospection in class AbstractAgent

getWorldView

public WORLD_VIEW getWorldView()
Specified by:
getWorldView in interface IObservingAgent
Overrides:
getWorldView in class AbstractObservingAgent<WORLD_VIEW extends IVisionWorldView>


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