ProjectDDD/Assets/Plugins/AllIn1VfxToolkit/Demo & Assets/Demo/Scripts/AllIn1VfxFadeLight.cs
2025-07-08 19:46:31 +09:00

27 lines
877 B
C#

using UnityEngine;
namespace AllIn1VfxToolkit.Demo.Scripts
{
[RequireComponent(typeof(Light))]
public class AllIn1VfxFadeLight : MonoBehaviour
{
[SerializeField] private float fadeDuration = 0.1f;
[SerializeField] private bool destroyWhenFaded = true;
private Light targetLight;
private float animationRatioRemaining = 1f;
private float iniLightIntensity;
private void Start()
{
targetLight = GetComponent<Light>();
iniLightIntensity = targetLight.intensity;
}
private void Update()
{
targetLight.intensity = Mathf.Lerp(0f, iniLightIntensity, animationRatioRemaining);
animationRatioRemaining -= Time.deltaTime / fadeDuration;
if(destroyWhenFaded && animationRatioRemaining <= 0f) Destroy(gameObject);
}
}
}