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 AcceptMission 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.accept(dialog, memoryMap);
025                        return true;
026                }
027                return false;
028        }
029}
030
031