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; }
public abstract void FireWeapon(PlayerWeaponHandler weaponHandler);
public override bool CanFire(PlayerWeaponHandler weaponHandler) { return(weaponHandler.Mana >= manaCost); }
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); }