Files
JJBB/Assets/Project/Script/Common/Utilities/Particle/WarningBlink.cs

38 lines
857 B
C#
Raw Normal View History

2024-08-23 15:49:34 +08:00
using UnityEngine;
public class WarningBlink : MonoBehaviour
{
public float rate = 1f;
private int _tintId;
private Color _color;
private float _ratio;
private Material _material;
private void Awake()
{
_tintId = Shader.PropertyToID("_TintColor");
_material = GetComponent<Renderer>().material;
_color = _material.GetColor(_tintId);
}
private void OnEnable()
{
_ratio = 0f;
}
private void OnDestroy()
{
if (_material != null)
Destroy(_material);
}
private void Update()
{
_ratio += Time.deltaTime * rate;
if (_ratio > 1f)
_ratio = _ratio - Mathf.Floor(_ratio);
var colorRatio = 1f - Mathf.Abs(_ratio - 0.5f) * 2f;
_color.a = colorRatio;
_material.SetColor(_tintId, _color);
}
}