Starsector API
Loading...
Searching...
No Matches
BaseRouteFleetManager.java
Go to the documentation of this file.
1package com.fs.starfarer.api.impl.campaign.fleets;
2
3import com.fs.starfarer.api.EveryFrameScript;
4import com.fs.starfarer.api.Global;
5import com.fs.starfarer.api.impl.campaign.fleets.RouteManager.RouteFleetSpawner;
6import com.fs.starfarer.api.util.IntervalUtil;
7
8public abstract class BaseRouteFleetManager implements EveryFrameScript, RouteFleetSpawner {
9
10 protected IntervalUtil interval;
11
12 public BaseRouteFleetManager(float minInterval, float maxInterval) {
13 interval = new IntervalUtil(minInterval, maxInterval);
14 }
15
16 protected abstract String getRouteSourceId();
17 protected abstract int getMaxFleets();
18 protected abstract void addRouteFleetIfPossible();
19
20 public void advance(float amount) {
21 float days = Global.getSector().getClock().convertToDays(amount);
22// boolean econ = EconomyFleetRouteManager.class.isInstance(this);
23// if (econ) {
24// days *= 1000f;
25// }
26
27 interval.advance(days);
28 if (interval.intervalElapsed()) {
29 String id = getRouteSourceId();
30 int max = getMaxFleets();
31// if (econ) {
32// max = 1;
33// }
35 if (curr >= max) return;
36
38 }
39 }
40
41 public boolean isDone() {
42 return false;
43 }
44
45 public boolean runWhilePaused() {
46 return false;
47 }
48
49}
static SectorAPI getSector()
Definition Global.java:59