Example #1
0
 void FireArrow()
 {
     if (Mathf.Abs(move.enemy.position.x - transform.position.x) < 10 && Time.time > fireTime)
     {
         float random = move.ReturnRandom();
         if (random > 98 || chargingArrow)
         {
             chargingArrow = true;
             anim.SetBool("DrawArrow", true);
             move.firing = true;
             arrowPower.value++;
             arrowSpeed       = arrowPower.value;
             powerImage.color = Color.Lerp(Color.yellow, Color.red, arrowPower.value / arrowPower.maxValue);
         }
     }
     if (arrowPower.value == arrowPower.maxValue)
     {
         anim.SetTrigger("ReleaseArrow");
         anim.SetBool("DrawArrow", false);
         move.firing      = false;
         fireTime         = Time.time + reloadTime;
         arrowPower.value = arrowPower.minValue;
         chargingArrow    = false;
     }
 }
Example #2
0
    void Block()
    {
        if (Input.GetButtonUp("Fire1"))
        {
            float random = move.ReturnRandom();
            if (random > 66)
            {
                StartCoroutine(Wait());
            }
        }
        if (waitBool)
        {
            shield.SetActive(true);

            move.blocking = true;
            shieldUp      = true;

            currentShieldHealth -= 2f * Time.deltaTime;

            anim.SetBool("BlockBool", true);
            shield.transform.localScale = shieldSize * (currentShieldHealth / maxShieldHealth);
        }
        else
        {
            RegainShield();
        }
    }