001package com.fs.starfarer.api.impl.campaign.rulecmd; 002 003import java.util.LinkedHashSet; 004import java.util.List; 005import java.util.Map; 006import java.util.Set; 007 008import com.fs.starfarer.api.Global; 009import com.fs.starfarer.api.campaign.InteractionDialogAPI; 010import com.fs.starfarer.api.campaign.SectorEntityToken; 011import com.fs.starfarer.api.campaign.econ.MarketAPI; 012import com.fs.starfarer.api.campaign.rules.MemoryAPI; 013import com.fs.starfarer.api.impl.campaign.ids.Tags; 014import com.fs.starfarer.api.util.Misc.Token; 015 016/** 017 * ShowIntelMarker <entity or market id> <optional title> <optional text> 018 */ 019public class ShowMapMarker extends BaseCommandPlugin { 020 021 public ShowMapMarker() { 022 023 } 024 025 public boolean execute(String ruleId, InteractionDialogAPI dialog, List<Token> params, Map<String, MemoryAPI> memoryMap) { 026 027 String id = params.get(0).getString(memoryMap); 028 029 SectorEntityToken entity = Global.getSector().getEntityById(id); 030 if (entity == null) { 031 MarketAPI market = Global.getSector().getEconomy().getMarket(id); 032 if (market != null) { 033 entity = market.getPrimaryEntity(); 034 } 035 } 036 037 if (entity == null) return false; 038 039 String title = entity.getName(); 040 if (params.size() >= 2) { 041 title = params.get(1).getString(memoryMap); 042 } 043 String text = null; 044 if (params.size() >= 3) { 045 text = params.get(2).getString(memoryMap); 046 } 047 048 String icon = Global.getSettings().getSpriteName("intel", "discovered_entity"); 049 050 Set<String> tags = new LinkedHashSet<String>(); 051 tags.add(Tags.INTEL_NEW); 052 053 dialog.getVisualPanel().showMapMarker(entity, title, entity.getFaction().getBaseUIColor(), 054 true, icon, text, tags); 055 056 return true; 057 } 058 059 060} 061 062