1package com.fs.starfarer.api.impl.campaign.rulecmd;
3import java.util.ArrayList;
7import com.fs.starfarer.api.GameState;
8import com.fs.starfarer.api.Global;
9import com.fs.starfarer.api.campaign.InteractionDialogAPI;
10import com.fs.starfarer.api.campaign.InteractionDialogPlugin;
11import com.fs.starfarer.api.campaign.rules.MemKeys;
12import com.fs.starfarer.api.campaign.rules.MemoryAPI;
13import com.fs.starfarer.api.combat.EngagementResultAPI;
14import com.fs.starfarer.api.impl.campaign.DevMenuOptions;
15import com.fs.starfarer.api.util.Misc.Token;
23 public static class PaginatedOption {
26 public PaginatedOption(String text, String
id) {
33 protected InteractionDialogAPI
dialog;
36 protected List<PaginatedOption>
options =
new ArrayList<PaginatedOption>();
37 protected List<PaginatedOption>
optionsAllPages =
new ArrayList<PaginatedOption>();
42 public boolean execute(String ruleId, InteractionDialogAPI
dialog, List<Token> params,
final Map<String, MemoryAPI>
memoryMap) {
51 for (
int i = 0; i < params.size(); i += 2) {
52 String text = params.get(i).getString(
memoryMap);
53 String
id = params.get(i + 1).getString(
memoryMap);
56 if (params.size() > 0) {
64 options.add(
new PaginatedOption(text,
id));
72 dialog.getOptionPanel().clearOptions();
82 dialog.getOptionPanel().addOption(
"",
"spacer" + i);
83 dialog.getOptionPanel().setEnabled(
"spacer" + i,
false);
86 PaginatedOption option =
options.get(i);
87 dialog.getOptionPanel().addOption(option.text, option.id);
104 dialog.getOptionPanel().addOption(option.text, option.id);
113 return "Previous page";
137 if (optionText !=
null) {
150 MemoryAPI memory =
dialog.getInteractionTarget().getMemory();
151 memory.set(
"$option", optionData);
152 memory.expire(
"$option", 0);
153 memoryMap.get(MemKeys.LOCAL).set(
"$option", optionData, 0);
static SettingsAPI getSettings()
static GameState getCurrentState()
boolean execute(String ruleId, InteractionDialogAPI dialog, List< Token > params, Map< String, MemoryAPI > memoryMap)
static final String OPTION_ID
static boolean fire(String ruleId, InteractionDialogAPI dialog, Map< String, MemoryAPI > memoryMap, String params)
static String OPTION_NEXT_PAGE
Map< String, MemoryAPI > getMemoryMap()
Map< String, MemoryAPI > memoryMap
String getPreviousPageText()
boolean execute(String ruleId, InteractionDialogAPI dialog, List< Token > params, final Map< String, MemoryAPI > memoryMap)
static String OPTION_PREV_PAGE
void optionSelected(String optionText, Object optionData)
InteractionDialogAPI dialog
void advance(float amount)
void addOption(String text, String id)
void addOptionAllPages(String text, String id)
void optionMousedOver(String optionText, Object optionData)
InteractionDialogPlugin originalPlugin
void init(InteractionDialogAPI dialog)
boolean isNewGameDialog()
void backFromEngagement(EngagementResultAPI battleResult)
List< PaginatedOption > options
List< PaginatedOption > optionsAllPages
Color getColor(String id)