Starsector API
Loading...
Searching...
No Matches
StabilizeMarketPluginImpl.java
Go to the documentation of this file.
1package com.fs.starfarer.api.impl.campaign;
2
3import com.fs.starfarer.api.Global;
4import com.fs.starfarer.api.campaign.econ.MarketAPI;
5import com.fs.starfarer.api.campaign.econ.StabilizeMarketPlugin;
6import com.fs.starfarer.api.impl.campaign.econ.RecentUnrest;
7import com.fs.starfarer.api.ui.TooltipMakerAPI;
8import com.fs.starfarer.api.util.Misc;
9
10public class StabilizeMarketPluginImpl implements StabilizeMarketPlugin {
11
12 public boolean canStabilize(MarketAPI market) {
13 return getMaxStabilizeAmount(market) > 0;
14 }
15
16 public void createStabilizeButtonTooltip(TooltipMakerAPI info, float width, boolean expanded, MarketAPI market) {
17 info.addPara("Can only stabilize colonies with at least %s points of recent unrest.", 0f,
18 Misc.getHighlightColor(), "" + 2);
19 }
20
21 public int getMaxStabilizeAmount(MarketAPI market) {
22 return Math.max(0, RecentUnrest.getPenalty(market) - 1);
23 }
24
25 public int getCostPerStabilityPoint(MarketAPI market) {
26 int base = Global.getSettings().getInt("baseStabilizeCost");
27 return Math.max(1, market.getSize() - 2) * base;
28 }
29
30 public boolean isStabilizeButtonTooltipExpandable(MarketAPI market) {
31 return false;
32 }
33
34 public boolean stabilizeButtonHasTooltip(MarketAPI market) {
35 return !canStabilize(market);
36 }
37
38 public int getHandlingPriority(Object params) {
39 return 0;
40 }
41}
static SettingsAPI getSettings()
Definition Global.java:51
void createStabilizeButtonTooltip(TooltipMakerAPI info, float width, boolean expanded, MarketAPI market)