using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;
///
/// 技能车
///
public class SkillCar : MonoBehaviour
{
///
/// 原本的材质球
///
public Material thisMaterial;
///
/// 闪烁材质球
///
public Material flashingMaterial;
///
/// 材质渲染
///
public MeshRenderer[] meshRenderers;
///
/// 闪烁特效
///
private Coroutine flashingCoroutine;
private void OnDisable()
{
if(flashingCoroutine!=null)
{
StopCoroutine(flashingCoroutine);
flashingCoroutine = null;
}
}
///
/// 闪烁
///
public void Flashing(UnityAction callBack)
{
flashingCoroutine= StartCoroutine(IE_Flashing(callBack));
}
///
/// 停止闪烁
///
public void StopFlashing()
{
if (flashingCoroutine != null)
{
StopCoroutine(flashingCoroutine);
flashingCoroutine = null;
}
}
///
/// 闪烁协程
///
///
private IEnumerator IE_Flashing(UnityAction callBack)
{
UIManager.Instance.GetUI().SetShimmerCountDownSetActive(true);
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < meshRenderers.Length; j++)
{
meshRenderers[j].material = flashingMaterial;
}
yield return new WaitForSeconds(0.2f);
for (int j = 0; j < meshRenderers.Length; j++)
{
meshRenderers[j].material = thisMaterial;
}
yield return new WaitForSeconds(0.2f);
}
callBack?.Invoke();
}
}