public override void Shoot() { if (WeaponCollision.IsColliding() || IsReloading) { IsShooting = false; } else { IsShooting = true; } }
public override void Shoot() { if (Time.time > CooldownCollapsed && !IsReloading && !WeaponCollision.IsColliding()) { PhotonView.RPC("ShootEffectRpc", RpcTarget.All, WeaponSocket.transform.forward); PushBack(); ReduceAmmo(); CameraShake.StartShake(Weapon.ShakeProfile); CooldownCollapsed = Time.time + Weapon.FireRate; } }
/// <summary>Activate Charging.</summary> public override void Shoot() { if (WeaponCollision.IsColliding() || !HasAmmo) { return; } if (Time.time > CooldownCollapsed && !m_charge) { m_charge = true; PhotonView.RPC("ChargeEffect", RpcTarget.AllViaServer); } }
/// <summary> /// Checks if Weapon is able to Shoot, applies Damage, Reduce ammo, Camera Shake and Push back. /// </summary> public override void Shoot() { if (WeaponCollision.IsColliding() || IsReloading) { IsShooting = false; return; } IsShooting = true; if (Time.time <= CooldownCollapsed) { return; } if (m_target != null && PlayerHelper.ValidateTarget(m_target)) { var hitted = m_target.GetComponent <IDamageable>().ApplyDamage(Weapon.Damage); if (hitted) { HitEvent.Invoke(); ScriptableTextDisplay.Instance.InitializeStackingScriptableText(5, m_target.transform.position, Weapon.Damage.ToString(), m_target.name); } } //PushBack PushBack(); //Ammo ReduceAmmo(); //Camera Shake CameraShake.StartShake(Weapon.ShakeProfile); CooldownCollapsed = Time.time + Weapon.FireRate; }