61 lines
1.7 KiB
C#
61 lines
1.7 KiB
C#
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");
|
|
}
|
|
}
|
|
}
|