From 85c074d97e1b1fc5dff7246cbfef7648ebc26a50 Mon Sep 17 00:00:00 2001 From: Kingsmedia Date: Wed, 4 May 2022 22:57:45 +0200 Subject: [PATCH] 70 - Fire Effects in Multiplayer --- Content/Maps/BlasterMap.umap | Bin 1326329 -> 1327496 bytes Source/Blaster/Components/CombatComponent.cpp | 32 +++++++++++++----- Source/Blaster/Components/CombatComponent.h | 6 ++++ 3 files changed, 29 insertions(+), 9 deletions(-) diff --git a/Content/Maps/BlasterMap.umap b/Content/Maps/BlasterMap.umap index 2ca2a95908fbbb61c245c25dcf1a48b135fe3656..7eec221e4222033dcf72bedd729b20b0b3b0d7a5 100644 GIT binary patch delta 21509 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 Ang9R* diff --git a/Source/Blaster/Components/CombatComponent.cpp b/Source/Blaster/Components/CombatComponent.cpp index ca36c81..a483adf 100644 --- a/Source/Blaster/Components/CombatComponent.cpp +++ b/Source/Blaster/Components/CombatComponent.cpp @@ -17,6 +17,14 @@ UCombatComponent::UCombatComponent() AimWalkSpeed = 350.f; } +void UCombatComponent::GetLifetimeReplicatedProps(TArray& OutLifetimeProps) const +{ + Super::GetLifetimeReplicatedProps(OutLifetimeProps); + + DOREPLIFETIME(UCombatComponent, EquippedWeapon); + DOREPLIFETIME(UCombatComponent, bAiming); +} + void UCombatComponent::BeginPlay() { Super::BeginPlay(); @@ -58,8 +66,22 @@ void UCombatComponent::OnRep_EquippedWeapon() void UCombatComponent::FireButtonPressed(bool bPressed) { bFireButtonPressed = bPressed; + + if (bFireButtonPressed) + { + ServerFire(); + } +} + +void UCombatComponent::ServerFire_Implementation() +{ + MulticastFire(); +} + +void UCombatComponent::MulticastFire_Implementation() +{ if (EquippedWeapon == nullptr) return; - if (Character && bFireButtonPressed) + if (Character) { Character->PlayFireMontage(bAiming); EquippedWeapon->Fire(); @@ -72,14 +94,6 @@ void UCombatComponent::TickComponent(float DeltaTime, ELevelTick TickType, FActo } -void UCombatComponent::GetLifetimeReplicatedProps(TArray& OutLifetimeProps) const -{ - Super::GetLifetimeReplicatedProps(OutLifetimeProps); - - DOREPLIFETIME(UCombatComponent, EquippedWeapon); - DOREPLIFETIME(UCombatComponent, bAiming); -} - void UCombatComponent::EquipWeapon(AWeapon* WeaponToEquip) { if (Character == nullptr || WeaponToEquip == nullptr) return; diff --git a/Source/Blaster/Components/CombatComponent.h b/Source/Blaster/Components/CombatComponent.h index f6bec73..0be7800 100644 --- a/Source/Blaster/Components/CombatComponent.h +++ b/Source/Blaster/Components/CombatComponent.h @@ -33,6 +33,12 @@ protected: void FireButtonPressed(bool bPressed); + UFUNCTION(Server, Reliable) + void ServerFire(); + + UFUNCTION(NetMulticast, Reliable) + void MulticastFire(); + private: class ABlasterCharacter* Character;