Starsector API
Loading...
Searching...
No Matches
ShowMapMarker.java
Go to the documentation of this file.
1package com.fs.starfarer.api.impl.campaign.rulecmd;
2
3import java.util.LinkedHashSet;
4import java.util.List;
5import java.util.Map;
6import java.util.Set;
7
8import com.fs.starfarer.api.Global;
9import com.fs.starfarer.api.campaign.InteractionDialogAPI;
10import com.fs.starfarer.api.campaign.SectorEntityToken;
11import com.fs.starfarer.api.campaign.econ.MarketAPI;
12import com.fs.starfarer.api.campaign.rules.MemoryAPI;
13import com.fs.starfarer.api.impl.campaign.ids.Tags;
14import com.fs.starfarer.api.util.Misc.Token;
15
19public class ShowMapMarker extends BaseCommandPlugin {
20
21 public ShowMapMarker() {
22
23 }
24
25 public boolean execute(String ruleId, InteractionDialogAPI dialog, List<Token> params, Map<String, MemoryAPI> memoryMap) {
26
27 String id = params.get(0).getString(memoryMap);
28
29 SectorEntityToken entity = Global.getSector().getEntityById(id);
30 if (entity == null) {
31 MarketAPI market = Global.getSector().getEconomy().getMarket(id);
32 if (market != null) {
33 entity = market.getPrimaryEntity();
34 }
35 }
36
37 if (entity == null) return false;
38
39 String title = entity.getName();
40 if (params.size() >= 2) {
41 title = params.get(1).getString(memoryMap);
42 }
43 String text = null;
44 if (params.size() >= 3) {
45 text = params.get(2).getString(memoryMap);
46 }
47
48 String icon = Global.getSettings().getSpriteName("intel", "discovered_entity");
49
50 Set<String> tags = new LinkedHashSet<String>();
51 tags.add(Tags.INTEL_NEW);
52
53 dialog.getVisualPanel().showMapMarker(entity, title, entity.getFaction().getBaseUIColor(),
54 true, icon, text, tags);
55
56 return true;
57 }
58
59
60}
61
62
static SettingsAPI getSettings()
Definition Global.java:51
static SectorAPI getSector()
Definition Global.java:59
boolean execute(String ruleId, InteractionDialogAPI dialog, List< Token > params, Map< String, MemoryAPI > memoryMap)
String getSpriteName(String category, String id)