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