/** * Goal for keeping the battery loaded. */ @Goal(deliberation=@Deliberation(inhibits={PerformLookForWaste.class, AchieveCleanup.class, PerformPatrol.class})) public class MaintainBatteryLoaded { /** * When the chargestate is below 0.2 * the cleaner will activate this goal. */ @GoalMaintainCondition//(beliefs="my_chargestate") public boolean checkMaintain() { return my_chargestate>0.2; } /** * The target condition determines when * the goal goes back to idle. */ @GoalTargetCondition//(beliefs="my_chargestate") public boolean checkTarget() { return my_chargestate>=1.0; } }
Class<?>[] inh = del.inhibits(); Set<String> inhnames = null; if(inh.length>0) boolean cardinalityone = del.cardinalityone();
Class<?>[] inh = del.inhibits(); Set<String> inhnames = null; if(inh.length>0) boolean cardinalityone = del.cardinalityone();
@Goal(deliberation=@Deliberation(inhibits=WalkAround.class, cardinalityone=true)) public class CarryOre
@Goal(deliberation=@Deliberation(inhibits=WalkAround.class, cardinalityone=true)) public class ProduceOre
@Goal(unique=true, deliberation=@Deliberation(inhibits={Check.class})) public static class Take
@Goal(unique=true , deliberation=@Deliberation(inhibits={TreatVictims.class})) public class ClearChemicals implements IForcesGoal
@Goal(unique=true, deliberation=@Deliberation(cardinalityone=true)) public static class Burn
@Goal(unique=true, deliberation=@Deliberation(inhibits=MovementCapability.WalkAround.class, cardinalityone=true)) public static class AnalyzeTarget
@Goal(excludemode=ExcludeMode.Never, unique=true, deliberation=@Deliberation(inhibits={PerformLookForWaste.class, AchieveCleanup.class})) public class AchieveCleanup
@Goal(deliberation=@Deliberation(cardinalityone=true), publish=@Publish(type=ITreatVictimsService.class, method="treatVictims"))
@Goal(unique=true, deliberation=@Deliberation(inhibits={HandleDisaster.class})) public class HandleDisaster
@Goal(excludemode=ExcludeMode.WhenFailed, deliberation=@Deliberation(cardinalityone=true, inhibits=ExtinguishFire.class), publish=@Publish(type=IExtinguishFireService.class, method="extinguishFire"))
@Goal(excludemode=ExcludeMode.WhenFailed, deliberation=@Deliberation(cardinalityone=true, inhibits={ExtinguishFire.class, ClearChemicals.class}), publish=@Publish(type=IClearChemicalsService.class, method="clearChemicals"))