Starsector API
Loading...
Searching...
No Matches
FGDurationAction.java
Go to the documentation of this file.
1package com.fs.starfarer.api.impl.campaign.intel.group;
2
3import com.fs.starfarer.api.Global;
4import com.fs.starfarer.api.impl.campaign.fleets.RouteManager.RouteSegment;
5
6public class FGDurationAction extends BaseFGAction {
7
8 protected float durDays;
9 protected float origDurDays;
10
11 public FGDurationAction(float durDays) {
12 this.durDays = durDays;
14 }
15
16 @Override
17 public void notifyFleetsSpawnedMidSegment(RouteSegment segment) {
18 super.notifyFleetsSpawnedMidSegment(segment);
19 durDays *= (1f - segment.getProgress());
20 }
21
22 @Override
23 public void directFleets(float amount) {
24 super.directFleets(amount);
25
26 float days = Global.getSector().getClock().convertToDays(amount);
27 durDays -= days;
28
29 if (durDays <= 0) {
31 return;
32 }
33 }
34
36 if (intel.isSpawnedFleets()) {
37 return durDays;
38 } else {
39 RouteSegment segment = intel.getSegmentForAction(this);
40 if (segment == null) return 0f;
41 return Math.max(0f, segment.daysMax - segment.elapsed);
42 }
43 }
44
45 public float getDurDays() {
46 return durDays;
47 }
48
49 public void setDurDays(float waitDays) {
50 this.durDays = waitDays;
51 }
52
53 public float getOrigDurDays() {
54 return origDurDays;
55 }
56
57 public void setOrigDurDays(float origDurDays) {
58 this.origDurDays = origDurDays;
59 }
60
61}
62
63
64
65
static SectorAPI getSector()
Definition Global.java:59