Files
BH3/Assets/Scripts/Assembly-CSharp/MonoFadeImage.cs
2025-08-13 09:26:42 +08:00

60 lines
885 B
C#

using UnityEngine;
using UnityEngine.UI;
public class MonoFadeImage : MonoBehaviour
{
private Image blackFade;
private float _fadeAlpha;
private float _fadeSpeed;
private bool _fading;
private void Awake()
{
InitFade();
}
private void Update()
{
UpdateFade();
}
private void InitFade()
{
blackFade = GetComponent<Image>();
}
private void UpdateFade()
{
if (blackFade != null && _fading)
{
_fadeAlpha += _fadeSpeed;
if (_fadeAlpha < 0f)
{
_fadeAlpha = 0f;
_fading = false;
}
else if (_fadeAlpha > 1f)
{
_fadeAlpha = 1f;
_fading = false;
}
blackFade.color = new Color(0f, 0f, 0f, _fadeAlpha);
}
}
public void FadeOut(float speed = 1f)
{
_fading = true;
_fadeSpeed = speed * Time.deltaTime;
}
public void FadeIn(float speed = 1f)
{
_fading = true;
_fadeSpeed = (0f - speed) * Time.deltaTime;
}
}