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