Ejemplo n.º 1
0
    IEnumerator Respawn()
    {
        respawning = true;
        canMove    = false;

        MeshRenderer[] meshes = GetComponentsInChildren <MeshRenderer>();
        Collider[]     colls  = GetComponentsInChildren <Collider>();
        InputManager   input  = GetComponent <InputManager>();

        input.enabled = false;

        deathScreen.FadeIn();
        yield return(new WaitForSecondsRealtime(deathScreen.fadeInTime));

        foreach (MeshRenderer m in meshes)
        {
            m.enabled = false;
        }

        foreach (Collider c in colls)
        {
            c.enabled = false;
        }

        yield return(new WaitForSecondsRealtime(respawnTime));

        transform.position = startingPos;
        transform.rotation = startingRot;
        health             = startingHealth;
        healthBar.UpdateCurrentHealth(health);

        foreach (MeshRenderer m in meshes)
        {
            m.enabled = true;
        }

        foreach (Collider c in colls)
        {
            c.enabled = true;
        }

        GetComponentInChildren <Gun>().RefillAmmoInstantly();

        deathScreen.FadeOut();
        yield return(new WaitForSecondsRealtime(deathScreen.fadeOutTime));

        velocity = Vector3.zero;

        input.enabled = true;
        respawning    = false;
        canMove       = true;
    }