001/**
002 * 
003 */
004package com.fs.starfarer.api.campaign.ai;
005
006import org.lwjgl.util.vector.Vector2f;
007
008import com.fs.starfarer.api.campaign.LocationAPI;
009import com.fs.starfarer.api.campaign.SectorEntityToken;
010
011public interface NavigationModulePlugin {
012        void clearAvoidList();
013        void unavoidEntity(SectorEntityToken entity);
014        void avoidEntity(SectorEntityToken entity, float minRange, float maxRange, float duration);
015        void avoidLocation(LocationAPI containingLocation, Vector2f loc, float minRange, float maxRange, float duration);
016        
017        void setPreferredHeading(float heading);
018        void setDestination(Vector2f loc);
019        float getPreferredHeading(float heading);
020        
021        float getCalculatedHeading();
022        Vector2f getClickToMoveLocation();
023        
024        
025        void advance(float days);
026        void doNotAvoid(SectorEntityToken entity, float days);
027        
028}