WinterJamSnowman/Assets/Scripts/LemonGenericLib/SceneManagement/TransitionUI.cs

55 lines
1.6 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
namespace Lemon.GenericLib.SceneManagement
{
public class TransitionUI : MonoBehaviour
{
[SerializeField] private CanvasGroup canvasGroup;
[SerializeField] private bool useDefaultFadeTransition;
[SerializeField] public float effectDuration;
[SerializeField] private LeanTweenType fadeEffectType;
//[SerializeField] float threshold;
//[SerializeField] float rate;
//[SerializeField] GameObject transitionObject;
private float targetAlpha = 1;
public void TransitionAnimationEnter()
{
targetAlpha = 0;
if (useDefaultFadeTransition)
{
canvasGroup.LeanAlpha(targetAlpha, effectDuration).setEase(fadeEffectType).setOnComplete(() => { canvasGroup.blocksRaycasts = false; });
return;
}
}
public void TransitionAnimationExit()
{
targetAlpha = 1;
if (useDefaultFadeTransition)
{
canvasGroup.LeanAlpha(targetAlpha, effectDuration).setEase(fadeEffectType).setOnComplete(() => { canvasGroup.blocksRaycasts = true; });
return;
}
}
//float alpha = 0;
//public void Update() {
// alpha = canvasGroup.alpha;
// alpha = Mathf.Lerp(alpha, targetAlpha, rate * Time.deltaTime);
// canvasGroup.alpha = alpha;
// canvasGroup.blocksRaycasts = (alpha > threshold);
//}
}
}