5#include "CoreMinimal.h"
7#include "MapBoundsModifier.generated.h"
20 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Interpolation)
21 FVector Scale = FVector(0.0f, 0.0f, 0.0f);
23 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Interpolation)
26 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Interpolation)
29 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Interpolation)
30 bool bPickRandomMoveLocationWithinBounds;
40 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = MapBounds)
43 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = MapBounds, meta = (ClampMin = 0.05, ClampMax = 10.0))
44 float DamageCharactersInterval = 1.0f;
46 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = MapBounds)
47 float DamageCharactersAmount = 1.0f;
49 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = MapBounds)
50 class ATriggerBox* RandomConvergenceRegion;
52 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = MapBounds)
56 UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = MapBounds)
57 class UBoxComponent* BoxComponent;
59 UPROPERTY(BlueprintAssignable, Category = Events)
60 FCharacterCrossBoundsSignature OnCharacterOutsideBounds;
61 UPROPERTY(BlueprintAssignable, Category = Events)
62 FCharacterCrossBoundsSignature OnCharacterInsideBounds;
63 UPROPERTY(BlueprintAssignable, Category = Events)
64 FBoundsChangingSignature OnBoundsChangeStart;
65 UPROPERTY(BlueprintAssignable, Category = Events)
66 FBoundsChangingSignature OnBoundsChangeComplete;
69 virtual
void EndPlay(const EEndPlayReason::Type EndPlayReason);
71 virtual
void Tick(
float DeltaSeconds) override;
74 uint32 MovementInterpolationID = INDEX_NONE;
75 uint32 ScaleInterpolationID = INDEX_NONE;
76 int32 CurrentInterpolationIndex = 0;
77 FVector OriginalObjectScale;
78 FVector OriginalObjectPosition;
83 FVector GetRandomPointInActorBounds(const AActor* Actor =
nullptr) const;
90 UFUNCTION(NetMulticast, Reliable)
91 void Multicast_Move(const FVector_NetQuantize& MoveLocation, const uint8 InCurrentInterpolationIndex);
92 UFUNCTION(NetMulticast, Unreliable)
93 void Multicast_NetCorrectInterpolation(const uint8 Stage, const
float MovementTimeElapsed, const
float ScaleTimeElapsed);
94 UFUNCTION(NetMulticast, Unreliable)
95 void Multicast_DebugNetCorrections(const FVector_NetQuantize& Origin, const FVector_NetQuantize& BoxExtent);
DECLARE_DYNAMIC_MULTICAST_DELEGATE(FBoundsChangingSignature)
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FCharacterCrossBoundsSignature, AProjectXCharacter *, Character)
Definition: MapBoundsModifier.h:35
Definition: ProjectXCharacter.h:128
virtual void BeginPlay() override
Definition: ProjectXCharacter.cpp:179
virtual void EndPlay(const EEndPlayReason::Type EndPlayReason) override
Definition: ProjectXCharacter.cpp:1207
Definition: ReactsToMatchEvents.h:16
virtual void MatchStarted()
Definition: ReactsToMatchEvents.cpp:11
Definition: MapBoundsModifier.h:16