Ejemplo n.º 1
0
    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;
        }
    }
Ejemplo n.º 2
0
    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)));
        }
    }