001package com.fs.starfarer.api.impl.campaign.fleets.misc; 002 003import java.util.Random; 004 005import com.fs.starfarer.api.campaign.BattleAPI; 006import com.fs.starfarer.api.campaign.CampaignEventListener.FleetDespawnReason; 007import com.fs.starfarer.api.campaign.CampaignFleetAPI; 008import com.fs.starfarer.api.impl.campaign.fleets.RouteManager.RouteData; 009import com.fs.starfarer.api.impl.campaign.fleets.RouteManager.RouteSegment; 010import com.fs.starfarer.api.impl.campaign.fleets.misc.MiscFleetRouteManager.MiscRouteData; 011 012public interface MiscFleetCreatorPlugin { 013 String getId(); 014 float getFrequency(); 015 016 int getMaxFleetsForThisCreator(); 017 018 MiscRouteData createRouteParams(MiscFleetRouteManager manager, Random random); 019 CampaignFleetAPI createFleet(MiscFleetRouteManager manager, RouteData route, Random random); 020 021 void reportBattleOccurred(MiscFleetRouteManager manager, CampaignFleetAPI fleet, CampaignFleetAPI primaryWinner, BattleAPI battle); 022 void reportFleetDespawnedToListener(MiscFleetRouteManager manager, CampaignFleetAPI fleet, FleetDespawnReason reason, Object param); 023 024 025 String getStartingActionText(CampaignFleetAPI fleet, RouteSegment segment, MiscRouteData data); 026 String getEndingActionText(CampaignFleetAPI fleet, RouteSegment segment, MiscRouteData data); 027 String getTravelToDestActionText(CampaignFleetAPI fleet, RouteSegment segment, MiscRouteData data); 028 String getTravelReturnActionText(CampaignFleetAPI fleet, RouteSegment segment, MiscRouteData data); 029 030 String getAtDestUnloadActionText(CampaignFleetAPI fleet, RouteSegment segment, MiscRouteData data); 031 String getAtDestLoadActionText(CampaignFleetAPI fleet, RouteSegment segment, MiscRouteData data); 032}