001package com.fs.starfarer.api.impl.campaign.rulecmd.academy;
002
003import java.util.List;
004import java.util.Map;
005
006import com.fs.starfarer.api.campaign.CommDirectoryEntryAPI;
007import com.fs.starfarer.api.campaign.InteractionDialogAPI;
008import com.fs.starfarer.api.campaign.econ.MarketAPI;
009import com.fs.starfarer.api.campaign.rules.MemoryAPI;
010import com.fs.starfarer.api.impl.campaign.rulecmd.BaseCommandPlugin;
011import com.fs.starfarer.api.util.Misc.Token;
012
013/**
014 * CESetHidden <person id> <true|false>
015 */
016public class CESetHidden 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                MarketAPI market = dialog.getInteractionTarget().getMarket();
022                if (market == null) return false;
023                if (market.getCommDirectory() == null) return false;
024
025                String id = params.get(0).getString(memoryMap);
026                boolean hidden = params.get(1).getBoolean(memoryMap);
027                
028                
029                CommDirectoryEntryAPI entry = market.getCommDirectory().getEntryForPerson(id);
030                if (entry != null) {
031                        entry.setHidden(hidden);
032                }
033                return true;
034        }
035}
036
037
038
039
040
041
042
043
044
045