public override void FireWeapon(PlayerWeaponHandler weaponHandler)
    {
        Vector3 playerPosition = weaponHandler.transform.position;

        GameObject[] enemies = GameObject.FindGameObjectsWithTag("Enemy");
        weaponHandler.ShieldParticales.Play();
        foreach (GameObject target in enemies)
        {
            float distance = Vector3.Distance(target.transform.position, playerPosition);
            if (distance < radius)
            {
                target.GetComponent <EnemyController>().AddKnockBack(target.transform.position - playerPosition, radius - distance);
            }
        }
        weaponHandler.Mana -= manaCost;
    }
Exemple #2
0
 public abstract void FireWeapon(PlayerWeaponHandler weaponHandler);
 public override bool CanFire(PlayerWeaponHandler weaponHandler)
 {
     return(weaponHandler.Mana >= manaCost);
 }
Exemple #4
0
 public abstract bool CanFire(PlayerWeaponHandler weaponHandler);
 public override void FireWeapon(PlayerWeaponHandler weaponHandler)
 {
     Instantiate(ballObj, (weaponHandler.transform.position + weaponHandler.transform.forward), weaponHandler.transform.rotation);
     weaponHandler.Mana -= manaCost;
 }
 public bool InsufficientMana(PlayerWeaponHandler weaponHandler)
 {
     return(weaponHandler.Mana <= manaCost);
 }
 public override void FireWeapon(PlayerWeaponHandler weaponHandler)
 {
     weaponHandler.RaycastFire(damage, range, force);
     weaponHandler.Ammo -= 1;
     cooldown            = baseCooldown;
 }
 public override bool CanFire(PlayerWeaponHandler weaponHandler)
 {
     return(cooldown <= 0 && weaponHandler.Ammo > 0);
 }