Starsector API
Loading...
Searching...
No Matches
Industry.java
Go to the documentation of this file.
1package com.fs.starfarer.api.campaign.econ;
2
3import java.util.List;
4import java.util.Random;
5
6import com.fs.starfarer.api.campaign.CargoAPI;
7import com.fs.starfarer.api.campaign.SpecialItemData;
8import com.fs.starfarer.api.campaign.econ.MarketAPI.MarketInteractionMode;
9import com.fs.starfarer.api.combat.MutableStat;
10import com.fs.starfarer.api.impl.campaign.rulecmd.salvage.MarketCMD.RaidDangerLevel;
11import com.fs.starfarer.api.loading.IndustrySpecAPI;
12import com.fs.starfarer.api.ui.TooltipMakerAPI;
13import com.fs.starfarer.api.util.Pair;
14
15public interface Industry {
16
17 public static enum ImprovementDescriptionMode {
18 MENU_BUTTON,
19 STORY_POINT_USE_DIALOG,
20 INDUSTRY_TOOLTIP,
21 }
22
23 public static enum AICoreDescriptionMode {
24 INDUSTRY_TOOLTIP,
25 MANAGE_CORE_TOOLTIP,
26 MANAGE_CORE_DIALOG_LIST,
27 MANAGE_CORE_DIALOG_INSTALLED,
28 }
29
30 public static enum IndustryTooltipMode {
31 NORMAL,
32 ADD_INDUSTRY,
33 UPGRADE,
34 DOWNGRADE,
35 QUEUED,
36 }
37
38
45 void initWithParams(List<String> params);
46
48
49 void apply();
50 void unapply();
51
55 void reapply();
56
57 void advance(float amount);
58
59 List<MutableCommodityQuantity> getAllSupply();
60 List<MutableCommodityQuantity> getAllDemand();
63
64 MutableStat getIncome();
65 MutableStat getUpkeep();
66
67 void init(String id, MarketAPI market);
68
69 String getId();
70 IndustrySpecAPI getSpec();
71
72 Pair<String, Integer> getMaxDeficit(String ... commodityIds);
73 List<Pair<String, Integer>> getAllDeficit(String ... commodityIds);
74 List<Pair<String, Integer>> getAllDeficit();
75
78
81
86 boolean isBuilding();
87
92 boolean isUpgrading();
97
98 float getBuildTime();
99 float getBuildCost();
101 //float getActualUpkeep();
102
106
108
113 boolean isFunctional();
114
117 void createTooltip(IndustryTooltipMode mode, TooltipMakerAPI tooltip, boolean expanded);
118
120
121 String getAICoreId();
122 void setAICoreId(String aiCoreId);
123
124 void supply(String modId, String commodityId, int quantity, String desc);
125
126 void downgrade();
127
129
130
131 boolean showShutDown();
132 boolean canShutDown();
134
135 boolean canUpgrade();
136 boolean canDowngrade();
137
138 void addAICoreSection(TooltipMakerAPI tooltip, AICoreDescriptionMode mode);
139 void addAICoreSection(TooltipMakerAPI tooltip, String coreId, AICoreDescriptionMode mode);
140
143
144 MutableStat getDemandReduction();
145 MutableStat getSupplyBonus();
146
147 List<SpecialItemData> getVisibleInstalledItems();
148
149 List<InstallableIndustryItemPlugin> getInstallableItems();
150
151 void notifyBeingRemoved(MarketInteractionMode mode, boolean forUpgrade);
152
153 boolean isHidden();
154
155 void setDisrupted(float days);
156 void setDisrupted(float days, boolean useMax);
158 boolean isDisrupted();
159 boolean canBeDisrupted();
160
162
165
168
170
171
178
179 boolean isIndustry();
180 boolean isStructure();
181 boolean isOther();
182
184
186
187 boolean canImprove();
188 boolean isImproved();
189 void setImproved(boolean improved);
191 void addImproveDesc(TooltipMakerAPI info, ImprovementDescriptionMode mode);
196
197
198 RaidDangerLevel adjustCommodityDangerLevel(String commodityId, RaidDangerLevel level);
205 RaidDangerLevel adjustItemDangerLevel(String itemId, String data, RaidDangerLevel level);
206 int adjustMarineTokensToRaidItem(String itemId, String data, int marineTokens);
207
209
212
213 void setHidden(boolean hidden);
214}
215
216
217
218
219
220
221
List< MutableCommodityQuantity > getAllDemand()
void notifyBeingRemoved(MarketInteractionMode mode, boolean forUpgrade)
RaidDangerLevel adjustItemDangerLevel(String itemId, String data, RaidDangerLevel level)
void addAICoreSection(TooltipMakerAPI tooltip, String coreId, AICoreDescriptionMode mode)
void addImproveDesc(TooltipMakerAPI info, ImprovementDescriptionMode mode)
RaidDangerLevel adjustCommodityDangerLevel(String commodityId, RaidDangerLevel level)
boolean wantsToUseSpecialItem(SpecialItemData data)
boolean isDemandLegal(CommodityOnMarketAPI com)
MutableCommodityQuantity getDemand(String id)
void init(String id, MarketAPI market)
int adjustMarineTokensToRaidItem(String itemId, String data, int marineTokens)
void createTooltip(IndustryTooltipMode mode, TooltipMakerAPI tooltip, boolean expanded)
List< InstallableIndustryItemPlugin > getInstallableItems()
List< Pair< String, Integer > > getAllDeficit()
Pair< String, Integer > getMaxDeficit(String ... commodityIds)
void supply(String modId, String commodityId, int quantity, String desc)
boolean isSupplyLegal(CommodityOnMarketAPI com)
CargoAPI generateCargoForGatheringPoint(Random random)
void addAICoreSection(TooltipMakerAPI tooltip, AICoreDescriptionMode mode)
MutableCommodityQuantity getSupply(String id)
List< SpecialItemData > getVisibleInstalledItems()
List< MutableCommodityQuantity > getAllSupply()
void initWithParams(List< String > params)
void setSpecialItem(SpecialItemData special)
void setDisrupted(float days, boolean useMax)
List< Pair< String, Integer > > getAllDeficit(String ... commodityIds)