Starsector API
Loading...
Searching...
No Matches
AutofitPlugin.java
Go to the documentation of this file.
1package com.fs.starfarer.api.plugins;
2
3import java.util.List;
4import java.util.Random;
5
6import com.fs.starfarer.api.campaign.CampaignFleetAPI;
7import com.fs.starfarer.api.campaign.CargoAPI;
8import com.fs.starfarer.api.campaign.FactionAPI;
9import com.fs.starfarer.api.campaign.econ.MarketAPI;
10import com.fs.starfarer.api.campaign.econ.SubmarketAPI;
11import com.fs.starfarer.api.characters.MutableCharacterStatsAPI;
12import com.fs.starfarer.api.combat.MutableShipStatsAPI;
13import com.fs.starfarer.api.combat.ShipAPI;
14import com.fs.starfarer.api.combat.ShipVariantAPI;
15import com.fs.starfarer.api.fleet.FleetMemberAPI;
16import com.fs.starfarer.api.loading.FighterWingSpecAPI;
17import com.fs.starfarer.api.loading.WeaponSlotAPI;
18import com.fs.starfarer.api.loading.WeaponSpecAPI;
19
20
21
22
23public interface AutofitPlugin {
34
44
45 public interface AutofitPluginDelegate {
46 void fitFighterInSlot(int index, AvailableFighter fighter, ShipVariantAPI variant);
47 void clearFighterSlot(int index, ShipVariantAPI variant);
50
51 List<AvailableWeapon> getAvailableWeapons();
52 List<AvailableFighter> getAvailableFighters();
53
54 boolean isPriority(WeaponSpecAPI weapon);
56
57 List<String> getAvailableHullmods();
59
60 //void syncUIWithVariant();
61
63
65
67
70
73 }
74
75
76
77
78 public static class AutofitOption {
79 public String id;
80 public String text;
81 public boolean checked;
82 public String tooltip;
83 public AutofitOption(String id, String text, boolean checked, String tooltip) {
84 this.id = id;
85 this.text = text;
86 this.checked = checked;
87 this.tooltip = tooltip;
88 }
89 }
90
91
92 //void init(AutofitPluginDelegate delegate);
93 List<AutofitOption> getOptions();
94 void doFit(ShipVariantAPI current, ShipVariantAPI target, int maxSMods, AutofitPluginDelegate delegate);
97
98
102
103
105 boolean isQuickActionEnabled(ShipVariantAPI currentVariant);
106 void setRandom(Random random);
107}
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
void clearWeaponSlot(WeaponSlotAPI slot, ShipVariantAPI variant)
void fitWeaponInSlot(WeaponSlotAPI slot, AvailableWeapon weapon, ShipVariantAPI variant)
void fitFighterInSlot(int index, AvailableFighter fighter, ShipVariantAPI variant)
void clearFighterSlot(int index, ShipVariantAPI variant)
float getOPCost(MutableCharacterStatsAPI stats, MutableShipStatsAPI shipStats)
void autoAssignOfficers(CampaignFleetAPI fleet)
void doFit(ShipVariantAPI current, ShipVariantAPI target, int maxSMods, AutofitPluginDelegate delegate)
boolean isQuickActionEnabled(ShipVariantAPI currentVariant)
void doQuickAction(ShipVariantAPI current, AutofitPluginDelegate delegate)
float getRating(ShipVariantAPI current, ShipVariantAPI target, AutofitPluginDelegate delegate)