61 lines
1.7 KiB
C#
Raw Normal View History

2024-02-19 21:00:36 +03:00
using System.Collections;
using UnityEngine;
using UnityEngine.UI;
namespace Mirror.Examples.AdditiveLevels
{
public class FadeInOut : MonoBehaviour
{
// set these in the inspector
[Range(1, 100), Tooltip("Speed of fade in / out: lower is slower")]
public byte speed = 1;
[Tooltip("Reference to Image component on child panel")]
public Image fadeImage;
[Tooltip("Color to use during scene transition")]
public Color fadeColor = Color.black;
WaitForSeconds waitForSeconds;
void Awake()
{
waitForSeconds = new WaitForSeconds(speed * 0.01f);
}
public IEnumerator FadeIn()
{
//Debug.Log($"{System.DateTime.Now:HH:mm:ss:fff} FadeIn - fading image in {fadeImage.color.a}");
float alpha = fadeImage.color.a;
while (alpha < 1)
{
yield return waitForSeconds;
alpha += 0.01f;
fadeColor.a = alpha;
fadeImage.color = fadeColor;
}
//Debug.Log($"{System.DateTime.Now:HH:mm:ss:fff} FadeIn - done fading");
}
public IEnumerator FadeOut()
{
//Debug.Log($"{System.DateTime.Now:HH:mm:ss:fff} FadeOut - fading image out {fadeImage.color.a}");
float alpha = fadeImage.color.a;
while (alpha > 0)
{
yield return waitForSeconds;
alpha -= 0.01f;
fadeColor.a = alpha;
fadeImage.color = fadeColor;
}
//Debug.Log($"{System.DateTime.Now:HH:mm:ss:fff} FadeOut - done fading");
}
}
}