using System;
using System.Collections.Generic;
namespace NodeCanvas.DialogueTrees
{
///Send along with a OnSubtitlesRequest event. Holds info about the actor speaking, the statement that being said as well as a callback to be called when dialogue is done showing
public class SubtitlesRequestInfo
{
///The actor speaking
public IDialogueActor actor;
///The statement said
public IStatement statement;
///Call this to Continue the DialogueTree
public Action Continue;
public SubtitlesRequestInfo(IDialogueActor actor, IStatement statement, Action callback) {
this.actor = actor;
this.statement = statement;
this.Continue = callback;
}
}
///Send along with a OnMultipleChoiceRequest event. Holds information of the options, time available as well as a callback to be called providing the selected option
public class MultipleChoiceRequestInfo
{
///The actor related. This is usually the actor that will also say the options
public IDialogueActor actor;
///The available choice option. Key: The statement, Value: the child index of the option
public Dictionary options;
///The available time for a choice
public float availableTime;
///Should the previous statement be shown along the options?
public bool showLastStatement;
///Call this with to select the option to continue with in the DialogueTree
public Action SelectOption;
public MultipleChoiceRequestInfo(IDialogueActor actor, Dictionary options, float availableTime, bool showLastStatement, Action callback) {
this.actor = actor;
this.options = options;
this.availableTime = availableTime;
this.showLastStatement = showLastStatement;
this.SelectOption = callback;
}
public MultipleChoiceRequestInfo(IDialogueActor actor, Dictionary options, float availableTime, Action callback) {
this.actor = actor;
this.options = options;
this.availableTime = availableTime;
this.SelectOption = callback;
}
}
}