1package com.fs.starfarer.api.impl.campaign.fleets;
3import java.util.ArrayList;
6import org.apache.log4j.Logger;
8import com.fs.starfarer.api.EveryFrameScript;
9import com.fs.starfarer.api.Global;
10import com.fs.starfarer.api.campaign.BattleAPI;
11import com.fs.starfarer.api.campaign.CampaignEventListener.FleetDespawnReason;
12import com.fs.starfarer.api.campaign.CampaignFleetAPI;
13import com.fs.starfarer.api.campaign.LocationAPI;
14import com.fs.starfarer.api.campaign.listeners.FleetEventListener;
15import com.fs.starfarer.api.util.IntervalUtil;
29 public static class ManagedFleetData {
35 this.spawnedFor = spawnedFor;
40 protected List<ManagedFleetData>
active =
new ArrayList<ManagedFleetData>();
57 return 30f * (0.75f + (float) Math.random() * 0.5f);
68 if (!
tracker.intervalElapsed())
return;
74 List<ManagedFleetData>
remove =
new ArrayList<ManagedFleetData>();
75 for (ManagedFleetData data :
active) {
76 if (data.fleet.getContainingLocation() ==
null ||
77 !data.fleet.getContainingLocation().getFleets().contains(data.fleet)) {
79 log.info(
"Cleaning up orphaned fleet [" + data.fleet.getNameWithFaction() +
"]");
95 ManagedFleetData data =
new ManagedFleetData(fleet, spawnLoc);
102 log.debug(
"Maximum number of " + max +
" fleets already in play for [" + getClass().getName() +
"]");
116 for (ManagedFleetData data :
active) {
117 if (data.fleet == fleet) {
static SettingsAPI getSettings()
static Logger getLogger(Class c)
static SectorAPI getSector()
void reportBattleOccurred(CampaignFleetAPI fleet, CampaignFleetAPI primaryWinner, BattleAPI battle)
void reportFleetDespawnedToListener(CampaignFleetAPI fleet, FleetDespawnReason reason, Object param)
void advance(float amount)
List< ManagedFleetData > active
BaseLimitedFleetManager()
abstract int getMaxFleets()
abstract CampaignFleetAPI spawnFleet()
void reportFleetDespawned(CampaignFleetAPI fleet, FleetDespawnReason reason, Object param)
void setInterval(float min, float max)
void advance(float amount)
void profilerBegin(String id)
float convertToDays(float realSeconds)
String getNameWithFaction()
void addEventListener(FleetEventListener listener)
CampaignClockAPI getClock()
Vector2f getLocationInHyperspace()