|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectcz.cuni.amis.pogamut.base.agent.impl.AbstractAgent
cz.cuni.amis.pogamut.base.agent.impl.AbstractObservingAgent<WORLD_VIEW>
cz.cuni.amis.pogamut.base.agent.impl.AbstractGhostAgent<WORLD_VIEW,ACT>
cz.cuni.amis.pogamut.base.agent.impl.AbstractEmbodiedAgent<WORLD_VIEW,ACT>
cz.cuni.amis.pogamut.base3d.agent.AbstractAgent3D<WORLD_VIEW,ACT>
cz.cuni.amis.pogamut.ut2004.bot.impl.UT2004Bot<WORLD_VIEW,ACT,CONTROLLER>
public class UT2004Bot<WORLD_VIEW extends IVisionWorldView,ACT extends IAct,CONTROLLER extends IUT2004BotController>

Ancestor of all UT2004 bots.
TODO: [comment me!]
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from interface cz.cuni.amis.pogamut.ut2004.bot.IUT2004Bot |
|---|
IUT2004Bot.BoolBotParam |
| Field Summary | |
|---|---|
protected java.lang.Thread |
botDisconnectorThread
Disconnector thread serves as a last resort for shutting down the bot inside GB2004 in case of JVM failures. |
| Fields inherited from class cz.cuni.amis.pogamut.base.agent.impl.AbstractAgent |
|---|
events, INTROSPECTION_ROOT_NAME, log |
| Constructor Summary | |
|---|---|
UT2004Bot(UT2004AgentParameters parameters,
IComponentBus eventBus,
IAgentLogger logger,
IWorldView worldView,
IAct act,
IUT2004BotController init)
|
|
| Method Summary | |
|---|---|
protected void |
addBotDisconnector()
Initializes & registers botDisconnectorThread as a Runtime.addShutdownHook(Thread). |
protected AgentJMXComponents |
createAgentJMX()
|
protected Folder |
createIntrospection()
Create introspection root object. |
boolean |
getBoolConfigure(IUT2004Bot.BoolBotParam param)
Get configuration parameter value. |
CONTROLLER |
getController()
Returns the bot controller passed inside UT2004Bot#AbstractUT2004Bot(IAgentId, IComponentBus, IAgentLogger, IVisionWorldView, IAct, IUT2004BotInitialization). |
Location |
getLocation()
Retreives current location of the object. |
UT2004AgentParameters |
getParams()
Returns parameters that were passed into the agent during the construction. |
Rotation |
getRotation()
Retreives current rotation of the object. |
Velocity |
getVelocity()
Retreives current direction and velocity of movement of the object. |
WORLD_VIEW |
getWorldView()
Returns abstraction for the agent's world. |
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()
Called during kill() method - override to provide custom ruthless stopping (killing) behavior of the agent. |
protected void |
preKillAgent()
Called before any ComponentBusEvents.fatalError(String) event is broadcast. |
protected void |
preStopAgent()
Called before any ComponentBusEvents.stopping() event is broadcast. |
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. |
protected void |
removeBotDisconnector()
Removes botDisconnectorThread as a Runtime.removeShutdownHook(Thread) and nullify the field. |
void |
respawn()
Restarts the bot in the game. |
void |
setBoolConfigure(IUT2004Bot.BoolBotParam param,
boolean value)
Configures bot property. |
protected void |
startAgent()
Called during start() method - override to provide custom starting behavior of the agent. |
protected void |
startPausedAgent()
Called during startPaused() method - override to provide custom starting-paused behavior of the agent. |
protected void |
stopAgent()
Called during stop() method - override to provide custom stopping behavior of the agent. |
protected void |
tryDisconnect()
Sends DisconnectBot commands to GB2004, eats up all exceptions. |
| 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, resetAgent, resetEvent, resume, resumeAgent, setState, start, startPaused, 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 |
| Field Detail |
|---|
protected java.lang.Thread botDisconnectorThread
| Constructor Detail |
|---|
@Inject
public UT2004Bot(UT2004AgentParameters parameters,
IComponentBus eventBus,
IAgentLogger logger,
IWorldView worldView,
IAct act,
IUT2004BotController init)
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 injectionact - due to Guice nature, this can't be templated with ACT - Guice can't use it as a key for the injectioninit - due to Guice nature, this can't be templated with CONTROLLER - Guice can't use it as a key for the injection| Method Detail |
|---|
public CONTROLLER getController()
UT2004Bot#AbstractUT2004Bot(IAgentId, IComponentBus, IAgentLogger, IVisionWorldView, IAct, IUT2004BotInitialization).
public UT2004AgentParameters getParams()
This is a great place to parametrize your agent. Note that you may pass arbitrary subclass of UT2004AgentParameters
to the constructor/factory/runner and pick them up here.
protected void startAgent()
AbstractAgentWARNING: DO NOT CALL ON YOUR OWN, ALWAYS USE PUBLIC INTERFACE (start()), but that should not be needed!
If you override this method don't forget to call super.startAgent() as the first method.
startAgent in class AbstractAgentprotected void startPausedAgent()
AbstractAgentWARNING: DO NOT CALL ON YOUR OWN, ALWAYS USE PUBLIC INTERFACE (startPaused()), but that should not be needed!
If you override this method don't forget to call super.startPausedAgent() as the first method.
startPausedAgent in class AbstractAgentprotected void preStopAgent()
AbstractAgentComponentBusEvents.stopping() event is broadcast. Hook that allows you to implement just-before-death stuff
before any of agent component actually dies.
preStopAgent in class AbstractAgentprotected void stopAgent()
AbstractAgentWARNING: DO NOT CALL ON YOUR OWN, ALWAYS USE PUBLIC INTERFACE (stop()).
If you override this method don't forget to call super.stopAgent() as the first method.
stopAgent in class AbstractAgentprotected void preKillAgent()
AbstractAgentComponentBusEvents.fatalError(String) event is broadcast. Hook that allows you to implement just-before-death stuff
before any of agent component actually dies.
preKillAgent in class AbstractAgentprotected void killAgent()
AbstractAgentWARNING: DO NOT CALL ON YOUR OWN, ALWAYS USE PUBLIC INTERFACE (kill()).
If you override this method don't forget to call super.killAgent() as the first method.
killAgent in class AbstractAgentprotected void tryDisconnect()
DisconnectBot commands to GB2004, eats up all exceptions.
protected void addBotDisconnector()
botDisconnectorThread as a Runtime.addShutdownHook(Thread).
protected void removeBotDisconnector()
botDisconnectorThread as a Runtime.removeShutdownHook(Thread) and nullify the field.
protected void readyCommandRequested()
protected void initCommandRequested()
Left as protected if you need to override it - but you probably wouldn't.
public Location getLocation()
ILocated
getLocation in interface ILocatedpublic Rotation getRotation()
IRotable
getRotation in interface IRotablepublic Velocity getVelocity()
ILocomotive
getVelocity in interface ILocomotive
public void respawn()
throws PogamutException
IUnrealBot
respawn in interface IUnrealBotPogamutExceptionprotected AgentJMXComponents createAgentJMX()
createAgentJMX in class AbstractAgent3D<WORLD_VIEW extends IVisionWorldView,ACT extends IAct>
public void setBoolConfigure(IUT2004Bot.BoolBotParam param,
boolean value)
IUT2004Bot
setBoolConfigure in interface IUT2004Botpublic boolean getBoolConfigure(IUT2004Bot.BoolBotParam param)
IUT2004Bot
getBoolConfigure in interface IUT2004Botprotected Folder createIntrospection()
AbstractAgent
createIntrospection in class AbstractAgentpublic WORLD_VIEW getWorldView()
AbstractObservingAgent
getWorldView in interface IObservingAgentgetWorldView in class AbstractObservingAgent<WORLD_VIEW extends IVisionWorldView>
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||