5#include "CoreMinimal.h"
8#include "DeployableStasisTrap.generated.h"
10class UAfflictionInstance;
15 GENERATED_UCLASS_BODY()
18 virtual void DeployComplete()
override;
20 UFUNCTION(BlueprintCallable,BlueprintPure)
21 FORCEINLINE
float GetGatheringDuration()
const {
return GatherDuration; }
22 virtual bool CanOwningWeaponInstanceFire()
const override;
24 virtual void BeginPlay()
override;
25 virtual void EndPlay(
const EEndPlayReason::Type EndPlayReason)
override;
26 virtual void RaiseCharacters();
27 virtual void ApplyStasisAffliction();
28 virtual void StartStasis();
31 virtual
void OnComponentHit(UPrimitiveComponent* HitComponent, AActor* OtherActor, UPrimitiveComponent* OtherComp, FVector NormalImpulse, const FHitResult&
Hit);
33 virtual
void OnComponentOverlap(UPrimitiveComponent* OverlappedComponent, AActor* OtherActor, UPrimitiveComponent* OtherComp, int32 OtherBodyIndex,
bool bFromSweep, const FHitResult & SweepResult);
35 UFUNCTION(
Server, Reliable, WithValidation)
36 void Server_TriggerTrap();
38 UFUNCTION(BlueprintCallable)
39 virtual
void TriggerTrap();
42 virtual
void OnOverlap(AActor* OverlappedActor, AActor* OtherActor);
45 virtual
void OnOverlapEnd(AActor* OverlappedActor, AActor* OtherActor);
48 UPROPERTY(EditDefaultsOnly,Category = StasisTrap)
49 float MaxHeight = 0.0f;
52 UPROPERTY(EditDefaultsOnly,Category = StasisTrap)
53 float RisingForce = 0.0f;
56 UPROPERTY(EditDefaultsOnly, Category = StasisTrap)
57 float GatherDuration = 0.0f;
60 UPROPERTY(EditDefaultsOnly, Category = StasisTrap)
61 float RaiseDuration = 0.0f;
64 UPROPERTY(EditDefaultsOnly, Category = StasisTrap)
65 float AffectDuration = 0.0f;
67 UPROPERTY(EditDefaultsOnly, Category = StasisTrap)
68 TSubclassOf<UAfflictionInstance> StasisAffliction;
71 UPROPERTY(EditDefaultsOnly, Category = StasisTrap)
74 bool bGathering = false;
76 FTimerHandle GatherTimerHandle;
77 FTimerHandle StasisTimerHandle;
79 int32 RaiseInterpolaterID = 0;
83 UPROPERTY(EditDefaultsOnly,Category = StasisTrap)
84 UStaticMeshComponent* RootMeshComponent;
Definition: Deployable.h:47
Definition: DeployableStasisTrap.h:14
Definition: ProjectXCharacter.h:128
Definition: WeaponInstance.h:220