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.util.Misc.Token; 010 011public class DismissDialog extends BaseCommandPlugin { 012 013 public static final String DISMISS_PARAM = "$core_dismissParam"; 014 015 /** 016 * Unsets it as well - subsequent call will return null. 017 * @return 018 */ 019 public static String getDismissParam() { 020 String result = Global.getSector().getMemoryWithoutUpdate().getString(DISMISS_PARAM); 021 Global.getSector().getMemoryWithoutUpdate().unset(DISMISS_PARAM); 022 return result; 023 } 024 025 public boolean execute(String ruleId, InteractionDialogAPI dialog, List<Token> params, Map<String, MemoryAPI> memoryMap) { 026 if (dialog != null) { 027 028 if (params != null && params.size() > 0) { 029 String str = params.get(0).getString(memoryMap); 030 Global.getSector().getMemoryWithoutUpdate().set(DISMISS_PARAM, str); 031 } 032 033 dialog.dismiss(); 034 return true; 035 } 036 return false; 037 } 038 039}