1package com.fs.starfarer.api.impl.campaign.tutorial;
5import com.fs.starfarer.api.Global;
6import com.fs.starfarer.api.campaign.CampaignFleetAPI;
7import com.fs.starfarer.api.campaign.InteractionDialogAPI;
8import com.fs.starfarer.api.campaign.InteractionDialogPlugin;
9import com.fs.starfarer.api.campaign.OptionPanelAPI;
10import com.fs.starfarer.api.campaign.TextPanelAPI;
11import com.fs.starfarer.api.campaign.VisualPanelAPI;
12import com.fs.starfarer.api.campaign.PersistentUIDataAPI.AbilitySlotsAPI;
13import com.fs.starfarer.api.campaign.econ.MarketAPI;
14import com.fs.starfarer.api.campaign.rules.MemoryAPI;
15import com.fs.starfarer.api.combat.EngagementResultAPI;
16import com.fs.starfarer.api.impl.campaign.ids.Abilities;
17import com.fs.starfarer.api.impl.campaign.rulecmd.AddRemoveCommodity;
18import com.fs.starfarer.api.loading.AbilitySpecAPI;
19import com.fs.starfarer.api.util.Misc;
23 public static enum OptionId {
31 protected InteractionDialogAPI
dialog;
69 if (optionData ==
null)
return;
71 OptionId option = (OptionId) optionData;
75 dialog.addOptionSelectedText(option);
79 String name =
ancyra.getName();
83 textPanel.addParagraph(name +
" is pretty far away, and it'll take a while to get there at this rate.");
86 options.addOption(
"Continue", OptionId.CONT1,
null);
90 textPanel.addPara(
"The %s ability is useful for long-distance travel. " +
91 "Activating it will briefly stop the fleet and reduce its acceleration to a minimum, " +
92 "but the maximum burn level will be much higher. A sustained burn can be interrupted " +
93 "by other fleets activating an interdiction pulse.",
94 Misc.getHighlightColor(),
95 "\"" + ability.getName() +
"\"");
98 AbilitySlotsAPI slots =
Global.
getSector().getUIData().getAbilitySlotsAPI();
99 slots.setCurrBarIndex(0);
102 slots.getCurrSlotsCopy().get(slotIndex).setAbilityId(ability.getId());
103 AddRemoveCommodity.addAbilityGainText(ability.getId(),
textPanel);
105 Global.
getSector().getCharacterData().addAbility(Abilities.INTERDICTION_PULSE);
106 slots.getCurrSlotsCopy().get(6).setAbilityId(Abilities.INTERDICTION_PULSE);
107 AddRemoveCommodity.addAbilityGainText(Abilities.INTERDICTION_PULSE,
textPanel);
110 options.addOption(
"Continue", OptionId.CONT2,
null);
118 textPanel.addPara(
"Activate %s to get to " + name +
" more quickly.",
119 Misc.getHighlightColor(),
120 "\"" + ability.getName() +
"\"");
122 textPanel.addPara(
"You can also press and hold %s to speed up time.",
123 Misc.getHighlightColor(),
124 "\"" + control +
"\"");
127 options.addOption(
"Finish", OptionId.CONT3,
null);
static SettingsAPI getSettings()
static SectorAPI getSector()
InteractionDialogAPI dialog
void optionMousedOver(String optionText, Object optionData)
TutorialSustainedBurnDialogPluginImpl(MarketAPI ancyra)
void optionSelected(String text, Object optionData)
void backFromEngagement(EngagementResultAPI result)
void init(InteractionDialogAPI dialog)
CampaignFleetAPI playerFleet
void advance(float amount)
Map< String, MemoryAPI > getMemoryMap()
AbilitySpecAPI getAbilitySpec(String abilityId)
String getControlStringForEnumName(String name)