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.util.List;
4import java.util.Set;
5
6import java.awt.Color;
7
8import com.fs.starfarer.api.campaign.FactionAPI;
9import com.fs.starfarer.api.campaign.SectorEntityToken;
10import com.fs.starfarer.api.campaign.StoryPointActionDelegate;
11import com.fs.starfarer.api.ui.CustomPanelAPI;
12import com.fs.starfarer.api.ui.IntelUIAPI;
13import com.fs.starfarer.api.ui.SectorMapAPI;
14import com.fs.starfarer.api.ui.TooltipMakerAPI;
15import com.fs.starfarer.api.ui.UIPanelAPI;
16
17public interface IntelInfoPlugin {
18
19 public static class TableRowClickData {
20 public Object rowId;
21 public UIPanelAPI table;
22 public TableRowClickData(Object rowId, UIPanelAPI table) {
23 this.rowId = rowId;
24 this.table = table;
25 }
26
27 }
28
29 public static enum ListInfoMode {
30 MESSAGES,
31 INTEL,
32 MAP_TOOLTIP,
33 IN_DESC, // not used from core but useful for some implementation details
34 }
35
36 public static class ArrowData {
37 public float alphaMult = 0.33f;
38 public float width = 10f;
39 public SectorEntityToken from;
40 public SectorEntityToken to;
41 public Color color;
42
43 public ArrowData(SectorEntityToken from, SectorEntityToken to) {
44 this.from = from;
45 this.to = to;
46 }
47
48 public ArrowData(float width, SectorEntityToken from, SectorEntityToken to) {
49 this.width = width;
50 this.from = from;
51 this.to = to;
52 }
53
54 public ArrowData(float width, SectorEntityToken from, SectorEntityToken to, Color color) {
55 this.width = width;
56 this.from = from;
57 this.to = to;
58 this.color = color;
59 }
60 }
61
62 public static final float LIST_ITEM_TEXT_WIDTH = 261f;
63 public static final float NEW_DAYS = 5f;
64
68 public static enum IntelSortTier {
69 TIER_0,
70 TIER_1,
71 TIER_2,
72 TIER_3, // default
73 TIER_4,
74 TIER_5,
75 TIER_6,
76 TIER_COMPLETED,
77 }
78
79
84 String getIcon();
85
91
94
95
97
98// void createIntelListInfo(TooltipMakerAPI info);
99// void createMessageListInfo(TooltipMakerAPI info);
100
101 void createIntelInfo(TooltipMakerAPI info, ListInfoMode mode);
102
105 void createSmallDescription(TooltipMakerAPI info, float width, float height);
106
108 void createLargeDescription(CustomPanelAPI panel, float width, float height);
109
112
118 Set<String> getIntelTags(SectorMapAPI map);
119 boolean isImportant();
120 void setImportant(Boolean important);
122
123 List<ArrowData> getArrowData(SectorMapAPI map);
124
125
126 boolean doesButtonHaveConfirmDialog(Object buttonId);
128 float getConfirmationPromptWidth(Object buttonId);
129 void createConfirmationPrompt(Object buttonId, TooltipMakerAPI prompt);
130 String getConfirmText(Object buttonId);
131 String getCancelText(Object buttonId);
133
134 void buttonPressConfirmed(Object buttonId, IntelUIAPI ui);
135 void buttonPressCancelled(Object buttonId, IntelUIAPI ui);
136 void storyActionConfirmed(Object buttonId, IntelUIAPI ui);
137
138 void setPlayerVisibleTimestamp(Long timestamp);
142
148 boolean canMakeVisibleToPlayer(boolean playerInRelayRange);
152
153 boolean isNew();
154 void setNew(boolean isNew);
155
156 IntelSortTier getSortTier();
158
159
168 boolean isHidden();
169 void setHidden(boolean hidden);
170
176
177
179
181 void setForceAddNextFrame(boolean add);
182
183 boolean isEnded();
184
185 boolean isEnding();
186
187
188 void tableRowClicked(IntelUIAPI ui, TableRowClickData data);
189
190 Set<String> getTagsForSort();
191 void setTagsForSort(Set<String> tagsForSort);
192}
193
194
195
196
197
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)
void setTagsForSort(Set< String > tagsForSort)
StoryPointActionDelegate getButtonStoryPointActionDelegate(Object buttonId)