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}