25 virtual void ActorEnteredVolume(
class AActor*
Other)
override;
28 virtual void ActorLeavingVolume(
class AActor*
Other)
override;
33 UFUNCTION(BlueprintPure,Category=
"GravityPhysicsVolume")
34 virtual FVector GetGravity(
class USceneComponent* SceneComponent)
const;
40 UFUNCTION(BlueprintPure,Category=
"GravityPhysicsVolume")
41 virtual FVector GetGravityDirection(
class USceneComponent* SceneComponent)
const;
46 UFUNCTION(BlueprintPure,Category=
"GravityPhysicsVolume")
47 virtual float GetGravityMagnitude(
class USceneComponent* SceneComponent)
const;
52 UFUNCTION(BlueprintPure,Category=
"GravityPhysicsVolume")
53 virtual float GetFinalGravityScale(
class USceneComponent* SceneComponent)
const;
58 UFUNCTION(BlueprintCallable,Category=
"GravityPhysicsVolume",Meta=(DisplayName=
"Set Fixed Gravity Direction",ScriptName=
"SetFixedGravityDirection"))
59 virtual void K2_SetFixedGravityDirection(
const FVector& NewGravityDirection);
64 virtual void SetFixedGravityDirection(
const FVector& NewFixedGravityDirection);
69 UFUNCTION(BlueprintCallable,Category=
"GravityPhysicsVolume")
70 virtual void SetSplineTangentGravityDirection(AActor* NewGravityActor);
75 UFUNCTION(BlueprintCallable,Category=
"GravityPhysicsVolume")
76 virtual void SetPointGravityDirection(
const FVector& NewGravityPoint);
81 UFUNCTION(BlueprintCallable,Category=
"GravityPhysicsVolume")
82 virtual void SetPointGravityDirectionFromActor(AActor* NewGravityActor);
88 UFUNCTION(BlueprintCallable,Category=
"GravityPhysicsVolume")
89 virtual void SetLineGravityDirection(
const FVector& NewGravityLineStart,
const FVector& NewGravityLineEnd);
95 UFUNCTION(BlueprintCallable,Category=
"GravityPhysicsVolume")
96 virtual void SetSegmentGravityDirection(
const FVector& NewGravitySegmentStart,
const FVector& NewGravitySegmentEnd);
101 UFUNCTION(BlueprintCallable,Category=
"GravityPhysicsVolume")
102 virtual void SetSplineGravityDirection(AActor* NewGravityActor);
108 UFUNCTION(BlueprintCallable,Category=
"GravityPhysicsVolume",Meta=(DisplayName=
"Set Plane Gravity Direction",ScriptName=
"SetPlaneGravityDirection"))
109 virtual void K2_SetPlaneGravityDirection(
const FVector& NewGravityPlaneBase,
const FVector& NewGravityPlaneNormal);
115 virtual void SetPlaneGravityDirection(
const FVector& NewGravityPlaneBase,
const FVector& NewGravityPlaneNormal);
121 UFUNCTION(BlueprintCallable,Category=
"GravityPhysicsVolume")
122 virtual void SetSplinePlaneGravityDirection(AActor* NewGravityActor);
128 UFUNCTION(BlueprintCallable,Category=
"GravityPhysicsVolume")
129 virtual void SetBoxGravityDirection(
const FVector& NewGravityBoxOrigin,
const FVector& NewGravityBoxExtent);
134 UFUNCTION(BlueprintCallable,Category=
"GravityPhysicsVolume")
135 virtual void SetBoxGravityDirectionFromActor(AActor* NewGravityActor);
140 UFUNCTION(BlueprintCallable,Category=
"GravityPhysicsVolume")
141 virtual void SetCollisionGravityDirection(AActor* NewGravityActor);
145 UFUNCTION(BlueprintPure,Category=
"GravityPhysicsVolume")
146 virtual float GetGravityScale()
const;
150 UFUNCTION(BlueprintSetter,Category=
"GravityPhysicsVolume")
151 virtual void SetGravityScale(
const float NewGravityScale);
154 UPROPERTY(EditAnywhere,BlueprintReadWrite,Category=
"GravityPhysicsVolume")
155 FVector CharacterFallVelocity;
158#if WITH_EDITORONLY_DATA
161 UPROPERTY(VisibleAnywhere,BlueprintReadOnly,Category=
"GravityPhysicsVolume")
162 TObjectPtr<class UTextRenderComponent> TextRenderComponent;
166 FName TextRenderComponentName = FName(TEXT("TextRenderComponent"));
171 virtual void BeginPlay()
override;
172 virtual void Tick(
float DeltaTime)
override;
174 UPROPERTY(EditAnywhere, BlueprintReadOnly, Transient, Category=
"GravityPhysicsVolume")
175 bool bDebuggingMode = false;
177 UPROPERTY(VisibleInstanceOnly, BlueprintReadOnly, Transient, Category="GravityPhysicsVolume")
178 TArray<TObjectPtr<AActor>> TrackedActors;
181 UPROPERTY(VisibleInstanceOnly, BlueprintReadOnly, Transient, Category="GravityPhysicsVolume")
187 UPROPERTY(VisibleInstanceOnly,BlueprintReadOnly,Category="GravityPhysicsVolume")
191 UPROPERTY(VisibleInstanceOnly,BlueprintReadOnly,Category="GravityPhysicsVolume")
192 FVector GravityVectorA;
195 UPROPERTY(VisibleInstanceOnly,BlueprintReadOnly,Category="GravityPhysicsVolume")
196 FVector GravityVectorB;
199 UPROPERTY(VisibleInstanceOnly,BlueprintReadOnly,Category="GravityPhysicsVolume")
200 TObjectPtr<AActor> GravityActor;
203 UPROPERTY(EditAnywhere,BlueprintReadWrite,BlueprintSetter=SetGravityScale,Category="GravityPhysicsVolume")