using System.Collections; using System.Collections.Generic; using UnityEngine; public class ConvertEffect : MonoSingleton { public enum convertEffectType { Default, White, Black, WhiteToBlack, BlackToWhite, WhiteToLucency, BlackToLucency, LucencyToWhite, LucencyToBlack, Transmitimg_in, Transmitimg_out, Transmitimg_1_out, Dying, //濒死 } private Animator anim; private AniEvent.PlayFinishCallback finishCallback; private AniEvent animEvent; public bool isPlay; /// /// 初始化 /// private void Init() { if (anim == null) { anim = GameObject.Find("ForeverUI/ConvertEffect").GetComponent(); anim.gameObject.SetActive(true); } if (animEvent == null) { animEvent = GameObject.Find("ForeverUI/ConvertEffect").GetComponent(); } } public void PlayEffect(convertEffectType effectType, AniEvent.PlayFinishCallback cb) { Init(); string animName = ""; switch (effectType) { case convertEffectType.Black: animName = "Black"; break; case convertEffectType.Default: animName = "Default"; break; case convertEffectType.White: animName = "White"; break; case convertEffectType.WhiteToBlack: animName = "WhiteToBlack"; break; case convertEffectType.BlackToWhite: animName = "BlackToWhite"; break; case convertEffectType.BlackToLucency: animName = "BlackToLucency"; break; case convertEffectType.WhiteToLucency: animName = "WhiteToLucency"; break; case convertEffectType.LucencyToBlack: animName = "LucencyToBlack"; break; case convertEffectType.LucencyToWhite: animName = "LucencyToWhite"; break; case convertEffectType.Transmitimg_in: animName = "Transmiting_in"; break; case convertEffectType.Transmitimg_out: animName = "Transmitimg_out"; break; case convertEffectType.Transmitimg_1_out: animName = "Transmitimg_1_out"; break; case convertEffectType.Dying: animName = "dying"; break; } finishCallback = cb; if (finishCallback == null) { finishCallback = (obj) => { anim.gameObject.SetActive(false); }; } animEvent.closecb = finishCallback; anim.Play(animName); } public void PlayEffect(string animName, AniEvent.PlayFinishCallback cb) { Init(); finishCallback = cb; animEvent.closecb = finishCallback; anim.Play(animName); } }