001package com.fs.starfarer.api.impl.campaign.rulecmd;
002
003import java.util.List;
004import java.util.Map;
005
006import com.fs.starfarer.api.campaign.InteractionDialogAPI;
007import com.fs.starfarer.api.campaign.RuleBasedDialog;
008import com.fs.starfarer.api.campaign.events.CampaignEventPlugin;
009import com.fs.starfarer.api.campaign.rules.MemoryAPI;
010import com.fs.starfarer.api.util.Misc.Token;
011import com.fs.starfarer.api.util.Misc.VarAndMemory;
012
013
014/**
015 * SetActiveMission $missionEventHandle
016 */
017public class SetActiveMission extends BaseCommandPlugin {
018        public boolean execute(String ruleId, InteractionDialogAPI dialog, List<Token> params, Map<String, MemoryAPI> memoryMap) {
019                if (!(dialog.getPlugin() instanceof RuleBasedDialog)) return false;
020                
021                VarAndMemory handle = params.get(0).getVarNameAndMemory(memoryMap);
022                if (handle.memory.contains(handle.name)) {
023                        CampaignEventPlugin mission = (CampaignEventPlugin) handle.memory.get(handle.name);
024                        if (mission != null) {
025                                ((RuleBasedDialog) dialog.getPlugin()).setActiveMission(mission);
026                        }
027                }
028                
029                return true;
030        }
031
032}
033
034
035
036