5#include "CoreMinimal.h"
8#include "WeaponInstancePowerSword.generated.h"
19 GENERATED_UCLASS_BODY()
22 virtual bool CanFire(
EWeaponError& ErrorMessage, uint8
Mode = 0)
const override;
23 virtual bool Fire(uint8
Mode = 0,
float WorldTimeOverride = -1.f)
override;
24 virtual void FireReleased(uint8
Mode )
override;
25 virtual bool UnEquip(
bool bForce =
false)
override;
26 virtual void BeginPlay()
override;
27 virtual void FireComplete(uint8
Mode = 0)
override;
30 UFUNCTION(BlueprintImplementableEvent)
31 int32 GetAnimState() const;
34 virtual
void TickComponent(
float DeltaTime, enum ELevelTick TickType, FActorComponentTickFunction *ThisTickFunction);
41 UPROPERTY(BlueprintReadOnly, Category = "Melee
Weapon")
42 float MeleeRange = 10000.0f;
44 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Melee
Weapon")
45 FVector MeleeExtents = FVector(1750.f, 120.f, 120.f);
47 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Melee
Weapon")
48 float ReflectionAngle = 90.0f;
50 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Melee
Weapon")
51 float ReflectionStanceStaminaCost = 10.0f;
53 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Melee
Weapon")
54 float ReflectionStanceStaminaCostPerSecond = 2.0f;
56 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Melee
Weapon")
57 TArray<UAnimMontage*> ReflectMontages1P;
59 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Melee
Weapon")
60 TArray<UAnimMontage*> ReflectMontages3P;
62 UFUNCTION(NetMulticast, Unreliable)
63 void Multicast_BlockEffect();
64 UFUNCTION(
Server, Reliable)
65 void Server_ToggleReflection(
bool bToggle);
67 UPROPERTY(BlueprintAssignable)
68 FToggleSignature OnReflectionToggled;
69 UPROPERTY(BlueprintAssignable)
70 FToggleSignature OnTargetInSwordRange;
74 UPROPERTY(ReplicatedUsing="OnRep_ReflectionActive")
75 bool bReflectionModeActive = false;
77 uint8 AnimCounter = 0;
78 float ReflectionAngleCos = 0.0f;
79 FTimerHandle StaminaDrainTimerHandle;
81 void TickReflection();
82 bool IsWithinConeAngle(const FVector& HitLocation) const;
85 void OnRep_ReflectionActive();
EWeaponError
Definition: WeaponComponent.h:15
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FToggleSignature, bool, bToggle)
Definition: Projectile.h:18
Definition: ProjectileReflectionInterface.h:16
Definition: WeaponInstanceMelee.h:41
Definition: WeaponInstancePowerSword.h:18
Definition: WeaponInstanceRanged.h:27