110 - Can Fire
This commit is contained in:
parent
9373e4a1c2
commit
cac45b8c16
|
@ -166,7 +166,7 @@ void UCombatComponent::ServerSetAiming_Implementation(bool bIsAiming)
|
|||
|
||||
void UCombatComponent::Fire()
|
||||
{
|
||||
if (bCanFire)
|
||||
if (CanFire())
|
||||
{
|
||||
bCanFire = false;
|
||||
ServerFire(HitTarget);
|
||||
|
@ -209,6 +209,13 @@ void UCombatComponent::FireTimerFinished()
|
|||
}
|
||||
}
|
||||
|
||||
bool UCombatComponent::CanFire()
|
||||
{
|
||||
if (EquippedWeapon == nullptr) return false;
|
||||
|
||||
return !EquippedWeapon->IsEmpty() || !bCanFire;
|
||||
}
|
||||
|
||||
void UCombatComponent::ServerFire_Implementation(const FVector_NetQuantize& TraceHitTarget)
|
||||
{
|
||||
MulticastFire(TraceHitTarget);
|
||||
|
|
|
@ -98,4 +98,6 @@ private:
|
|||
|
||||
void StartFireTimer();
|
||||
void FireTimerFinished();
|
||||
|
||||
bool CanFire();
|
||||
};
|
||||
|
|
|
@ -112,8 +112,7 @@ void AWeapon::SetHUDAmmo()
|
|||
|
||||
void AWeapon::SpendRound()
|
||||
{
|
||||
--Ammo;
|
||||
|
||||
Ammo = FMath::Clamp(Ammo - 1, 0, MagCapacity);
|
||||
SetHUDAmmo();
|
||||
}
|
||||
|
||||
|
@ -146,6 +145,11 @@ void AWeapon::SetWeaponState(EWeaponState State)
|
|||
}
|
||||
}
|
||||
|
||||
bool AWeapon::IsEmpty()
|
||||
{
|
||||
return Ammo <= 0;
|
||||
}
|
||||
|
||||
void AWeapon::OnRep_WeaponState()
|
||||
{
|
||||
switch (WeaponState)
|
||||
|
|
|
@ -128,5 +128,5 @@ public:
|
|||
FORCEINLINE USkeletalMeshComponent* GetWeaponMesh() const { return WeaponMesh; };
|
||||
FORCEINLINE float GetZoomedFOV() const { return ZoomedFOV; };
|
||||
FORCEINLINE float GetZoomInterpSpeed() const { return ZoomInterpSpeed; };
|
||||
|
||||
bool IsEmpty();
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue