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}