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.rules.MemoryAPI;
14import com.fs.starfarer.api.combat.EngagementResultAPI;
15import com.fs.starfarer.api.impl.campaign.ids.Abilities;
16import com.fs.starfarer.api.impl.campaign.rulecmd.AddRemoveCommodity;
17import com.fs.starfarer.api.loading.AbilitySpecAPI;
18import com.fs.starfarer.api.util.Misc;
22 public static enum OptionId {
30 protected InteractionDialogAPI
dialog;
62 if (optionData ==
null)
return;
64 OptionId option = (OptionId) optionData;
68 dialog.addOptionSelectedText(option);
73 textPanel.addParagraph(
"Welcome to the Persean Sector! " +
74 "Your fleet is in the middle of nowhere and critically low on supplies.");
76 textPanel.addParagraph(
"If you don't acquire more supplies, " +
77 "your fleet will suffer through a slow but ultimately fatal decline.");
80 options.addOption(
"Continue", OptionId.CONT1,
null);
85 textPanel.addPara(
"Fortunately, there's a debris field nearby. " +
86 "Move up into it and activate your %s ability to search it for useful cargo.",
87 Misc.getHighlightColor(),
88 "\"" + ability.getName() +
"\"");
91 textPanel.addParagraph(
"Scavenging requires Heavy Machinery, but there is some in your cargo holds.");
94 AbilitySlotsAPI slots =
Global.
getSector().getUIData().getAbilitySlotsAPI();
95 slots.setCurrBarIndex(0);
98 slots.getCurrSlotsCopy().get(slotIndex).setAbilityId(ability.getId());
99 AddRemoveCommodity.addAbilityGainText(ability.getId(),
textPanel);
101 textPanel.addParagraph(
"Make sure to take all of the supplies and any other valuable cargo, but feel free to leave the cheap and bulky metals behind.");
102 textPanel.addParagraph(
"To get your fleet moving, click on empty space in the direction you want to move.");
105 options.addOption(
"Finish", OptionId.CONT2,
null);
static SettingsAPI getSettings()
static SectorAPI getSector()
AbilitySpecAPI getAbilitySpec(String abilityId)