Starsector API
Loading...
Searching...
No Matches
WormholeIntel.java
Go to the documentation of this file.
1package com.fs.starfarer.api.impl.campaign.intel.misc;
2
3import java.util.ArrayList;
4import java.util.List;
5import java.util.Set;
6
7import java.awt.Color;
8
9import com.fs.starfarer.api.Global;
10import com.fs.starfarer.api.campaign.JumpPointAPI;
11import com.fs.starfarer.api.campaign.JumpPointAPI.JumpDestination;
12import com.fs.starfarer.api.campaign.SectorEntityToken;
13import com.fs.starfarer.api.campaign.TextPanelAPI;
14import com.fs.starfarer.api.campaign.comm.IntelInfoPlugin;
15import com.fs.starfarer.api.impl.campaign.JumpPointInteractionDialogPluginImpl;
16import com.fs.starfarer.api.impl.campaign.ids.Tags;
17import com.fs.starfarer.api.ui.SectorMapAPI;
18import com.fs.starfarer.api.ui.TooltipMakerAPI;
19import com.fs.starfarer.api.util.Misc;
20
21public class WormholeIntel extends MapMarkerIntel {
22
23 public WormholeIntel(SectorEntityToken entity, TextPanelAPI textPanel, boolean deployed) {
24
25 //String icon = Global.getSettings().getSpriteName("intel", "wormhole");
26 String title = entity.getName();
27
28 String text = null;
29// if (entity.getStarSystem() != null) {
30// if (entity.getStarSystem().isDeepSpace()) {
31// text = "Located in deep space";
32// } else {
33// text = "Located in the " + entity.getStarSystem().getNameWithLowercaseTypeShort();
34// }
35// }
36 setSound("ui_discovered_entity");
37 if (deployed) {
38 setDiscoveredPrefixOverride("Deployed: ");
39 }
41 //setWithTimestamp(false);
42
43 init(entity, title, text, null, true, textPanel);
44 }
45
46 @Override
47 public String getIcon() {
48 return Global.getSettings().getSpriteName("intel", "wormhole");
49 }
50
51
52
53 @Override
54 protected boolean withTextInDesc() {
55 return true;
56 }
57
58 @Override
59 protected boolean withCustomVisual() {
60 return true;
61 }
62
63 @Override
64 protected boolean withCustomDescription() {
65 return true;
66 }
67
68 @Override
69 protected void addCustomVisual(TooltipMakerAPI info, float width, float height) {
70 info.addImage(Global.getSettings().getSpriteName("illustrations", "jump_point_wormhole"), width, 10f);
71 }
72
73 @Override
74 protected void addCustomDescription(TooltipMakerAPI info, float width, float height) {
75 //setWithTimestamp(true);
76 float opad = 10f;
77 info.addPara("Wormholes can be used for rapid transit between termini located many "
78 + "light-years apart.", opad);
79 }
80
81 @Override
82 protected void addExtraBulletPoints(TooltipMakerAPI info, Color tc, float initPad, ListInfoMode mode) {
83 if (!(entity instanceof JumpPointAPI)) return;
84
85 JumpPointAPI jumpPoint = (JumpPointAPI) entity;
87 if (dur > 0) {
88 String durStr = "" + (int) dur;
89 String days = "days";
90 if ((int)dur == 1) {
91 days = "day";
92 }
93 if ((int)dur <= 0) {
94 days = "day";
95 durStr = "1";
96 }
97 info.addPara("%s " + days + " until stabilized", initPad, tc, Misc.getHighlightColor(), durStr);
98 }
99 }
100
101 @Override
102 protected void addPostDescriptionSection(TooltipMakerAPI info, float width, float height, float opad) {
103
104 }
105
108 if (((WormholeIntel)intel).getEntity() == entity) return (WormholeIntel)intel;
109 }
110 return null;
111 }
112
113 @Override
114 public Set<String> getIntelTags(SectorMapAPI map) {
115 Set<String> tags = super.getIntelTags(map);
116 //tags.remove(Tags.INTEL_FLEET_LOG);
117 tags.add(Tags.INTEL_GATES);
118 return tags;
119 }
120
121 @Override
122 public String getSortString() {
124 return super.getSortString();
125 }
126 //return super.getSortString();
127 return "AAAA";
128 }
129
130 @Override
131 public List<ArrowData> getArrowData(SectorMapAPI map) {
132
133 if (!(entity instanceof JumpPointAPI)) return null;
134
136
137 List<ArrowData> result = new ArrayList<ArrowData>();
138 for (JumpDestination dest : jp.getDestinations()) {
139 SectorEntityToken target = dest.getDestination();
140 if (getWormholeIntel(target) == null) continue;
141
142 ArrowData arrow = new ArrowData(entity, target);
143 arrow.color = new Color(255,75,255,255);
144 arrow.width = 7f;
145 result.add(arrow);
146 }
147
148 return result;
149 }
150
151
152}
153
154
155
156
static SettingsAPI getSettings()
Definition Global.java:57
static SectorAPI getSector()
Definition Global.java:65
void init(SectorEntityToken entity, String title, String text, String icon, boolean withDesc)
void setDiscoveredPrefixOverride(String discoveredPrefixOverride)
static WormholeIntel getWormholeIntel(SectorEntityToken entity)
void addPostDescriptionSection(TooltipMakerAPI info, float width, float height, float opad)
void addExtraBulletPoints(TooltipMakerAPI info, Color tc, float initPad, ListInfoMode mode)
void addCustomVisual(TooltipMakerAPI info, float width, float height)
WormholeIntel(SectorEntityToken entity, TextPanelAPI textPanel, boolean deployed)
void addCustomDescription(TooltipMakerAPI info, float width, float height)
static Color getHighlightColor()
Definition Misc.java:792
String getSpriteName(String category, String id)
List< JumpDestination > getDestinations()
void addImage(String spriteName, float pad)
LabelAPI addPara(String format, float pad, Color hl, String... highlights)