33 lines
787 B
C#
33 lines
787 B
C#
|
|
using Godot;
|
||
|
|
|
||
|
|
namespace Babushka.scripts.CSharp.Common.NPC;
|
||
|
|
|
||
|
|
public partial class DialogicOverlayStarter : Node2D
|
||
|
|
{
|
||
|
|
[Export] private string[] _timelinesToPlay;
|
||
|
|
[Export] private int _timelineIndex = 0;
|
||
|
|
[Export] private bool _startOnReady = true;
|
||
|
|
|
||
|
|
[Signal] public delegate void DialogueEventHandler(string timelineName);
|
||
|
|
|
||
|
|
public override void _Ready()
|
||
|
|
{
|
||
|
|
if (_startOnReady)
|
||
|
|
ToggleDialogue();
|
||
|
|
}
|
||
|
|
|
||
|
|
public void ToggleDialogue()
|
||
|
|
{
|
||
|
|
ToggleDialogue(_timelinesToPlay[_timelineIndex]);
|
||
|
|
}
|
||
|
|
|
||
|
|
public void ToggleDialogue(int index)
|
||
|
|
{
|
||
|
|
ToggleDialogue(_timelinesToPlay[index]);
|
||
|
|
}
|
||
|
|
|
||
|
|
public void ToggleDialogue(string timelineName)
|
||
|
|
{
|
||
|
|
EmitSignal(SignalName.Dialogue, timelineName);
|
||
|
|
}
|
||
|
|
}
|