public class LoqueNavigator<PATH_ELEMENT extends ILocated> extends AbstractUDKPathNavigator<PATH_ELEMENT>
This class navigates the agent along path. Silently handles all casual trouble with preparing next nodes, running along current nodes, switching between nodes at appropriate distances, etc. In other words, give me a destination and a path and you'll be there in no time.
LoqueRunner
beneath about possible troubles along the way.
Thus, we rely completely on navigation points. Since the mover navigation points (LiftCenter ones) always travel with the associated mover, we do not try to look for movers at all. We simply compare navigation point location to agent's location and wait or move accordingly.
| Modifier and Type | Class and Description |
|---|---|
static class |
LoqueNavigator.Stage
All stages the navigation can come to.
|
| Modifier and Type | Field and Description |
|---|---|
protected AdvancedLocomotion |
body
Agent's body.
|
static int |
CLOSE_ENOUGH
Distance, which is considered as close enough..
|
protected Logger |
log
Agent's log.
|
protected UDKBot |
main
Agent's main.
|
protected AgentInfo |
memory
Loque memory.
|
static int |
PRECISION |
bot, executor, self| Constructor and Description |
|---|
LoqueNavigator(UDKBot bot,
IUDKPathRunner runner,
Logger log)
Constructor.
|
LoqueNavigator(UDKBot bot,
Logger log)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
protected NavPoint |
getNavPoint(ILocated location)
Returns
NavPoint instance for a given location. |
double |
getPrecision()
Returns maximum distance, that the bot will have from path target, if the navigator succeeds.
|
protected void |
initDirectNavigation(Location dest)
Initializes direct navigation to the specified destination.
|
protected void |
initPathNavigation(Location dest,
List<PATH_ELEMENT> path)
Initializes navigation to the specified destination along specified path.
|
protected LoqueNavigator.Stage |
keepNavigating()
Navigates with the current navigation request.
|
protected void |
navigate(int pathElementIndex)
Does the actual navigation of the bot, it should steer it towards path element of the index 'pathElementIndex'.
|
void |
newPath(List<PATH_ELEMENT> path)
UDKPathExecutor reports that new path has been received and the IUDKPathNavigator.navigate()
is about to be called in near future. |
void |
reset()
UDKPathExecutor reports that execution of current path has been terminated - clean up your internal data
structure and prepare to navigate the bot along the new path in the future. |
navigate, setBot, setExecutorpublic static final int CLOSE_ENOUGH
public static final int PRECISION
protected UDKBot main
protected AgentInfo memory
protected AdvancedLocomotion body
protected Logger log
public LoqueNavigator(UDKBot bot, Logger log)
main - Agent's main.memory - Loque memory.public LoqueNavigator(UDKBot bot, IUDKPathRunner runner, Logger log)
main - Agent's main.memory - Loque memory.public double getPrecision()
IUDKPathNavigatorprotected void navigate(int pathElementIndex)
AbstractUDKPathNavigatorAbstractUDKPathNavigator.navigate().navigate in class AbstractUDKPathNavigator<PATH_ELEMENT extends ILocated>public void reset()
IUDKPathNavigatorUDKPathExecutor reports that execution of current path has been terminated - clean up your internal data
structure and prepare to navigate the bot along the new path in the future.public void newPath(List<PATH_ELEMENT> path)
IUDKPathNavigatorUDKPathExecutor reports that new path has been received and the IUDKPathNavigator.navigate()
is about to be called in near future. The new path is passed as a parameter.protected void initDirectNavigation(Location dest)
dest - Destination of the navigation.timeout - Maximum timeout of the navigation. Use 0 to auto-timeout.protected void initPathNavigation(Location dest, List<PATH_ELEMENT> path)
dest - Destination of the navigation.path - Navigation path to the destination.protected LoqueNavigator.Stage keepNavigating()
protected NavPoint getNavPoint(ILocated location)
NavPoint instance for a given location. If there is no navpoint in the vicinity of CLOSE_ENOUGH
null is returned.location - Copyright © 2012 AMIS research group, Faculty of Mathematics and Physics, Charles University in Prague, Czech Republic. All Rights Reserved.