Emojiji/Assets/Scripts/Messaging/MessageManager.cs
2024-01-26 23:19:37 +01:00

45 lines
No EOL
1.3 KiB
C#

using System;
using System.Threading.Tasks;
using UnityEngine;
namespace Messaging {
public class MessageManager : MonoBehaviour{
[SerializeField] private MessageStructureGenerator messageStructureGenerator;
private Message[] _messages;
private void Awake() {
_messages = messageStructureGenerator.GenerateMessages();
}
private async void Start() {
await Task.Delay(2000);
CreateMessage("<sprite=0><sprite=0><sprite=0><sprite=0><sprite=0><sprite=0><sprite=0>");
await Task.Delay(2000);
CreateMessage("<sprite=0><sprite=0><sprite=0><sprite=0><sprite=0><sprite=0>");
await Task.Delay(2000);
CreateMessage("<sprite=0><sprite=0><sprite=0><sprite=0><sprite=0>");
await Task.Delay(2000);
CreateMessage("<sprite=0><sprite=0><sprite=0><sprite=0>");
await Task.Delay(2000);
CreateMessage("<sprite=0><sprite=0><sprite=0>");
}
public void CreateMessage(string message) {
ModifyMessageText(message, _messages.Length - 1);
}
private void ModifyMessageText(string message, int index) {
ModifyPreviousMessageText(_messages[index].Text, index - 1);
_messages[index].SetMessageText(message, true);
}
private void ModifyPreviousMessageText(string message, int index) {
if(index < 0) return;
ModifyPreviousMessageText(_messages[index].Text, index - 1);
_messages[index].SetMessageText(message, false);
}
}
}