async void OnPlayerDeath() { SpriteRenderer sprRender = GetComponent <SpriteRenderer>(); Sprite shipSpr = sprRender.sprite; // Turn on death anim for player, let it play for a second isDead = true; Animatey anim = GetComponent <Animatey>(); anim.useCoroutine = true; anim.ResetCoroutine(); await Task.Delay(deathPauseTimeMs - deathPauseInvisibleMs); anim.useCoroutine = false; anim.ResetCoroutine(); if (GameManager.Instance.GetLives() > 0) { // Disappear for a half second then respawn, re-enabling player sprRender.sprite = null; await Task.Delay(deathPauseInvisibleMs); sprRender.sprite = shipSpr; isDead = false; canFire = true; } }
private IEnumerator AnimMovingCoroutine() { while (true) { foreach (GameObject go in enemies) { if (!go) { continue; } Animatey goAnim = go.GetComponent <Animatey>(); goAnim.CycleAnimation(); } yield return(new WaitForSeconds(0.5f / (speed <= 0 ? 0.000001f : speed))); } }