JohnCorby 02642983b5 Revert "Don't just cut to black"
This reverts commit bddcd88b1665ee07aef98c7adab8b1ae3fe86b68.
2024-06-04 09:25:55 -07:00

38 lines
1.2 KiB
C#

using NewHorizons.Utility.OWML;
using System;
using System.Collections;
using UnityEngine;
namespace NewHorizons.Handlers
{
public static class FadeHandler
{
public static void FadeOut(float length) => Delay.StartCoroutine(FadeOutCoroutine(length));
private static IEnumerator FadeOutCoroutine(float length)
{
LoadManager.s_instance._fadeCanvas.enabled = true;
float startTime = Time.unscaledTime;
float endTime = Time.unscaledTime + length;
while (Time.unscaledTime < endTime)
{
LoadManager.s_instance._fadeImage.color = Color.Lerp(Color.clear, Color.black, (Time.unscaledTime - startTime) / length);
yield return new WaitForEndOfFrame();
}
LoadManager.s_instance._fadeImage.color = Color.black;
yield return new WaitForEndOfFrame();
}
public static void FadeThen(float length, Action action) => Delay.StartCoroutine(FadeThenCoroutine(length, action));
private static IEnumerator FadeThenCoroutine(float length, Action action)
{
yield return FadeOutCoroutine(length);
action?.Invoke();
}
}
}