GameVsJam/3d Prototyp/Assets/Scripts/NPC_EventStack.cs

52 lines
1.1 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class NPC_EventStack : MonoBehaviour
{
[SerializeField] private List<string> _eventStack = new List<string>() { "What a great day to develope a game!" };
[SerializeField] private int _maxStackHeight = 5;
private Text2Speech _text2speech;
public void AddNewContext(string context)
{
_eventStack.Add(context);
if (_eventStack.Count > _maxStackHeight)
{
_eventStack.RemoveAt(0);
}
}
public string GetEntireContext()
{
string output = "";
foreach (string e in _eventStack)
{
output += e + ", ";
}
return output;
}
public string GetLatestContext()
{
if (_eventStack.Count > 0)
{
return _eventStack[_eventStack.Count - 1];
}
return null;
}
public void GenerateVoice()
{
if ( _eventStack.Count == 0 )
{
return;
}
else
{
_text2speech.Generate(GetEntireContext());
}
}
}