171 - Local Fire Effects
This commit is contained in:
parent
72cf9d1833
commit
51a96c9fb1
|
@ -103,6 +103,7 @@ void UCombatComponent::Fire()
|
|||
{
|
||||
bCanFire = false;
|
||||
ServerFire(HitTarget);
|
||||
LocalFire(HitTarget);
|
||||
if (PrimaryWeapon)
|
||||
{
|
||||
CrosshairShootingFactor = .75f;
|
||||
|
@ -139,6 +140,12 @@ void UCombatComponent::ServerFire_Implementation(const FVector_NetQuantize& Trac
|
|||
}
|
||||
|
||||
void UCombatComponent::MulticastFire_Implementation(const FVector_NetQuantize& TraceHitTarget)
|
||||
{
|
||||
if (Character && Character->IsLocallyControlled() && !Character->HasAuthority()) return;
|
||||
LocalFire(TraceHitTarget);
|
||||
}
|
||||
|
||||
void UCombatComponent::LocalFire(const FVector_NetQuantize& TraceHitTarget)
|
||||
{
|
||||
if (PrimaryWeapon == nullptr) return;
|
||||
if (Character && CombatState == ECombatState::ECS_Reloading && PrimaryWeapon->IsShotgun())
|
||||
|
@ -175,6 +182,8 @@ void UCombatComponent::EquipWeapon(AWeapon* WeaponToEquip)
|
|||
|
||||
void UCombatComponent::SwapWeapons()
|
||||
{
|
||||
if (CombatState != ECombatState::ECS_Unoccupied) return;
|
||||
|
||||
AWeapon* TempWeapon = PrimaryWeapon;
|
||||
PrimaryWeapon = SecondaryWeapon;
|
||||
SecondaryWeapon = TempWeapon;
|
||||
|
|
|
@ -152,6 +152,7 @@ private:
|
|||
|
||||
void StartFireTimer();
|
||||
void FireTimerFinished();
|
||||
void LocalFire(const FVector_NetQuantize& TraceHitTarget);
|
||||
|
||||
bool CanFire();
|
||||
|
||||
|
|
|
@ -270,8 +270,11 @@ void AWeapon::Fire(const FVector& HitTarget)
|
|||
}
|
||||
}
|
||||
}
|
||||
if (HasAuthority())
|
||||
{
|
||||
SpendRound();
|
||||
}
|
||||
}
|
||||
|
||||
void AWeapon::Dropped()
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue