1package com.fs.starfarer.api.impl.campaign.fleets;
3import java.util.ArrayList;
6import com.fs.starfarer.api.EveryFrameScript;
7import com.fs.starfarer.api.Global;
8import com.fs.starfarer.api.campaign.BattleAPI;
9import com.fs.starfarer.api.campaign.CampaignFleetAPI;
10import com.fs.starfarer.api.campaign.StarSystemAPI;
11import com.fs.starfarer.api.campaign.CampaignEventListener.FleetDespawnReason;
12import com.fs.starfarer.api.campaign.listeners.FleetEventListener;
13import com.fs.starfarer.api.util.Misc;
19 public static class SeededFleet {
22 public CampaignFleetAPI fleet;
25 protected List<SeededFleet>
fleets =
new ArrayList<SeededFleet>();
29 public static boolean DEBUG =
false;
37 SeededFleet f =
new SeededFleet();
50 protected abstract CampaignFleetAPI
spawnFleet(
long seed);
55 float distFromSystem = Misc.getDistanceLY(player.getLocationInHyperspace(),
system.getLocation());
58 for (SeededFleet curr :
fleets) {
60 if (distFromSystem < threshold) {
61 if (curr.fleet ==
null) {
63 if (curr.fleet !=
null) {
65 System.out.println(
"Created " + curr.fleet.getName() +
" (seed: " + curr.seed +
")");
68 curr.fleet.addEventListener(
this);
69 curr.points = curr.fleet.getFleetPoints();
77 for (SeededFleet curr :
fleets) {
78 if (curr.fleet !=
null) {
79 float dist = Misc.getDistanceLY(player.getLocationInHyperspace(), curr.fleet.getLocationInHyperspace());
81 if (
DEBUG) System.out.println(
"Despawned " + curr.fleet.getName() +
" (seed: " + curr.seed +
")");
82 curr.fleet.despawn(FleetDespawnReason.PLAYER_FAR_AWAY,
null);
103 if (reason == FleetDespawnReason.PLAYER_FAR_AWAY)
return;
105 for (SeededFleet curr :
fleets) {
106 if (curr.fleet !=
null && curr.fleet == fleet) {
108 if (
DEBUG) System.out.println(
"Removed " + curr.fleet.getName() +
" (seed: " + curr.seed +
"), remaiing: " +
fleets.size());
static SettingsAPI getSettings()
static SectorAPI getSector()
StarSystemAPI getSystem()
void advance(float amount)
void reportBattleOccurred(CampaignFleetAPI fleet, CampaignFleetAPI primaryWinner, BattleAPI battle)
void reportFleetDespawnedToListener(CampaignFleetAPI fleet, FleetDespawnReason reason, Object param)
abstract CampaignFleetAPI spawnFleet(long seed)
float getInflateRangeLY()
SeededFleetManager(StarSystemAPI system, float inflateRangeLY)
static float DESPAWN_PAD_LY
List< SeededFleet > fleets