001package com.fs.starfarer.api.impl.campaign.rulecmd; 002 003import java.util.ArrayList; 004import java.util.List; 005import java.util.Map; 006 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 * SetTooltipHighlights <option id> params 013 */ 014public class SetTooltipHighlights 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 List<String> strings = new ArrayList<String>(); 021 //Map<String, String> tokens = Global.getSector().getRules().getTokenReplacements(ruleId, dialog.getInteractionTarget(), memoryMap); 022 for (int i = 1; i < params.size(); i++) { 023 String string = null; 024 025 string = params.get(i).getStringWithTokenReplacement(ruleId, dialog, memoryMap); 026// if (params.get(i).isVariable()) { 027// string = tokens.get(params.get(i).string); 028// if (string == null) { 029// VarAndMemory var = params.get(i).getVarNameAndMemory(memoryMap); 030// string = var.memory.getString(var.name); 031// } 032// } else { 033// string = params.get(i).string; 034// } 035 if (string != null) strings.add(string); 036 } 037 038 dialog.getOptionPanel().setTooltipHighlights(option, strings.toArray(new String[0])); 039 return true; 040 } 041 042} 043 044