Starsector API
Loading...
Searching...
No Matches
AddTextSmall.java
Go to the documentation of this file.
1package com.fs.starfarer.api.impl.campaign.rulecmd;
2
3import java.awt.Color;
4import java.util.List;
5import java.util.Map;
6import java.util.Random;
7
8import com.fs.starfarer.api.campaign.InteractionDialogAPI;
9import com.fs.starfarer.api.campaign.rules.MemoryAPI;
10import com.fs.starfarer.api.util.Misc.Token;
11
15public class AddTextSmall extends BaseCommandPlugin {
16
17 public boolean execute(String ruleId, InteractionDialogAPI dialog, List<Token> params, Map<String, MemoryAPI> memoryMap) {
18 if (dialog == null) return false;
19
20 String text = params.get(0).getStringWithTokenReplacement(ruleId, dialog, memoryMap);
21
22 if (text == null || text.isEmpty()) return true;
23
24
25 String [] split = text.split("(?s)\nOR\n");
26 if (split != null && split.length > 1) {
27 text = split[new Random().nextInt(split.length)];
28 text = text.trim();
29 }
30
31 Color color = null;
32 if (params.size() > 1) {
33 color = params.get(1).getColor(memoryMap);
34 }
35
36 dialog.getTextPanel().setFontSmallInsignia();
37 if (color == null) {
38 dialog.getTextPanel().addParagraph(text);
39 } else {
40 dialog.getTextPanel().addParagraph(text, color);
41 }
42 dialog.getTextPanel().setFontInsignia();
43 return true;
44 }
45
46}
boolean execute(String ruleId, InteractionDialogAPI dialog, List< Token > params, Map< String, MemoryAPI > memoryMap)