Starsector API
Loading...
Searching...
No Matches
ShroudedSubstratePlugin.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.CargoAPI.CargoItemType;
8import com.fs.starfarer.api.campaign.CargoTransferHandlerAPI;
9import com.fs.starfarer.api.campaign.SpecialItemData;
10import com.fs.starfarer.api.impl.campaign.RuleBasedInteractionDialogPluginImpl;
11import com.fs.starfarer.api.impl.campaign.ids.Items;
12import com.fs.starfarer.api.ui.TooltipMakerAPI;
13import com.fs.starfarer.api.util.Misc;
14
16
17 public static String PLAYER_CAN_MAKE_WEAPONS = "$canMakeDwellerWeapons"; // in player memory
18 public static String SHROUDED_SUBSTRATE_AVAILABLE = "$shroudedSubstrateAvailable"; // in player memory
19
26
27
28 @Override
29 public void createTooltip(TooltipMakerAPI tooltip, boolean expanded, CargoTransferHandlerAPI transferHandler, Object stackSource) {
30 float pad = 3f;
31 float opad = 10f;
32 float small = 5f;
33 Color h = Misc.getHighlightColor();
34 Color g = Misc.getGrayColor();
35 Color b = Misc.getButtonTextColor();
37
39 tooltip.addTitle(getName());
40 } else {
41 tooltip.addSpacer(-opad);
42 }
43
44 String design = getDesignType();
45 if (design != null) {
46 Misc.addDesignTypePara(tooltip, design, 10f);
47 }
48
49 if (!spec.getDesc().isEmpty()) {
51 tooltip.setParaSmallInsignia();
52 }
53 tooltip.addPara(spec.getDesc(), Misc.getTextColor(), opad);
54 }
55
56 addCostLabel(tooltip, opad, transferHandler, stackSource);
57
60 tooltip.addPara("Right-click to manufacture a weapon", b, opad);
61 } else {
62 tooltip.addPara("Right-click to analyze the " + getName(), b, opad);
63 }
64 }
65 }
66
67 @Override
68 public float getTooltipWidth() {
69 return super.getTooltipWidth();
70 }
71
72 @Override
73 public boolean isTooltipExpandable() {
74 return false;
75 }
76
77 @Override
78 public boolean hasRightClickAction() {
79 return true;
80 }
81
82 @Override
84 return false;
85 }
86
87 @Override
88 public void performRightClickAction(RightClickActionHelper helper) {
89 Global.getSoundPlayer().playUISound(getSpec().getSoundId(), 1f, 1f);
90
91 int substrate = (int) helper.getNumItems(CargoItemType.SPECIAL, new SpecialItemData(Items.SHROUDED_SUBSTRATE, null));
93
94 RuleBasedInteractionDialogPluginImpl plugin = new RuleBasedInteractionDialogPluginImpl("ShroudedSubstrateRightClick");
95 plugin.setCustom1(helper);
97 Global.getSector().getPlayerFleet(), new DismissDialogDelegate() {
98 @Override
99 public void dialogDismissed() {
100 }
101 });
102 }
103
104
105}
106
107
108
109
110
111
112
113
114
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)