/// <summary> /// Sets up this dialogue controller with a given dialogue tree. /// </summary> /// <param name="dialogueTree">Dialogue tree to load.</param> /// <param name="context">The dialogue context to display to.</param> public DialogueController(List<object> dialogueTree, AbstractDialogueContext context) { // Set context this.context = context; this.context.OnContinuePressed += this.AdvanceLine; this.context.OnOptionSelected += this.HandleOptionSelected; this.context.OnDialogueActionEncountered += this.HandleDialogueActionEvent; // Initialize action list. this.eventActionList = new Dictionary<string, DialogueActionDelegate>(); // Load the conversation into this DialogueController. this.LoadConversation(dialogueTree); }
/// <summary> /// Find the conversation with the correct name and create a Dialogue Controller to manage that conversation. /// </summary> /// <param name="serializedConversation">The data of the conversation to start.</param> /// <param name="context">The dialogue context to attatch to the controller.</param> public abstract DialogueController StartConversation(TextAsset serializedConversation, AbstractDialogueContext context);