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.InteractionDialogAPI;
008import com.fs.starfarer.api.campaign.SectorEntityToken;
009import com.fs.starfarer.api.campaign.rules.MemoryAPI;
010import com.fs.starfarer.api.util.Misc;
011import com.fs.starfarer.api.util.Misc.Token;
012
013/**
014 *      DespawnEntity <optional entity id>
015 *
016 * Copyright 2015 Fractal Softworks, LLC
017 */
018public class DespawnEntity extends BaseCommandPlugin {
019
020        public boolean execute(String ruleId, InteractionDialogAPI dialog, List<Token> params, Map<String, MemoryAPI> memoryMap) {
021                if (dialog == null) return false;
022                if (!(dialog.getInteractionTarget() instanceof SectorEntityToken)) return false;
023                
024                SectorEntityToken entity = dialog.getInteractionTarget();
025                if (params.size() >= 1) {
026                        String id = params.get(0).getString(memoryMap);
027                        entity = Global.getSector().getEntityById(id);
028                }
029                
030                if (entity != null) {
031                        Misc.fadeAndExpire(entity);
032                }
033                
034                return true;
035        }
036
037}
038
039
040
041
042