using System.Collections;
using UnityEngine;
using UnityEngine.UI;

public class Fade : MonoBehaviour
{
    [SerializeField]
    private float fadeTime = 0.5f;

    private Image image;

    private Color color;

    [SerializeField]
    private GameObject[] child;

    private void Awake()
    {
        image = GetComponent<Image>();
        color = image.color;
        
    }

    public IEnumerator FadeIn()
    {
        float t = 0;
       
        for (int i = 0; i < child.Length; i++)
        {
            child[i].SetActive(false);
        }
        while (t < fadeTime)
        {
            color.a = Mathf.Lerp(1.0f, 0.0f, t / fadeTime);
            image.color = color;
            t += Time.deltaTime;
            yield return null;
        }
        color.a = 0.0f;
        image.color = color;
    }

    public IEnumerator FadeOut()
    {
        float t = 0;
        while (t < fadeTime)
        {
            color.a = Mathf.Lerp(0.0f, 1.0f, t / fadeTime);
            image.color = color;
            t += Time.deltaTime;
            yield return null;
        }
        for (int i = 0; i < child.Length; i++)
        {
            child[i].SetActive(true);
        }
        
       
        color.a = 1.0f;
        image.color = color;
    }
}