Starsector API
Loading...
Searching...
No Matches
ShroudedHullmodItemPlugin.java
Go to the documentation of this file.
1package com.fs.starfarer.api.campaign.impl.items;
2
3import java.awt.Color;
4
5import com.fs.starfarer.api.Global;
6import com.fs.starfarer.api.campaign.CampaignUIAPI.DismissDialogDelegate;
7import com.fs.starfarer.api.campaign.CargoTransferHandlerAPI;
8import com.fs.starfarer.api.impl.campaign.RuleBasedInteractionDialogPluginImpl;
9import com.fs.starfarer.api.ui.TooltipMakerAPI;
10import com.fs.starfarer.api.util.Misc;
11
13
14 public static String SHROUDED_HULLMOD_ID = "$shroudedHullmodId";
15
16 @Override
17 public void createTooltip(TooltipMakerAPI tooltip, boolean expanded, CargoTransferHandlerAPI transferHandler, Object stackSource) {
18 float pad = 3f;
19 float opad = 10f;
20 float small = 5f;
21 Color h = Misc.getHighlightColor();
22 Color g = Misc.getGrayColor();
23 Color b = Misc.getButtonTextColor();
25
27 tooltip.addTitle(getName());
28 } else {
29 tooltip.addSpacer(-opad);
30 }
31
32 String design = getDesignType();
33 if (design != null) {
34 Misc.addDesignTypePara(tooltip, design, 10f);
35 }
36
37 if (!spec.getDesc().isEmpty()) {
39 tooltip.setParaSmallInsignia();
40 }
41 tooltip.addPara(spec.getDesc(), Misc.getTextColor(), opad);
42 }
43
44 addCostLabel(tooltip, opad, transferHandler, stackSource);
45
47 if (!playerKnowsHullmod()) {
48 tooltip.addPara("Right-click to analyze the " + getName(), b, opad);
49 }
50 }
51 }
52
53 protected boolean playerKnowsHullmod() {
55 }
56
57 protected String getHullmodId() {
58 return spec.getParams();
59 }
60
61 protected String getRightClickRuleTrigger() {
62 return "ShroudedHullmodItemRC";
63 }
64
65 @Override
66 public boolean hasRightClickAction() {
67 return !playerKnowsHullmod();
68 }
69
70 @Override
72 return false;
73 }
74
75 @Override
76 public void performRightClickAction(RightClickActionHelper helper) {
77 Global.getSoundPlayer().playUISound(getSpec().getSoundId(), 1f, 1f);
78
80
82 plugin.setCustom1(helper);
84 Global.getSector().getPlayerFleet(), new DismissDialogDelegate() {
85 @Override
86 public void dialogDismissed() {
87 }
88 });
89 }
90
91
92}
93
94
95
96
97
98
99
100
101
static boolean CODEX_TOOLTIP_MODE
Definition Global.java:15
static SoundPlayerAPI getSoundPlayer()
Definition Global.java:49
static SectorAPI getSector()
Definition Global.java:65
void addCostLabel(TooltipMakerAPI tooltip, float pad, CargoTransferHandlerAPI transferHandler, Object stackSource)
void createTooltip(TooltipMakerAPI tooltip, boolean expanded, CargoTransferHandlerAPI transferHandler, Object stackSource)
static Color getTextColor()
Definition Misc.java:839
static Color getButtonTextColor()
Definition Misc.java:842
static Color getGrayColor()
Definition Misc.java:826
static Color getHighlightColor()
Definition Misc.java:792
static LabelAPI addDesignTypePara(TooltipMakerAPI tooltip, String design, float pad)
Definition Misc.java:4946
static Color getPositiveHighlightColor()
Definition Misc.java:822
SoundAPI playUISound(String id, float pitch, float volume)
boolean showInteractionDialogFromCargo(InteractionDialogPlugin plugin, SectorEntityToken interactionTarget, DismissDialogDelegate delegate)
void set(String key, Object value)
LabelAPI addPara(String format, float pad, Color hl, String... highlights)
UIComponentAPI addSpacer(float height)