001package com.fs.starfarer.api.campaign.rules; 002 003import java.util.List; 004import java.util.Map; 005import java.util.Random; 006 007import com.fs.starfarer.api.campaign.InteractionDialogAPI; 008import com.fs.starfarer.api.campaign.SectorEntityToken; 009 010public interface RulesAPI { 011 012 List<RuleAPI> getAllMatching(String currentRule, String trigger, InteractionDialogAPI dialog, Map<String, MemoryAPI> memoryMap); 013 RuleAPI getBestMatching(String currentRule, String trigger, InteractionDialogAPI dialog, Map<String, MemoryAPI> memoryMap); 014 015 void addTokenReplacementGenerator(RuleTokenReplacementGeneratorPlugin generator); 016 Map<String, String> getTokenReplacements(String ruleId, SectorEntityToken target, Map<String, MemoryAPI> memoryMap); 017 018 String performTokenReplacement(String ruleId, String text, SectorEntityToken entity, Map<String, MemoryAPI> memoryMap); 019 void setRandomForNextRulePick(Random random); 020}