chore: Project Restructuring & Theatre
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using OctoCore.Localization;
|
||||
|
||||
namespace Unheimlich.Features.Dialogue.Data
|
||||
{
|
||||
[CreateAssetMenu(fileName = "NewConversation", menuName = "Unheimlich/Dialogue/Conversation")]
|
||||
public class DialogueConversation : ScriptableObject
|
||||
{
|
||||
[Header("Speaker Information")]
|
||||
[Tooltip("Localized name of the speaker (common to all texts in this conversation)")]
|
||||
public OctoLocalizedTextData 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>();
|
||||
|
||||
public string GetLocalizedSpeakerName()
|
||||
{
|
||||
if (SpeakerName != null)
|
||||
return OctoLocalization.GetLocalizedText(SpeakerName);
|
||||
|
||||
return string.Empty;
|
||||
}
|
||||
|
||||
public DialogueNode GetFirstNode()
|
||||
{
|
||||
return DialogueNodes != null && DialogueNodes.Count > 0 ? DialogueNodes[0] : null;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user