package iamrescue.agent.police.goals; import iamrescue.belief.IAMWorldModel; import iamrescue.routing.IRoutingModule; import java.util.Collection; import javolution.util.FastList; import rescuecore2.standard.entities.StandardEntity; import rescuecore2.standard.entities.StandardEntityURN; import rescuecore2.worldmodel.EntityID; public class ClearingGoalConfiguration { private boolean useShortestDistanceOnly; private IRoutingModule testRouting; private IRoutingModule clearingRouting; private Collection<EntityID> refuges; private IAMWorldModel worldModel; public ClearingGoalConfiguration(IRoutingModule testRouting, IRoutingModule clearingRouting, IAMWorldModel worldModel, boolean useShortestDistanceOnly) { this.useShortestDistanceOnly = useShortestDistanceOnly; this.testRouting = testRouting; this.clearingRouting = clearingRouting; Collection<StandardEntity> refugeEntities = worldModel .getEntitiesOfType(StandardEntityURN.REFUGE); refuges = new FastList<EntityID>(); for (StandardEntity refuge : refugeEntities) { refuges.add(refuge.getID()); } this.worldModel = worldModel; } /** * @return the useShortestDistanceOnly */ public boolean isUseShortestDistanceOnly() { return useShortestDistanceOnly; } /** * @param useShortestDistanceOnly * the useShortestDistanceOnly to set */ public void setUseShortestDistanceOnly(boolean useShortestDistanceOnly) { this.useShortestDistanceOnly = useShortestDistanceOnly; } /** * @return the testRouting */ public IRoutingModule getTestRouting() { return testRouting; } /** * @return the clearingRouting */ public IRoutingModule getClearingRouting() { return clearingRouting; } /** * @return the refuges */ public Collection<EntityID> getRefuges() { return refuges; } /** * @return the worldModel */ public IAMWorldModel getWorldModel() { return worldModel; } }