// 播放动画 public void PlayStageAnimation(ENSTAGE stage) { string animationName = ""; switch (stage) { case ENSTAGE.enStage1: animationName = "ui-summary-00"; break; case ENSTAGE.enStage2: animationName = "ui-summary-01"; break; case ENSTAGE.enStage3: animationName = "ui-summary-02"; m_tick = true; break; } SetAnimationSpeed(animationName, 1.0f); if (null != WindowRoot) { this.WindowRoot.GetComponent <Animation>().Play(animationName); } AnimationClip clip = WindowRoot.GetComponent <Animation>().GetClip(animationName); MainGame.Singleton.StartCoroutine(CoroutineAnimationEnd(++m_currentCorroutineIndex, clip.length, (ENSTAGE)(stage + 1))); }
//动画播完后的操作 stage 为下一阶段要播放的动画 IEnumerator CoroutineAnimationEnd(int animCoroutineIndex, float timeLength, ENSTAGE stage) { yield return(new WaitForSeconds(timeLength + 1)); if (animCoroutineIndex == m_currentCorroutineIndex) { if (stage == ENSTAGE.enStage4) { ShowPrizeCard(); } else { PlayStageAnimation(stage); } } }