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