| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- using UnityEngine;
- using UnityEngine.UI;
- using System.Collections;
- public class DisplayManager : MonoBehaviour {
- public Text displayText;
- public float displayTime;
- public float fadeTime;
- private IEnumerator fadeAlpha;
- private static DisplayManager displayManager;
- public static DisplayManager Instance()
- {
- if (!displayManager)
- {
- displayManager = FindObjectOfType(typeof(DisplayManager)) as DisplayManager;
- if (!displayManager)
- Debug.LogError("There needs to be one active DisplayManager script on a GameObject in your scene.");
- }
- return displayManager;
- }
- public void DisplayMessage(string message)
- {
- displayText.text = message;
- SetAlpha();
- }
- void SetAlpha()
- {
- if (fadeAlpha != null)
- {
- StopCoroutine(fadeAlpha);
- }
- fadeAlpha = FadeAlpha();
- StartCoroutine(fadeAlpha);
- }
- IEnumerator FadeAlpha()
- {
- Color resetColor = displayText.color;
- resetColor.a = 1;
- displayText.color = resetColor;
- yield return new WaitForSeconds(displayTime);
- while (displayText.color.a > 0)
- {
- Color displayColor = displayText.color;
- displayColor.a -= Time.deltaTime / fadeTime;
- displayText.color = displayColor;
- yield return null;
- }
- yield return null;
- }
- }
|