31 lines
1.1 KiB
C#
31 lines
1.1 KiB
C#
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
namespace Unheimlich.Data.Dialogues
|
|
{
|
|
[CreateAssetMenu(fileName = "NewConversation", menuName = "Unheimlich/Dialogue/Conversation")]
|
|
public class DialogueConversation : ScriptableObject
|
|
{
|
|
[Header("Speaker Information")]
|
|
[Tooltip("Name of the speaker (common to all texts in this conversation)")]
|
|
public string SpeakerName;
|
|
|
|
[Header("Display Mode")]
|
|
[Tooltip("Choose how to display dialogue text: World (3D space) or Screen (Canvas UI)")]
|
|
public DialogueDisplayMode DisplayMode = DialogueDisplayMode.World;
|
|
|
|
[Header("Dialogue Flow")]
|
|
[Tooltip("Ordered list of dialogue nodes for this conversation")]
|
|
public List<DialogueNode> DialogueNodes = new List<DialogueNode>();
|
|
|
|
[Header("Localization")]
|
|
[Tooltip("Localization ID for speaker name (optional)")]
|
|
public string SpeakerNameLocalizationKey;
|
|
|
|
public DialogueNode GetFirstNode()
|
|
{
|
|
return DialogueNodes != null && DialogueNodes.Count > 0 ? DialogueNodes[0] : null;
|
|
}
|
|
}
|
|
}
|