package main; import java.awt.FontMetrics; import java.util.HashMap; import java.util.ArrayList; import utils.WrappedString; public class Dialog { WrappedString text; private ArrayList options; private ArrayList references; private HashMap triggerMap; FontMetrics metrics; int width; public Dialog(final String text, final FontMetrics metrics, final int width) { this.text = new WrappedString(text, metrics, width); this.options = new ArrayList(); this.references = new ArrayList(); this.triggerMap = new HashMap(); this.metrics = metrics; this.width = width; } public int getNumOptions() { return this.options.size(); } public WrappedString getOption(final int num) { return this.options.get(num); } public Dialog getReference(final int num) { return this.references.get(num); } public void addEndOption() { this.addOption("(end)", null); } public void addContinueOption(final Dialog reference) { this.addOption("(continue)", reference); } public void addOption(final String option, final Dialog reference) { this.options.add(new WrappedString(option, this.metrics, this.width)); this.references.add(reference); } public void changeReference(final int refNum, final Dialog reference) { this.references.set(refNum, reference); } public Integer getTrigger(final int option) { return this.triggerMap.get(option); } public void addTrigger(final int option, final int triggerNum) { this.triggerMap.put(option, triggerNum); } }