001package com.fs.starfarer.api.impl.campaign.rulecmd; 002 003import java.awt.Color; 004import java.util.List; 005import java.util.Map; 006import java.util.Random; 007 008import com.fs.starfarer.api.campaign.InteractionDialogAPI; 009import com.fs.starfarer.api.campaign.rules.MemoryAPI; 010import com.fs.starfarer.api.util.Misc.Token; 011 012public class AddText extends BaseCommandPlugin { 013 014 public boolean execute(String ruleId, InteractionDialogAPI dialog, List<Token> params, Map<String, MemoryAPI> memoryMap) { 015 if (dialog == null) return false; 016 017 String text = params.get(0).getStringWithTokenReplacement(ruleId, dialog, memoryMap); 018 019 if (text == null || text.isEmpty()) return true; 020 021 022 String [] split = text.split("(?s)\nOR\n"); 023 if (split != null && split.length > 1) { 024 text = split[new Random().nextInt(split.length)]; 025 text = text.trim(); 026 } 027 028 Color color = null; 029 if (params.size() > 1) { 030 color = params.get(1).getColor(memoryMap); 031 } 032 033 if (color == null) { 034 dialog.getTextPanel().addParagraph(text); 035 } else { 036 dialog.getTextPanel().addParagraph(text, color); 037 } 038 return true; 039 } 040 041}