Starsector API
Loading...
Searching...
No Matches
TutorialRespawnDialogPluginImpl.java
Go to the documentation of this file.
1package com.fs.starfarer.api.impl.campaign.tutorial;
2
3import java.util.Map;
4
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.rules.MemoryAPI;
13import com.fs.starfarer.api.combat.EngagementResultAPI;
14
15public class TutorialRespawnDialogPluginImpl implements InteractionDialogPlugin {
16
17 public static enum OptionId {
18 INIT,
19 LOAD,
20 EXIT,
21 ;
22 }
23
24 protected InteractionDialogAPI dialog;
25 protected TextPanelAPI textPanel;
26 protected OptionPanelAPI options;
27 protected VisualPanelAPI visual;
28
29 protected CampaignFleetAPI playerFleet;
30
31 public void init(InteractionDialogAPI dialog) {
32 this.dialog = dialog;
33 textPanel = dialog.getTextPanel();
34 options = dialog.getOptionPanel();
35 visual = dialog.getVisualPanel();
36
37 playerFleet = Global.getSector().getPlayerFleet();
38
39 visual.showImagePortion("illustrations", "space_wreckage", 640, 400, 0, 0, 480, 300);
40
41 optionSelected(null, OptionId.INIT);
42 }
43
44 public Map<String, MemoryAPI> getMemoryMap() {
45 return null;
46 }
47
48 public void backFromEngagement(EngagementResultAPI result) {
49 // no combat here, so this won't get called
50 }
51
52 public void optionSelected(String text, Object optionData) {
53 if (optionData == null) return;
54
55 OptionId option = (OptionId) optionData;
56
57 if (text != null) {
58 //textPanel.addParagraph(text, Global.getSettings().getColor("buttonText"));
59 dialog.addOptionSelectedText(option);
60 }
61
62 switch (option) {
63 case INIT:
64 textPanel.addParagraph("Your fleet has been defeated!");
65
66 textPanel.addParagraph("Normally, if this happens you and your remaining crew will " +
67 "spend some time \"behind the scenes\" assembling a smaller fleet of recovered " +
68 "ships.");
69
70 textPanel.addParagraph("During the course of this tutorial, the only available option is to reload the last save.");
71
72 options.clearOptions();
73 options.addOption("Load last save", OptionId.LOAD, null);
74 options.addOption("Exit to main menu", OptionId.EXIT, null);
75 break;
76 case LOAD:
77
78 dialog.dismiss();
79 Global.getSector().getCampaignUI().quickLoad();
80 break;
81 case EXIT:
82 dialog.dismiss();
83 Global.getSector().getCampaignUI().cmdExitWithoutSaving();
84 break;
85 }
86 }
87
88
89
90
91 public void optionMousedOver(String optionText, Object optionData) {
92
93 }
94
95 public void advance(float amount) {
96
97 }
98
99 public Object getContext() {
100 return null;
101 }
102}
103
104
105
static SectorAPI getSector()
Definition Global.java:59