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