﻿using UnityEngine;
using UnityEngine.UI;

public class WindOSI_Canvas : MonoBehaviour {

    [SerializeField]
    Text display;
    bool badTextIsShown = false;

    private void Awake()
    {
        display.text = "";
    }


    /// <summary>
    /// Display a text for entering, then fade it out in x seconds.
    /// </summary>
    /// <param name="text"></param>
    public void StartOnEnteredText(string text, float duration)
    {
        if (!badTextIsShown)
            return;
        StopAllCoroutines();
        display.text = text;
        this.MakeProgressionAnim(duration, delegate (float progress)
        {
            Color startTxtColor = display.color;
            display.color = new Color(startTxtColor.r, startTxtColor.g, startTxtColor.b, 1 - progress);
        }, delegate
        {
            badTextIsShown = false;
        });
    }

    /// <summary>
    /// Display a text for leaving.
    /// </summary>
    /// <param name="text"></param>
    public void StartOnLeftText(string text, float duration)
    {
        StopAllCoroutines();
        display.text = text;
        badTextIsShown = true;
        this.MakeProgressionAnim(duration, delegate (float progress)
        {
            Color startTxtColor = display.color;
            display.color = new Color(startTxtColor.r, startTxtColor.g, startTxtColor.b, progress);
        });
    }

}
