Starsector API
Loading...
Searching...
No Matches
WormholeScannerPlugin.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.CargoAPI;
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.ids.Items;
11import com.fs.starfarer.api.ui.TooltipMakerAPI;
12import com.fs.starfarer.api.util.Misc;
13
15
16 public static String PLAYER_CAN_USE_WORMHOLES = "$playerCanUseWormholes"; // in global memory
17
18 @Override
19 public void createTooltip(TooltipMakerAPI tooltip, boolean expanded, CargoTransferHandlerAPI transferHandler, Object stackSource) {
20 float pad = 3f;
21 float opad = 10f;
22 float small = 5f;
23 Color h = Misc.getHighlightColor();
24 Color g = Misc.getGrayColor();
25 Color b = Misc.getButtonTextColor();
26 b = Misc.getPositiveHighlightColor();
27
28 tooltip.addTitle(getName());
29
30 String design = getDesignType();
31 if (design != null) {
32 Misc.addDesignTypePara(tooltip, design, 10f);
33 }
34
35 if (!spec.getDesc().isEmpty()) {
36 tooltip.addPara(spec.getDesc(), Misc.getTextColor(), opad);
37 }
38
39 addCostLabel(tooltip, opad, transferHandler, stackSource);
40
41 tooltip.addPara("Right-click to integrate the " + getName() + " with your fleet", b, opad);
42 }
43
44 @Override
45 public float getTooltipWidth() {
46 return super.getTooltipWidth();
47 }
48
49 @Override
50 public boolean isTooltipExpandable() {
51 return false;
52 }
53
54 @Override
55 public boolean hasRightClickAction() {
56 return true;
57 }
58
59 @Override
61 return true;
62 }
63
64 @Override
66 Global.getSector().getMemoryWithoutUpdate().set(PLAYER_CAN_USE_WORMHOLES, true);
67 Global.getSoundPlayer().playUISound(getSpec().getSoundId(), 1f, 1f);
68 Global.getSector().getCampaignUI().getMessageDisplay().addMessage(
69 getName() + " integrated - can transit wormholes");
70 }
71
72
73 public static boolean canPlayerUseWormholes() {
74 if (Global.getSector().getMemoryWithoutUpdate().getBoolean(PLAYER_CAN_USE_WORMHOLES)) {
75 return true;
76 }
77
78 CargoAPI cargo = Global.getSector().getPlayerFleet().getCargo();
79 String id = Items.WORMHOLE_SCANNER;
80 if (cargo.getQuantity(CargoItemType.SPECIAL, new SpecialItemData(id, null)) >= 1) {
81 return true;
82 }
83
84 return false;
85 }
86}
87
88
89
static SoundPlayerAPI getSoundPlayer()
Definition Global.java:43
static SectorAPI getSector()
Definition Global.java:59
void addCostLabel(TooltipMakerAPI tooltip, float pad, CargoTransferHandlerAPI transferHandler, Object stackSource)
void createTooltip(TooltipMakerAPI tooltip, boolean expanded, CargoTransferHandlerAPI transferHandler, Object stackSource)
SoundAPI playUISound(String id, float pitch, float volume)
float getQuantity(CargoAPI.CargoItemType type, Object data)