public void death()
    {
        //Calcolo la posizione di morte (che sarebbe quella attuale ma con la y modificata) ed effettuo il lerp
        deathposition    = transform.position;
        deathposition.y -= 3f;
        gameObject.transform.position = Vector3.Lerp(transform.position, deathposition, Time.deltaTime * 20f);

        //Elimino script vitali per il player (per evitare comportamenti indesiderati da morto)
        Destroy(gameObject.GetComponent <Moving>());
        Destroy(gameObject.GetComponent <flashlight>());
        Destroy(gameObject.GetComponent <SwitchWeapon>());

        //Disattivo le armi
        if (ascia_imp != null)
        {
            ascia_imp.SetActive(false);
        }
        if (pistola_imp != null)
        {
            pistola_imp.SetActive(false);
        }
        if (smg_imp != null)
        {
            smg_imp.SetActive(false);
        }

        Destroy(gameObject.GetComponent <PlayAnimation>());

        //Normalizzo la rotazione del player (perchè potrebbe morire guardando in alto, per esempio, e l'animazione di morte sarebbe sbagliata)
        GameObject.FindGameObjectWithTag("Hands").transform.eulerAngles      = new Vector3(-90f, transform.eulerAngles.y, 0f);
        GameObject.FindGameObjectWithTag("MainCamera").transform.eulerAngles = new Vector3(0f, transform.eulerAngles.y, 0f);

        //Attivo l'animazione di morte
        GetComponent <Animator>().SetTrigger("Death");

        //Disattivo alcuni elementi dell'hud
        hud.deathScreenTrigger();

        StartCoroutine(afterDeath());
    }