Starsector API
Loading...
Searching...
No Matches
SetFlagship.java
Go to the documentation of this file.
1package com.fs.starfarer.api.impl.campaign.rulecmd;
2
3import java.util.ArrayList;
4import java.util.List;
5import java.util.Map;
6
7import com.fs.starfarer.api.Global;
8import com.fs.starfarer.api.campaign.CampaignFleetAPI;
9import com.fs.starfarer.api.campaign.FleetMemberPickerListener;
10import com.fs.starfarer.api.campaign.InteractionDialogAPI;
11import com.fs.starfarer.api.campaign.rules.MemoryAPI;
12import com.fs.starfarer.api.fleet.FleetMemberAPI;
13import com.fs.starfarer.api.util.Misc.Token;
14
15public class SetFlagship extends BaseCommandPlugin {
16
17 public boolean execute(String ruleId, InteractionDialogAPI dialog, List<Token> params, Map<String, MemoryAPI> memoryMap) {
18
19 final CampaignFleetAPI playerFleet = Global.getSector().getPlayerFleet();
20 List<FleetMemberAPI> members = new ArrayList<FleetMemberAPI>();
21 for (FleetMemberAPI member : playerFleet.getFleetData().getMembersListCopy()) {
22 if (member.isFighterWing()) continue;
23 members.add(member);
24 }
25 if (!members.isEmpty()) {
26 dialog.showFleetMemberPickerDialog("Select new flagship", "Ok", "Cancel",
27 3, 7, 58f, false, false, members,
28 new FleetMemberPickerListener() {
29 public void pickedFleetMembers(List<FleetMemberAPI> members) {
30 if (members != null && !members.isEmpty()) {
31 FleetMemberAPI selectedFlagship = members.get(0);
32 playerFleet.getFleetData().setFlagship(selectedFlagship);
33 //addText(getString("selectedFlagship"));
34 }
35 }
36 public void cancelledFleetMemberPicking() {
37
38 }
39 });
40 }
41
42 return true;
43 }
44
45}
static SectorAPI getSector()
Definition Global.java:59
boolean execute(String ruleId, InteractionDialogAPI dialog, List< Token > params, Map< String, MemoryAPI > memoryMap)