Introduced dialogue graph magic, created assest and importers. Added events for broadcasting puzzle steps

This commit is contained in:
2025-09-26 13:32:14 +02:00
committed by Michal Pikulski
parent 2cd791f69d
commit 0bb3ad10a0
23 changed files with 1258 additions and 1 deletions

View File

@@ -0,0 +1,63 @@
using System;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.InputSystem;
namespace Dialogue
{
public class DialogueComponent : MonoBehaviour
{
[SerializeField]
private RuntimeDialogueGraph runtimeGraph;
private Dictionary<string, RuntimeDialogueNode> _nodeLookup = new Dictionary<string, RuntimeDialogueNode>();
private RuntimeDialogueNode _currentNode;
private void Start()
{
foreach (var node in runtimeGraph.allNodes)
{
_nodeLookup[node.nodeID] = node;
}
if(string.IsNullOrEmpty(runtimeGraph.entryNodeID))
{
EndDialogue();
return;
}
ShowNode(runtimeGraph.entryNodeID);
}
private void Update()
{
if(Mouse.current.leftButton.wasPressedThisFrame && _currentNode != null)
{
if(string.IsNullOrEmpty(_currentNode.nextNodeID))
{
EndDialogue();
}
else
{
ShowNode(_currentNode.nextNodeID);
}
}
}
private void ShowNode(string nodeID)
{
if (!_nodeLookup.ContainsKey(nodeID))
{
EndDialogue();
return;
}
_currentNode = _nodeLookup[nodeID];
Debug.Log($"{runtimeGraph.speakerName}: {_currentNode.dialogueLine}");
}
private void EndDialogue()
{
Application.Quit();
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 749c3dece1c14b82845c175203a2e7dc
timeCreated: 1758873871

View File

@@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
using UnityEngine;
namespace Dialogue
{
[Serializable]
public class RuntimeDialogueGraph : ScriptableObject
{
public string entryNodeID;
public string speakerName;
public List<RuntimeDialogueNode> allNodes = new List<RuntimeDialogueNode>();
}
[Serializable]
public class RuntimeDialogueNode
{
public string nodeID;
public string dialogueLine;
public string nextNodeID;
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 3c3be3596532450a923c31dfe0ed4aa9
timeCreated: 1758871423