Пример #1
0
 public override void DoAttack()
 {
     if (currentAttackCD <= 0f)
     {
         animationSetter.SetAttackAnim();
         GameObject go = Instantiate(projectile, attackPoint.position, Quaternion.identity);
         go.transform.localScale = new Vector3(transform.localScale.x * go.transform.localScale.x, go.transform.localScale.y, 1);
         currentAttackCD         = attackCooldown;
     }
 }
Пример #2
0
 public override void DoAttack()
 {
     if (currentAttackCD <= 0f)
     {
         animationSetter.SetAttackAnim();
         ai.GetTargetHealth().TakeDamage();
         onAttackAudio?.Play();
         currentAttackCD = attackCooldown;
     }
 }
Пример #3
0
 public override void DoAttack()
 {
     if (currentAttackCooldown <= 0f && ammoLeft > 0)
     {
         animationSetter.SetAttackAnim();
         GameObject go = Instantiate(projectile, attackPoints[Random.Range(0, 3)].position, Quaternion.identity);
         go.transform.localScale = new Vector3(transform.localScale.x * go.transform.localScale.x, go.transform.localScale.y, go.transform.localScale.z);
         barrierAmmo[ammoLeft - 1].SetActive(false);
         ammoLeft--;
         currentAttackCooldown = attackCooldown;
     }
     if (ammoLeft == 0 && !ammoRechargeCompleted)
     {
         StartCoroutine(RechargeAmmo());
     }
 }