private void Start() { sr = GetComponent <SpriteRenderer>(); ef = GetComponent <EffectsAnimator>(); StartCoroutine(AnimateIdle()); }
public void StartAnimation(int number, EffectsAnimator opponent) { bool doEnemyOverlay = false, doEnemyUnderlay = false, doEnemyColour = false; switch (number) { case 0: currentOverlayFrames = baseOverlayFrames; currentUnderlayFrames = baseUnderlayFrames; currentColourOverlay = baseColourOverlay; currentColourOverlayDelay = bColourOverlayDelaySeconds; currentBigEffect = bBigEffectToPlay; doEnemyOverlay = bo_toEnemy; doEnemyUnderlay = bu_toEnemy; doEnemyColour = bc_toEnemy; break; case 1: currentOverlayFrames = specialOverlayFrames; currentUnderlayFrames = specialUnderlayFrames; currentColourOverlay = specialColourOverlay; currentColourOverlayDelay = sColourOverlayDelaySeconds; currentBigEffect = sBigEffectToPlay; doEnemyOverlay = so_toEnemy; doEnemyUnderlay = su_toEnemy; doEnemyColour = sc_toEnemy; break; case 2: currentOverlayFrames = ultimateOverlayFrames; currentUnderlayFrames = ultimateUnderlayFrames; currentColourOverlay = ultimateColourOverlay; currentColourOverlayDelay = uColourOverlayDelaySeconds; currentBigEffect = uBigEffectToPlay; doEnemyOverlay = uo_toEnemy; doEnemyUnderlay = uu_toEnemy; doEnemyColour = uc_toEnemy; break; default: currentOverlayFrames = baseOverlayFrames; currentUnderlayFrames = baseUnderlayFrames; currentColourOverlay = Color.white; currentColourOverlayDelay = bColourOverlayDelaySeconds; break; } if (currentColourOverlay != Color.white && opponent) { if (doEnemyColour) { StartCoroutine(opponent.AnimateColour(currentColourOverlay, currentColourOverlayDelay)); } else { StartCoroutine(AnimateColour(currentColourOverlay, currentColourOverlayDelay)); } } if (currentBigEffect != null) { bigEffectAnimation.clip = currentBigEffect; bigEffectAnimation.Play(); } print(number + " " + ultimateUnderlayFrames.Length + " " + currentUnderlayFrames.Length); if (currentOverlayFrames.Length > 0 && !doEnemyOverlay) { StartCoroutine(AnimateOverlay(currentOverlayFrames)); } if (opponent && currentOverlayFrames.Length > 0 && doEnemyOverlay) { StartCoroutine(opponent.AnimateOverlay(currentOverlayFrames)); } if (currentUnderlayFrames.Length > 0 && !doEnemyUnderlay) { StartCoroutine(AnimateUnderlay(currentUnderlayFrames)); } if (opponent && currentUnderlayFrames.Length > 0 && doEnemyUnderlay) { StartCoroutine(opponent.AnimateUnderlay(currentUnderlayFrames)); } }