115 - Allowing Weapon Fire

This commit is contained in:
Kingsmedia 2022-05-09 23:26:59 +02:00
parent 1141d0957e
commit 6792b354c7
3 changed files with 12 additions and 2 deletions

View File

@ -219,7 +219,7 @@ bool UCombatComponent::CanFire()
{
if (EquippedWeapon == nullptr) return false;
return !EquippedWeapon->IsEmpty() || !bCanFire;
return !EquippedWeapon->IsEmpty() && bCanFire && CombatState == ECombatState::ECS_Unoccupied;
}
void UCombatComponent::OnRep_CarriedAmmo()
@ -244,7 +244,7 @@ void UCombatComponent::ServerFire_Implementation(const FVector_NetQuantize& Trac
void UCombatComponent::MulticastFire_Implementation(const FVector_NetQuantize& TraceHitTarget)
{
if (EquippedWeapon == nullptr) return;
if (Character)
if (Character && CombatState == ECombatState::ECS_Unoccupied)
{
Character->PlayFireMontage(bAiming);
EquippedWeapon->Fire(TraceHitTarget);
@ -345,6 +345,10 @@ void UCombatComponent::FinishedReloading()
{
CombatState = ECombatState::ECS_Unoccupied;;
}
if (bFireButtonPressed)
{
Fire();
}
}
void UCombatComponent::ServerReload_Implementation()
@ -362,6 +366,12 @@ void UCombatComponent::OnRep_CombatState()
case ECombatState::ECS_Reloading:
HandleReload();
break;
case ECombatState::ECS_Unoccupied:
if (bFireButtonPressed)
{
Fire();
}
break;
}
}