Starsector API
Loading...
Searching...
No Matches
IntelInfoPlugin.java
Go to the documentation of this file.
1package com.fs.starfarer.api.campaign.comm;
2
3import java.awt.Color;
4import java.util.List;
5import java.util.Set;
6
7import com.fs.starfarer.api.campaign.FactionAPI;
8import com.fs.starfarer.api.campaign.SectorEntityToken;
9import com.fs.starfarer.api.campaign.StoryPointActionDelegate;
10import com.fs.starfarer.api.ui.CustomPanelAPI;
11import com.fs.starfarer.api.ui.IntelUIAPI;
12import com.fs.starfarer.api.ui.SectorMapAPI;
13import com.fs.starfarer.api.ui.TooltipMakerAPI;
14import com.fs.starfarer.api.ui.UIPanelAPI;
15
16public interface IntelInfoPlugin {
17
18 public static class TableRowClickData {
19 public Object rowId;
20 public UIPanelAPI table;
21 public TableRowClickData(Object rowId, UIPanelAPI table) {
22 this.rowId = rowId;
23 this.table = table;
24 }
25
26 }
27
28 public static enum ListInfoMode {
29 MESSAGES,
30 INTEL,
31 MAP_TOOLTIP,
32 IN_DESC, // not used from core but useful for some implementation details
33 }
34
35 public static class ArrowData {
36 public float alphaMult = 0.33f;
37 public float width = 10f;
38 public SectorEntityToken from;
39 public SectorEntityToken to;
40 public Color color;
41
42 public ArrowData(SectorEntityToken from, SectorEntityToken to) {
43 this.from = from;
44 this.to = to;
45 }
46
47 public ArrowData(float width, SectorEntityToken from, SectorEntityToken to) {
48 this.width = width;
49 this.from = from;
50 this.to = to;
51 }
52
53 public ArrowData(float width, SectorEntityToken from, SectorEntityToken to, Color color) {
54 this.width = width;
55 this.from = from;
56 this.to = to;
57 this.color = color;
58 }
59 }
60
61 public static final float LIST_ITEM_TEXT_WIDTH = 261f;
62 public static final float NEW_DAYS = 5f;
63
67 public static enum IntelSortTier {
68 TIER_0,
69 TIER_1,
70 TIER_2,
71 TIER_3, // default
72 TIER_4,
73 TIER_5,
74 TIER_6,
75 TIER_COMPLETED,
76 }
77
78
83 String getIcon();
84
90
93
94
96
97// void createIntelListInfo(TooltipMakerAPI info);
98// void createMessageListInfo(TooltipMakerAPI info);
99
100 void createIntelInfo(TooltipMakerAPI info, ListInfoMode mode);
101
104 void createSmallDescription(TooltipMakerAPI info, float width, float height);
105
107 void createLargeDescription(CustomPanelAPI panel, float width, float height);
108
111
117 Set<String> getIntelTags(SectorMapAPI map);
118 boolean isImportant();
119 void setImportant(Boolean important);
121
122 List<ArrowData> getArrowData(SectorMapAPI map);
123
124
125 boolean doesButtonHaveConfirmDialog(Object buttonId);
127 float getConfirmationPromptWidth(Object buttonId);
128 void createConfirmationPrompt(Object buttonId, TooltipMakerAPI prompt);
129 String getConfirmText(Object buttonId);
130 String getCancelText(Object buttonId);
132
133 void buttonPressConfirmed(Object buttonId, IntelUIAPI ui);
134 void buttonPressCancelled(Object buttonId, IntelUIAPI ui);
135 void storyActionConfirmed(Object buttonId, IntelUIAPI ui);
136
137 void setPlayerVisibleTimestamp(Long timestamp);
141
147 boolean canMakeVisibleToPlayer(boolean playerInRelayRange);
151
152 boolean isNew();
153 void setNew(boolean isNew);
154
155 IntelSortTier getSortTier();
157
158
167 boolean isHidden();
168 void setHidden(boolean hidden);
169
175
176
178
180 void setForceAddNextFrame(boolean add);
181
182 boolean isEnded();
183
184 boolean isEnding();
185
186
187 void tableRowClicked(IntelUIAPI ui, TableRowClickData data);
188}
189
190
191
192
193
boolean canMakeVisibleToPlayer(boolean playerInRelayRange)
void createConfirmationPrompt(Object buttonId, TooltipMakerAPI prompt)
void storyActionConfirmed(Object buttonId, IntelUIAPI ui)
void createIntelInfo(TooltipMakerAPI info, ListInfoMode mode)
boolean doesButtonHaveConfirmDialog(Object buttonId)
SectorEntityToken getMapLocation(SectorMapAPI map)
void createSmallDescription(TooltipMakerAPI info, float width, float height)
List< ArrowData > getArrowData(SectorMapAPI map)
void createLargeDescription(CustomPanelAPI panel, float width, float height)
void buttonPressCancelled(Object buttonId, IntelUIAPI ui)
Set< String > getIntelTags(SectorMapAPI map)
void tableRowClicked(IntelUIAPI ui, TableRowClickData data)
void buttonPressConfirmed(Object buttonId, IntelUIAPI ui)
StoryPointActionDelegate getButtonStoryPointActionDelegate(Object buttonId)