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}