| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- 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;
- }
- }
|