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
011/**
012 * SetShortcut <option> <key> (from Keyboard, after KEY_) <putLast>
013 */
014public class SetShortcut extends BaseCommandPlugin {
015
016        public boolean execute(String ruleId, InteractionDialogAPI dialog, List<Token> params, Map<String, MemoryAPI> memoryMap) {
017                if (dialog == null) return false;
018                
019                String option = params.get(0).string;
020                String keyName = params.get(1).string;
021                boolean putLast = true;
022                if (params.size() >= 3) {
023                        putLast = params.get(2).getBoolean(memoryMap);
024                }
025
026                int code = Global.getSettings().getCodeFor(keyName);
027                if (code == -1) return false;
028                
029                dialog.getOptionPanel().setShortcut(option, code, false, false, false, putLast);
030                return true;
031        }
032
033}