001package com.fs.starfarer.api.impl.campaign.rulecmd; 002 003import java.util.List; 004import java.util.Map; 005 006import com.fs.starfarer.api.Global; 007import com.fs.starfarer.api.campaign.CampaignFleetAPI; 008import com.fs.starfarer.api.campaign.InteractionDialogAPI; 009import com.fs.starfarer.api.campaign.rules.MemoryAPI; 010import com.fs.starfarer.api.fleet.FleetMemberAPI; 011import com.fs.starfarer.api.util.Misc.Token; 012 013/** 014 * RemoveShipWithId <id> 015 */ 016public class RemoveShipWithId extends BaseCommandPlugin { 017 018 public boolean execute(String ruleId, InteractionDialogAPI dialog, List<Token> params, Map<String, MemoryAPI> memoryMap) { 019 if (dialog == null) return false; 020 021 String id = params.get(0).getString(memoryMap); 022 023 CampaignFleetAPI pf = Global.getSector().getPlayerFleet(); 024 for (FleetMemberAPI member : pf.getFleetData().getMembersListCopy()) { 025 if (member.getId().equals(id)) { 026 pf.getFleetData().removeFleetMember(member); 027 RemoveShip.addShipLossText(member, dialog.getTextPanel()); 028 return true; 029 } 030 } 031 return false; 032 } 033}