|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object cz.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 injectionMethod 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()
AbstractAgent
WARNING: 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 AbstractAgent
protected void startPausedAgent()
AbstractAgent
WARNING: 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 AbstractAgent
protected void preStopAgent()
AbstractAgent
ComponentBusEvents.stopping()
event is broadcast. Hook that allows you to implement just-before-death stuff
before any of agent component actually dies.
preStopAgent
in class AbstractAgent
protected void stopAgent()
AbstractAgent
WARNING: 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 AbstractAgent
protected void preKillAgent()
AbstractAgent
ComponentBusEvents.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 AbstractAgent
protected void killAgent()
AbstractAgent
WARNING: 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 AbstractAgent
protected 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 ILocated
public Rotation getRotation()
IRotable
getRotation
in interface IRotable
public Velocity getVelocity()
ILocomotive
getVelocity
in interface ILocomotive
public void respawn() throws PogamutException
IUnrealBot
respawn
in interface IUnrealBot
PogamutException
protected 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 IUT2004Bot
public boolean getBoolConfigure(IUT2004Bot.BoolBotParam param)
IUT2004Bot
getBoolConfigure
in interface IUT2004Bot
protected Folder createIntrospection()
AbstractAgent
createIntrospection
in class AbstractAgent
public WORLD_VIEW getWorldView()
AbstractObservingAgent
getWorldView
in interface IObservingAgent
getWorldView
in class AbstractObservingAgent<WORLD_VIEW extends IVisionWorldView>
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |