Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 2

using System.

Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;

public class Health_and_Damage : MonoBehaviour


{
public int vida;
private GameObject[] corazonesVida;

public bool invencible = false;


public float tiempoInvencible = 1f;
public float tiempoFrenado = 0.2f;

[SerializeField]
private GuardarEscena _guardarEscena;

private void Start()


{
vida = 3;
corazonesVida[0] = GameObject.Find("VidaUnGolpe");
corazonesVida[1] = GameObject.Find("VidaDosGolpes");
corazonesVida[2] = GameObject.Find("Vidas");
_guardarEscena =
GameObject.Find("ControladorDeOpciones").GetComponent<GuardarEscena>();
}
public void RestarVida(int cantidad)
{
if (!invencible && vida == 3)
{
corazonesVida[0].SetActive(true);
corazonesVida[1].SetActive(true);
corazonesVida[2].SetActive(true);

StartCoroutine(Invulnerabilidad());
StartCoroutine(FrenarVelocidad());

}
else if (!invencible && vida == 2)
{
corazonesVida[0].SetActive(true);
corazonesVida[1].SetActive(true);
corazonesVida[2].SetActive(false);

StartCoroutine(Invulnerabilidad());
StartCoroutine(FrenarVelocidad());

}
else if (!invencible && vida == 1)
{
corazonesVida[0].SetActive(true);
corazonesVida[1].SetActive(false);
corazonesVida[2].SetActive(false);

StartCoroutine(Invulnerabilidad());
StartCoroutine(FrenarVelocidad());

}
else if (vida == 0)
{
// guardar esta variable en un objeto que sea comun entre escenas
//SceneManagment.GetActiveScene = new int(GuardarEscena);
//GameObject.find("ControladorDeOpciones");

GameOver();
}
}

void GameOver()
{

_guardarEscena.escenaanterior = SceneManager.GetActiveScene().buildIndex;

SceneManager.LoadScene(4);
}

IEnumerator Invulnerabilidad()
{
invencible = true;
yield return new WaitForSeconds(tiempoInvencible);
invencible = false;
}

IEnumerator FrenarVelocidad()
{
var velocidadActual = GetComponent<Player>().playerSpeed;
GetComponent<Player>().playerSpeed = 0;
yield return new WaitForSeconds(tiempoFrenado);
GetComponent<Player>().playerSpeed = velocidadActual;
}
}

You might also like