Starsector API
Loading...
Searching...
No Matches
LightIndustry.java
Go to the documentation of this file.
1package com.fs.starfarer.api.impl.campaign.econ.impl;
2
3import com.fs.starfarer.api.Global;
4import com.fs.starfarer.api.campaign.PlanetAPI;
5import com.fs.starfarer.api.impl.campaign.ids.Commodities;
6import com.fs.starfarer.api.util.Pair;
7
8
9public class LightIndustry extends BaseIndustry {
10
11 public void apply() {
12 super.apply(true);
13
14 int size = market.getSize();
15
16 demand(Commodities.ORGANICS, size);
17
18 supply(Commodities.DOMESTIC_GOODS, size);
19 //supply(Commodities.SUPPLIES, size - 3);
20
21 //if (!market.getFaction().isIllegal(Commodities.LUXURY_GOODS)) {
22 if (!market.isIllegal(Commodities.LUXURY_GOODS)) {
23 supply(Commodities.LUXURY_GOODS, size - 2);
24 } else {
25 supply(Commodities.LUXURY_GOODS, 0);
26 }
27 //if (!market.getFaction().isIllegal(Commodities.DRUGS)) {
28 if (!market.isIllegal(Commodities.DRUGS)) {
29 supply(Commodities.DRUGS, size - 2);
30 } else {
31 supply(Commodities.DRUGS, 0);
32 }
33
34 Pair<String, Integer> deficit = getMaxDeficit(Commodities.ORGANICS);
35
36 applyDeficitToProduction(1, deficit,
37 Commodities.DOMESTIC_GOODS,
38 Commodities.LUXURY_GOODS,
39 //Commodities.SUPPLIES,
40 Commodities.DRUGS);
41
42 if (!isFunctional()) {
43 supply.clear();
44 }
45 }
46
47
48 @Override
49 public void unapply() {
50 super.unapply();
51 }
52
53 @Override
54 public String getCurrentImage() {
55 float size = market.getSize();
56 PlanetAPI planet = market.getPlanetEntity();
57 if (planet == null || planet.isGasGiant()) {
58 if (size <= SIZE_FOR_SMALL_IMAGE) {
59 return Global.getSettings().getSpriteName("industry", "light_industry_orbital_low");
60 }
61 if (size >= SIZE_FOR_LARGE_IMAGE) {
62 return Global.getSettings().getSpriteName("industry", "light_industry_orbital_high");
63 }
64 return Global.getSettings().getSpriteName("industry", "light_industry_orbital");
65 }
66 else
67 {
68 if (size <= SIZE_FOR_SMALL_IMAGE) {
69 return Global.getSettings().getSpriteName("industry", "light_industry_low");
70 }
71 if (size >= SIZE_FOR_LARGE_IMAGE) {
72 return Global.getSettings().getSpriteName("industry", "light_industry_high");
73 }
74 }
75
76 return super.getCurrentImage();
77 }
78
79 @Override
80 protected boolean canImproveToIncreaseProduction() {
81 return true;
82 }
83}
static SettingsAPI getSettings()
Definition Global.java:51
Map< String, MutableCommodityQuantity > supply
Map< String, MutableCommodityQuantity > demand
Pair< String, Integer > getMaxDeficit(String ... commodityIds)
void applyDeficitToProduction(int index, Pair< String, Integer > deficit, String ... commodities)
String getSpriteName(String category, String id)