001package com.fs.starfarer.api.impl.campaign.rulecmd; 002 003import java.util.List; 004import java.util.Map; 005 006import com.fs.starfarer.api.Global; 007import com.fs.starfarer.api.campaign.InteractionDialogAPI; 008import com.fs.starfarer.api.campaign.rules.MemoryAPI; 009import com.fs.starfarer.api.impl.campaign.missions.hub.HubMission; 010import com.fs.starfarer.api.util.Misc.Token; 011 012/** 013 * Assumes BeginMission <id> false was called earlier. 014 */ 015public class AbortMission extends BaseCommandPlugin { 016 017 018 public boolean execute(String ruleId, InteractionDialogAPI dialog, List<Token> params, Map<String, MemoryAPI> memoryMap) { 019 if (dialog == null) return false; 020 021 HubMission mission = (HubMission) Global.getSector().getMemoryWithoutUpdate().get(BeginMission.TEMP_MISSION_KEY); 022 if (mission != null) { 023 Global.getSector().getMemoryWithoutUpdate().unset(BeginMission.TEMP_MISSION_KEY); 024 mission.abort(); 025 return true; 026 } 027 return false; 028 } 029} 030 031