53 lines
1.2 KiB
C#
53 lines
1.2 KiB
C#
using System;
|
|
using System.Collections;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
namespace Touka
|
|
{
|
|
public class ToukaToast : MonoBehaviour
|
|
{
|
|
private static ToukaToast instance;
|
|
|
|
private void Awake()
|
|
{
|
|
if (instance != null)
|
|
{
|
|
Destroy(gameObject);
|
|
}
|
|
else
|
|
{
|
|
instance = this;
|
|
}
|
|
}
|
|
|
|
private void Start()
|
|
{
|
|
instance.gameObject.SetActive(false);
|
|
}
|
|
|
|
public static ToukaToast Instance => instance;
|
|
|
|
public Text toastText;
|
|
private const float ToastDuration = 2f;
|
|
|
|
public static void ShowToast(string message)
|
|
{
|
|
instance._ShowToast(message);
|
|
}
|
|
|
|
private void _ShowToast(string message)
|
|
{
|
|
instance.gameObject.SetActive(true);
|
|
StartCoroutine(ShowAndHideToast(message));
|
|
}
|
|
|
|
private IEnumerator ShowAndHideToast(string message)
|
|
{
|
|
toastText.text = message;
|
|
instance.gameObject.SetActive(true);
|
|
yield return new WaitForSeconds(ToastDuration);
|
|
instance.gameObject.SetActive(false);
|
|
}
|
|
}
|
|
} |