001package com.fs.starfarer.api.impl.campaign.rulecmd; 002 003import java.util.List; 004import java.util.Map; 005 006import com.fs.starfarer.api.campaign.CampaignUIAPI.CoreUITradeMode; 007import com.fs.starfarer.api.campaign.CoreUITabId; 008import com.fs.starfarer.api.campaign.InteractionDialogAPI; 009import com.fs.starfarer.api.campaign.rules.MemoryAPI; 010import com.fs.starfarer.api.util.Misc.Token; 011 012/** 013 * OpenCoreTab <MakeOptionOpenCore> <optionId> <defaultTab> <tradeMode> <optional: onlyShowTargetTabShortcut> 014 */ 015public class MakeOptionOpenCore extends BaseCommandPlugin { 016 017 private Map<String, MemoryAPI> memoryMap; 018 private InteractionDialogAPI dialog; 019 020 /** 021 * OpenCoreTab <MakeOptionOpenCore> <optionId> <defaultTab> <tradeMode> 022 */ 023 public boolean execute(String ruleId, InteractionDialogAPI dialog, List<Token> params, Map<String, MemoryAPI> memoryMap) { 024 this.dialog = dialog; 025 this.memoryMap = memoryMap; 026 String optionId = params.get(0).getString(memoryMap); 027 028 String tabIdStr = params.get(1).getString(memoryMap); 029 030 CoreUITabId tabId = CoreUITabId.valueOf(tabIdStr); 031 032 CoreUITradeMode mode = CoreUITradeMode.OPEN; 033 if (params.size() > 1) { 034 mode = CoreUITradeMode.valueOf(params.get(2).getString(memoryMap)); 035 } 036 037 boolean onlyShowTargetTabShortcut = false; 038 if (params.size() > 3) { 039 onlyShowTargetTabShortcut = params.get(3).getBoolean(memoryMap); 040 } 041 042 dialog.makeOptionOpenCore(optionId, tabId, mode, onlyShowTargetTabShortcut); 043 044 return true; 045 } 046 047}