コード例 #1
0
    public void CraftearLanza()
    {
        if (scriptMateriales.DecirMateriales() >= CosteLanza)
        {
            scriptMateriales.RestarMateriales(CosteLanza);
            menuActivo = !menuActivo;
            menuArmas.SetActive(menuActivo);

            scriptArmas.CambioArma(1);

            Debug.Log("Crafteando Lanza");
        }
    }
コード例 #2
0
 /// <summary>
 /// Resta 'cantidad' a la durabilidad actual de la espada.
 /// En cada ataque, se llama desde la animacion de ataque de la espada
 /// </summary>
 /// <param name="cantidad">Puntos de durabilidad a ser descontados</param>
 public void RestaDurEspada(int cantidad)
 {
     durActualEspada -= cantidad;
     print("Durabilidad Espada: " + durActualEspada);
     if (durActualEspada <= 0)
     {
         scriptarmas.CambioArma(Armas.Martillo);
         durActualEspada = durMaxEspada;
     }
     else
     {
         LevelManager.instance.ActualizaDurabilidad(durMaxEspada, durActualEspada);
     }
 }
コード例 #3
0
 /// <summary>
 /// Resta 'cantidad' a la durabilidad actual de la lanza
 /// </summary>
 /// <param name="cantidad">Puntos de durabilidad a ser descontados</param>
 public void RestaDurLanza(int cantidad)
 {
     durActualLanza -= cantidad;
     print("Durabilidad Lanza: " + durActualLanza);
     if (durActualLanza <= 0)
     {
         scriptarmas.CambioArma(0);
         durActualLanza = durMaxLanza;
     }
 }
コード例 #4
0
    /// <summary>
    /// Comprueba si la lanza está cerca del jugador y, en ese caso, activa la animación de lanzarla
    /// </summary>
    public void LanzarLanza()
    {
        if ((transformLanza.localPosition.y > -0.8) && animador.GetCurrentAnimatorStateInfo(0).IsName("LanzaNormal")) //Posicion relativa al jugador, para evitar ataques dobles
        {
            Lanzada = Instantiate(Lanza, transform);                                                                  //crea la lanza que va a ser lanzada
            Lanzada.GetComponent <SpriteRenderer>().sortingOrder = 1;                                                 //cambia la sortingLayer
            Lanzada.transform.parent = null;                                                                          //elimina el padre de la lanzaLanzada para evitar que rote con el jugador

            Vector2 offset = Input.mousePosition - Camera.main.WorldToScreenPoint(transform.position);                //Vector entre el mouse y el jugador
            float   angle  = Mathf.Atan2(offset.y, offset.x) * Mathf.Rad2Deg;                                         //transforma a ángulos
            Lanzada.transform.rotation = Quaternion.Euler(0, 0, angle);                                               //aplica la rotación

            Lanzada.GetComponent <Rigidbody2D>().velocity = Vector2.ClampMagnitude(offset, velocidad);                //impulsa la lanza
            Lanzada.GetComponent <HacerDanoLanzaLanzada>().SetDurabilidad(durActualLanza);                            //le pasa a la lanza la durabilidad actual
            durActualLanza = durMaxLanza;                                                                             //resetea la durabiliad complete de la lanza

            this.gameObject.SetActive(false);

            scriptarmas.CambioArma(0); //cambia al martillo
        }
    }
コード例 #5
0
 /// <summary>
 /// Resta durabilidad al arma. Si llega a 0, se destruye y cambia al martillo
 /// </summary>
 /// <param name="cantidad"></param>
 public void restaDurTomahawk(int cantidad)
 {
     durActualTomahawk -= cantidad;
     if (durActualTomahawk <= 0)
     {
         scriptArmas.CambioArma(0);
         durActualTomahawk = durMaxTomahawk;
     }
     else
     {
         LevelManager.instance.ActualizaDurabilidad(durMaxTomahawk, durActualTomahawk);
     }
 }