001package com.fs.starfarer.api.impl.campaign.rulecmd;
002
003import java.util.List;
004import java.util.Map;
005
006import com.fs.starfarer.api.campaign.CampaignFleetAPI;
007import com.fs.starfarer.api.campaign.InteractionDialogAPI;
008import com.fs.starfarer.api.campaign.rules.MemoryAPI;
009import com.fs.starfarer.api.fleet.FleetMemberAPI;
010import com.fs.starfarer.api.util.Misc.Token;
011import com.fs.starfarer.api.util.Misc.VarAndMemory;
012
013/**
014 *      RemoveShip <fleet member reference>
015 */
016public class AddShipToOtherFleet 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                VarAndMemory var = params.get(0).getVarNameAndMemory(memoryMap);
022//              ShipVariantAPI variant = (ShipVariantAPI) var.memory.get(var.name);
023//              FleetMemberAPI member = Global.getFactory().createFleetMember(FleetMemberType.SHIP, variant);
024                
025                FleetMemberAPI member = (FleetMemberAPI) var.memory.get(var.name);
026                if (member != null) {
027                        if (dialog.getInteractionTarget() instanceof CampaignFleetAPI) {
028                                CampaignFleetAPI fleet = (CampaignFleetAPI) dialog.getInteractionTarget();
029                                fleet.getFleetData().addFleetMember(member);
030                        }
031                }
032                return true;
033        }
034
035}