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 {
34 protected InteractionDialogAPI
dialog;
72 if (optionData ==
null)
return;
74 OptionId option = (OptionId) optionData;
78 dialog.addOptionSelectedText(option);
82 String name =
ancyra.getName();
86 textPanel.addParagraph(
"Your fleet is getting closer to " + name +
", which is controlled by the Hegemony - " +
87 "a major militaristic faction in the Sector.");
89 textPanel.addParagraph(
"While in Hegemony space, a fleet is required by law to identify itself by keeping its transponder turned on. " +
90 "This is a view shared by most, though not all, major factions.");
93 options.addOption(
"Continue", OptionId.CONT1,
null);
96 textPanel.addParagraph(
"Turning on the transponder makes your fleet highly visible, " +
97 "and everyone seeing it will know who you are - unlike that pirate fleet you fought earlier, " +
98 "which had to be very close to positively identify.");
100 options.addOption(
"Continue", OptionId.CONT2,
null);
103 textPanel.addParagraph(
"Keeping your transponder on is a crippling disadvantage in hostile space, " +
104 "but as we're getting closer to port and we'd like to dock there, it's a good idea to turn it on.");
108 AbilitySlotsAPI slots =
Global.
getSector().getUIData().getAbilitySlotsAPI();
109 slots.setCurrBarIndex(0);
112 slots.getCurrSlotsCopy().get(slotIndex).setAbilityId(ability.getId());
113 AddRemoveCommodity.addAbilityGainText(ability.getId(),
textPanel);
116 options.addOption(
"Continue", OptionId.CONT3,
null);
119 textPanel.addPara(
"Activate the %s before getting closer to " +
ancyra.getName() +
", both to " +
120 "avoid unwanted attention from patrols and to receive docking clearance.",
121 Misc.getHighlightColor(),
122 "\"" + ability.getName() +
"\"");
124 textPanel.addPara(
"Since turning it on and off has major consequences, " +
125 "it requires a double-tap to turn on or off - once to prime, and once more to confirm.",
126 Misc.getHighlightColor(),
130 options.addOption(
"Finish", OptionId.CONT4,
null);
static SettingsAPI getSettings()
static SectorAPI getSector()
void optionSelected(String text, Object optionData)
TutorialTransponderDialogPluginImpl(MarketAPI ancyra)
CampaignFleetAPI playerFleet
void optionMousedOver(String optionText, Object optionData)
Map< String, MemoryAPI > getMemoryMap()
InteractionDialogAPI dialog
void init(InteractionDialogAPI dialog)
void backFromEngagement(EngagementResultAPI result)
void advance(float amount)
AbilitySpecAPI getAbilitySpec(String abilityId)