/// <summary> /// Al entrar en contacto con el jugador, le roba matRobados materiales (solo una vez) y procede a huir hacia el punto de salida. /// </summary> /// <param name="collision"></param> void OnCollisionEnter2D(Collision2D collision) { if (collision.gameObject.GetComponent <Materiales>() && robado == false) { Materiales mat = collision.gameObject.GetComponent <Materiales>(); int numMateriales = mat.DecirMateriales(); //Si el jugador no tiene suficientes materiales, el ladrón ataca //Debería rbar los que tiene el jugador aunque no sean suficientes if (numMateriales == 0) { if (collision.gameObject.GetComponent <VidaJugador>()) { collision.gameObject.GetComponent <VidaJugador>().RestaVida(daño); } } else //Si los tiene, le roba y emprende su huida { robado = true; if (numMateriales >= matRobados) { mat.RestarMateriales(matRobados); } else { matRobados = numMateriales; mat.RestarMateriales(numMateriales); } volver = true; } } }
public void CraftearLanza() { if (scriptMateriales.DecirMateriales() >= CosteLanza) { scriptMateriales.RestarMateriales(CosteLanza); menuActivo = !menuActivo; menuArmas.SetActive(menuActivo); scriptArmas.CambioArma(1); Debug.Log("Crafteando Lanza"); } }
/// <summary> /// Al entrar en contacto con el jugador, le roba matRobados materiales (solo una vez) y procede a huir hacia el punto de salida. /// </summary> /// <param name="collision"></param> void OnCollisionEnter2D(Collision2D collision) { if (collision.gameObject.GetComponent <Materiales>() && robado == false) { Materiales mat = collision.gameObject.GetComponent <Materiales>(); int numMateriales = mat.DecirMateriales(); //Si el jugador no tiene suficientes materiales, el ladrón ataca //Debería rbar los que tiene el jugador aunque no sean suficientes if (numMateriales == 0) { if (collision.gameObject.GetComponent <VidaJugador>()) { collision.gameObject.GetComponent <VidaJugador>().RestaVida(daño); } } else //Si los tiene, le roba y emprende su huida { robado = true; if (numMateriales < matRobados) { matRobados = numMateriales; } mat.RestarMateriales(matRobados); LevelManager.instance.MuestraPopUpMat("- " + matRobados, new Vector2(transform.position.x, transform.position.y), Color.yellow, new Vector3(1.5f, 1.5f, 0)); volver = true; } } }