Пример #1
0
    public void Die(DeathReason reason)
    {
        if (isDead)
        {
            return;
        }
        isDead = true;
        Instantiate(soul, transform.position + Vector3.down * 1.5f, Quaternion.identity);
        Debug.Log("I died from " + reason);
        score.Deactivate();

        GameObject go = Instantiate(deathPrefabs[(int)reason], transform.position, Quaternion.identity);

        if (go.GetComponent <Animator>())
        {
            Destroy(go, go.GetComponent <Animator>().runtimeAnimatorController.animationClips[0].length);
        }

        if (reason == DeathReason.SMASH)
        {
            go.transform.Translate(Vector3.up * 1f);
        }

        GetComponent <SpriteRenderer>().enabled = false;
        GetComponent <Collider2D>().enabled     = false;
        map.StartCoroutine(map.ReloadGame());
        Destroy(gameObject);
    }