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(); } }