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}