001package com.fs.starfarer.api.impl.campaign.rulecmd; 002 003import java.util.ArrayList; 004import java.util.List; 005import java.util.Map; 006 007import com.fs.starfarer.api.Global; 008import com.fs.starfarer.api.campaign.CampaignFleetAPI; 009import com.fs.starfarer.api.campaign.FleetMemberPickerListener; 010import com.fs.starfarer.api.campaign.InteractionDialogAPI; 011import com.fs.starfarer.api.campaign.rules.MemoryAPI; 012import com.fs.starfarer.api.fleet.FleetMemberAPI; 013import com.fs.starfarer.api.util.Misc.Token; 014 015public class SetFlagship extends BaseCommandPlugin { 016 017 public boolean execute(String ruleId, InteractionDialogAPI dialog, List<Token> params, Map<String, MemoryAPI> memoryMap) { 018 019 final CampaignFleetAPI playerFleet = Global.getSector().getPlayerFleet(); 020 List<FleetMemberAPI> members = new ArrayList<FleetMemberAPI>(); 021 for (FleetMemberAPI member : playerFleet.getFleetData().getMembersListCopy()) { 022 if (member.isFighterWing()) continue; 023 members.add(member); 024 } 025 if (!members.isEmpty()) { 026 dialog.showFleetMemberPickerDialog("Select new flagship", "Ok", "Cancel", 027 3, 7, 58f, false, false, members, 028 new FleetMemberPickerListener() { 029 public void pickedFleetMembers(List<FleetMemberAPI> members) { 030 if (members != null && !members.isEmpty()) { 031 FleetMemberAPI selectedFlagship = members.get(0); 032 playerFleet.getFleetData().setFlagship(selectedFlagship); 033 //addText(getString("selectedFlagship")); 034 } 035 } 036 public void cancelledFleetMemberPicking() { 037 038 } 039 }); 040 } 041 042 return true; 043 } 044 045}