Starsector API
Loading...
Searching...
No Matches
TempImmigrationModifier.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.MarketImmigrationModifier;
6import com.fs.starfarer.api.campaign.listeners.EconomyTickListener;
7import com.fs.starfarer.api.impl.campaign.population.PopulationComposition;
8import com.fs.starfarer.api.util.Misc;
9
11
12 protected String id;
13 protected long startTime = 0;
14
15 protected MarketAPI market;
16 protected float pointsPerMonth;
17 protected float durDays;
18 protected String desc;
19
21 this.market = market;
22 this.pointsPerMonth = pointsPerMonth;
23 this.durDays = durDays;
24 this.desc = desc;
27 id = "temp_im_ " + Misc.genUID();
29 }
30
31
32 public void reportEconomyTick(int iterIndex) {
34 if (daysPassed > durDays) {
37 return;
38 }
39 }
40
41 public void reportEconomyMonthEnd() {
42 }
43
46 int daysLeft = (int) (durDays - daysPassed);
47 if (daysLeft <= 0) return;
48
49 String days = "days";
50 if (daysLeft == 1) days = "day";
51 incoming.getWeight().modifyFlat(id, pointsPerMonth, desc + " (" + daysLeft + " " + days + " left)");
52 }
53}
54
55
56
static SectorAPI getSector()
Definition Global.java:65
void modifyFlat(String source, float value)
void modifyIncoming(MarketAPI market, PopulationComposition incoming)
TempImmigrationModifier(MarketAPI market, float pointsPerMonth, float durDays, String desc)
ListenerManagerAPI getListenerManager()
void removeImmigrationModifier(MarketImmigrationModifier mod)
void addImmigrationModifier(MarketImmigrationModifier mod)