1package com.fs.starfarer.api.impl.campaign.fleets;
3import java.util.ArrayList;
4import java.util.Iterator;
7import org.lwjgl.util.vector.Vector2f;
9import com.fs.starfarer.api.EveryFrameScript;
10import com.fs.starfarer.api.Global;
11import com.fs.starfarer.api.campaign.BattleAPI;
12import com.fs.starfarer.api.campaign.CampaignEventListener.FleetDespawnReason;
13import com.fs.starfarer.api.campaign.CampaignFleetAPI;
14import com.fs.starfarer.api.campaign.SectorEntityToken;
15import com.fs.starfarer.api.campaign.listeners.FleetEventListener;
16import com.fs.starfarer.api.util.Misc;
32 protected List<CampaignFleetAPI>
fleets =
new ArrayList<CampaignFleetAPI>();
36 public static boolean DEBUG =
true;
75 Iterator<CampaignFleetAPI> iter =
fleets.iterator();
76 while (iter.hasNext()) {
77 if (!iter.next().isAlive()) {
94 float distFromSource = Misc.getDistanceLY(player.getLocationInHyperspace(),
sourceLocation);
108 if (currMax <
fleets.size()) {
109 for (CampaignFleetAPI fleet :
new ArrayList<CampaignFleetAPI>(
fleets)) {
110 float distFromPlayer = Misc.getDistanceLY(player.getLocationInHyperspace(), fleet.getLocationInHyperspace());
112 fleet.despawn(FleetDespawnReason.PLAYER_FAR_AWAY,
null);
113 if (
fleets.size() <= currMax)
break;
120 if (currMax >
fleets.size()) {
125 fleet.addEventListener(
this);
139 private boolean done =
false;
155 if (reason == FleetDespawnReason.DESTROYED_BY_BATTLE) {
static SectorAPI getSector()
static float DESPAWN_THRESHOLD_PAD_LY
void setDone(boolean done)
SectorEntityToken getSource()
abstract CampaignFleetAPI spawnFleet()
static float DESPAWN_MIN_DIST_LY
void reportFleetDespawnedToListener(CampaignFleetAPI fleet, FleetDespawnReason reason, Object param)
List< CampaignFleetAPI > fleets
SourceBasedFleetManager(SectorEntityToken source, float thresholdLY, int minFleets, int maxFleets, float respawnDelay)
void reportBattleOccurred(CampaignFleetAPI fleet, CampaignFleetAPI primaryWinner, BattleAPI battle)
void advance(float amount)