Code/ChitChat/Data/ChoiceAction.cs
using Sandbox;
using System.Collections.Generic;
namespace ChitChat;
public sealed class ChoiceAction : DialogueActionBase
{
public List<Choice> Choices { get; set; } = new();
public ChoiceAction() { }
public ChoiceAction(ChoiceAction action)
{
foreach (Choice choice in action.Choices)
{
Choices.Add(new Choice(choice));
}
}
public override bool OnEnter(DialogueSystemComponent system, DialoguePanelComponent ui, DialogueWriterComponent writer, DialogueAudioComponent audio)
{
if(Choices.Count <= 0)
return false;
system.SetChoices(Choices);
return true;
}
public override void OnExit() { }
}
public struct Choice
{
public string Text { get; set; } = "Some Text...";
public DialogueData Data
{
get; set;
}
public Choice()
{
}
public Choice(Choice choice)
{
Text = choice.Text;
Data = choice.Data;
}
}