5#include "CoreMinimal.h"
7#include "WeaponInstanceMelee.generated.h"
22 GENERATED_USTRUCT_BODY()
25 FVector Location = FVector(0);
27 FRotator Rotation = FRotator(0);
33 FVector Extent = FVector(0);
42 GENERATED_UCLASS_BODY()
45 virtual void BeginPlay()
override;
47 virtual bool HasEnoughAmmo(
float Amount, uint8
Mode = 0)
const override;
48 virtual bool ConsumeAmmo(
float Amount, uint8
Mode = 0)
override;
49 virtual void FireComplete(uint8
Mode = 0)
override;
50 virtual bool CanReload(
EWeaponError& ErrorMessage)
const override;
51 virtual bool Reload(
float WorldTimeOverride)
override;
52 virtual void NotifyMeleeHitbox(
const FHitBoxInfo& HitBox);
56 UPROPERTY(EditDefaultsOnly, Category =
"Melee Weapon")
60 UFUNCTION(
Server, Reliable, WithValidation)
61 virtual
void Server_Reliable_NotifyHitActors(const TArray<FHitResult>& HitList);
63 UFUNCTION(Client, Unreliable)
64 virtual
void Client_Unreliable_UpdateMagazineAmmo(
float MagAmmo);
66 UFUNCTION(NetMulticast, Unreliable)
67 virtual
void Multicast_Unreliable_SpawnImpactEffect(const FHitResult&
Hit);
69 virtual
void DamageActor(const FHitResult& HitResult);
70 virtual UPhysicalMaterial* GetPhysicalMaterial(const AActor* Actor) const;
73 TArray<AActor*> ClientHitBoxIgnoreList;
76 TArray<AActor*> ServerHitBoxIgnoreList;
78 UPROPERTY(EditDefaultsOnly, Category = "Melee
Weapon")
79 float AmmoRegenRate = 100.f;
82 UPROPERTY(EditDefaultsOnly, Category = "Melee
Weapon")
83 class UDataTable* ImpactEffectTable = NULL;
86 UPROPERTY(EditDefaultsOnly, Category = "Melee
Weapon")
87 class UPhysicalMaterial* PlayerPhysicalMaterial = NULL;
90 UPROPERTY(EditDefaultsOnly, Category = "Melee
Weapon")
91 class UPhysicalMaterial* DeployablePhysicalMaterial = NULL;
94 bool bFireValidated = false;
96 bool bDashValidated = false;
99 int32 CachedFireMode = 0;
EWeaponError
Definition: WeaponComponent.h:15
EHitBoxShape
Definition: WeaponInstanceMelee.h:13
Definition: WeaponInstance.h:220
Definition: WeaponInstanceMelee.h:41
FORCEINLINE class UDataTable * GetImpactEffectTable() const
Definition: WeaponInstanceMelee.h:54
Definition: WeaponInstanceMelee.h:21