1 package cz.cuni.amis.pogamut.ut2004.agent.navigation; 2 3 import cz.cuni.amis.pogamut.base3d.worldview.object.ILocated; 4 import cz.cuni.amis.pogamut.base3d.worldview.object.Location; 5 import cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.NavPointNeighbourLink; 6 7 /** 8 * Runner is actually responsible for running directly between two locations. 9 * 10 * 11 * @author Jimmy 12 * 13 */ 14 public interface IUT2004PathRunner { 15 16 /** 17 * Resets the runner state. 18 * <p><p> 19 * Called before the navigator turns its attention to another location. 20 */ 21 public void reset(); 22 23 /** 24 * Called iteratively to reach the 'firstLocation'. This method should get the bot to the 'firstLocation'. 25 * <p><p> 26 * The 'secondLocation' is the location that will most likely be pursued next. 27 * 28 * @param runningFrom location we're running from (i.e., where the bot may safely return), may be null 29 * @param firstLocation where the bot should run to 30 * @param secondLocation where the bot will the most likely continue its run 31 * @param focus where the bot should be looking while running 32 * @param navPointsLink if we are traveling between two NavPoints connected by a link, we will receive the link with movement information here 33 * @return 34 */ 35 public boolean runToLocation(Location runningFrom, Location firstLocation, Location secondLocation, ILocated focus, NavPointNeighbourLink navPointsLink, boolean reachable); 36 37 }