001package com.fs.starfarer.api.campaign.ai; 002 003import java.util.List; 004 005import com.fs.starfarer.api.Script; 006import com.fs.starfarer.api.campaign.FleetAssignment; 007import com.fs.starfarer.api.campaign.SectorEntityToken; 008 009public interface AssignmentModulePlugin { 010 011 void advance(float days); 012 FleetAssignmentDataAPI getCurrentAssignment(); 013 void addAssignment(FleetAssignment assignment, SectorEntityToken target, float maxDurationInDays, Script onCompletion); 014 void addAssignment(FleetAssignment assignment, SectorEntityToken target, float maxDurationInDays, String actionText, Script onCompletion); 015 void addAssignmentAtStart(FleetAssignment assignment, SectorEntityToken target, float maxDurationInDays, String actionText, Script onCompletion); 016 void addAssignmentAtStart(FleetAssignment assignment, SectorEntityToken target, float maxDurationInDays, Script onCompletion); 017 boolean isCurrentAssignment(FleetAssignment assignment); 018 void removeFirstAssignmentIfItIs(FleetAssignment assignment); 019 void removeFirstAssignment(); 020 void clearAssignments(); 021 List<FleetAssignmentDataAPI> getAssignmentsCopy(); 022 boolean areAssignmentsFrozen(); 023 void freezeAssignments(); 024 void addAssignment(FleetAssignment assignment, SectorEntityToken target, 025 float maxDurationInDays, String actionText, boolean addTimeToNext, 026 Script onStart, Script onCompletion); 027 void removeAssignment(FleetAssignmentDataAPI assignment); 028 029 030}