Space Plunder
Loading...
Searching...
No Matches
GravityActor.h
Go to the documentation of this file.
1// Fill out your copyright notice in the Description page of Project Settings.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "GameFramework/Actor.h"
8#include "GravityActor.generated.h"
9
10class UBoxComponent;
11
12UCLASS()
13class SPACEADVENTURE_API AGravityActor : public AActor
14{
15 GENERATED_BODY()
16
17public:
19
20 virtual void Tick(float DeltaTime) override;
21
23 UFUNCTION()
24 virtual void ActorEnteredVolume(AActor* SelfActor, AActor* Other);
25 UFUNCTION(BlueprintImplementableEvent, Category="GravityPhysicsVolume")
26 void OnActorEnteredVolume(AActor* Other);
27
28 UFUNCTION()
30 virtual void ActorLeavingVolume(AActor* SelfActor, AActor* Other);
31 UFUNCTION(BlueprintImplementableEvent, Category="GravityPhysicsVolume")
32 void OnActorLeavingVolume(AActor* Other);
33
37 UFUNCTION(BlueprintPure,Category="GravityPhysicsVolume")
38 virtual FVector GetGravity(class USceneComponent* SceneComponent) const;
39
44 UFUNCTION(BlueprintPure,Category="GravityPhysicsVolume")
45 virtual FVector GetGravityDirection(class USceneComponent* SceneComponent) const;
46
50 UFUNCTION(BlueprintPure,Category="GravityPhysicsVolume")
51 virtual float GetGravityMagnitude(class USceneComponent* SceneComponent) const;
52
56 UFUNCTION(BlueprintPure,Category="GravityPhysicsVolume")
57 virtual float GetFinalGravityScale(class USceneComponent* SceneComponent) const;
58
62 UFUNCTION(BlueprintCallable,Category="GravityPhysicsVolume",Meta=(DisplayName="Set Fixed Gravity Direction",ScriptName="SetFixedGravityDirection"))
63 virtual void K2_SetFixedGravityDirection(const FVector& NewGravityDirection);
64
68 virtual void SetFixedGravityDirection(const FVector& NewFixedGravityDirection);
69
73 UFUNCTION(BlueprintCallable,Category="GravityPhysicsVolume")
74 virtual void SetSplineTangentGravityDirection(AActor* NewGravityActor);
75
79 UFUNCTION(BlueprintCallable,Category="GravityPhysicsVolume")
80 virtual void SetPointGravityDirection(const FVector& NewGravityPoint);
81
85 UFUNCTION(BlueprintCallable,Category="GravityPhysicsVolume")
86 virtual void SetPointGravityDirectionFromActor(AActor* NewGravityActor);
87
92 UFUNCTION(BlueprintCallable,Category="GravityPhysicsVolume")
93 virtual void SetLineGravityDirection(const FVector& NewGravityLineStart, const FVector& NewGravityLineEnd);
94
99 UFUNCTION(BlueprintCallable,Category="GravityPhysicsVolume")
100 virtual void SetSegmentGravityDirection(const FVector& NewGravitySegmentStart, const FVector& NewGravitySegmentEnd);
101
105 UFUNCTION(BlueprintCallable,Category="GravityPhysicsVolume")
106 virtual void SetSplineGravityDirection(AActor* NewGravityActor);
107
112 UFUNCTION(BlueprintCallable,Category="GravityPhysicsVolume",Meta=(DisplayName="Set Plane Gravity Direction",ScriptName="SetPlaneGravityDirection"))
113 virtual void K2_SetPlaneGravityDirection(const FVector& NewGravityPlaneBase, const FVector& NewGravityPlaneNormal);
114
119 virtual void SetPlaneGravityDirection(const FVector& NewGravityPlaneBase, const FVector& NewGravityPlaneNormal);
120
125 UFUNCTION(BlueprintCallable,Category="GravityPhysicsVolume")
126 virtual void SetSplinePlaneGravityDirection(AActor* NewGravityActor);
127
132 UFUNCTION(BlueprintCallable,Category="GravityPhysicsVolume")
133 virtual void SetBoxGravityDirection(const FVector& NewGravityBoxOrigin, const FVector& NewGravityBoxExtent);
134
138 UFUNCTION(BlueprintCallable,Category="GravityPhysicsVolume")
139 virtual void SetBoxGravityDirectionFromActor(AActor* NewGravityActor);
140
144 UFUNCTION(BlueprintCallable,Category="GravityPhysicsVolume")
145 virtual void SetCollisionGravityDirection(AActor* NewGravityActor);
146
149 UFUNCTION(BlueprintPure,Category="GravityPhysicsVolume")
150 virtual float GetGravityScale() const;
151
154 UFUNCTION(BlueprintSetter,Category="GravityPhysicsVolume")
155 virtual void SetGravityScale(const float NewGravityScale);
156
158 UPROPERTY(EditAnywhere,BlueprintReadWrite,Category="GravityPhysicsVolume")
159 FVector CharacterFallVelocity;
160
161
162#if WITH_EDITORONLY_DATA
163
164protected:
166 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="GravityPhysicsVolume")
167 TObjectPtr<class UTextRenderComponent> TextRenderComponent;
168
169 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="GravityPhysicsVolume")
170 TObjectPtr<class UBillboardComponent> PreviewIcon;
171
172public:
174 FName TextRenderComponentName = FName(TEXT("TextRenderComponent"));
175
176 FName PreviewIconComponentName = FName(TEXT("PreviewIcon"));
177
178#endif // WITH_EDITORONLY_DATA
179
180
181protected:
182 virtual void BeginPlay() override;
183
184 float GetGravityZ() const;
185
186 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="Gravity")
187 TObjectPtr<UBoxComponent> BoxComponent;
188
189
190
191
192 UPROPERTY(EditAnywhere, BlueprintReadOnly, Transient, Category="GravityPhysicsVolume")
193 bool bDebuggingMode = false;
195 UPROPERTY(VisibleInstanceOnly, BlueprintReadOnly, Transient, Category="GravityPhysicsVolume")
196 TArray<TObjectPtr<AActor>> TrackedActors;
197
199 UPROPERTY(VisibleInstanceOnly, BlueprintReadOnly, Transient, Category="GravityPhysicsVolume")
200 TArray<class IALSCharacterInterface*> TrackedCharacters;
201 // TArray<class IALSCharacterInterface> TrackedCharacters;
202 // class IALSCharacterInterface* TrackedCharacter;
203
204 // UPROPERTY(VisibleInstanceOnly,BlueprintReadOnly,Category="GravityPhysicsVolume")
205
207 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="GravityPhysicsVolume")
208 EGravityDirectionMode GravityDirectionMode;
209
211 UPROPERTY(VisibleInstanceOnly,BlueprintReadOnly,Category="GravityPhysicsVolume")
212 FVector GravityVectorA;
213
215 UPROPERTY(VisibleInstanceOnly,BlueprintReadOnly,Category="GravityPhysicsVolume")
216 FVector GravityVectorB;
217
219 UPROPERTY(VisibleInstanceOnly,BlueprintReadOnly,Category="GravityPhysicsVolume")
220 TObjectPtr<AActor> GravityActor;
221
223 UPROPERTY(EditAnywhere,BlueprintReadWrite,BlueprintSetter=SetGravityScale,Category="GravityPhysicsVolume")
224 float GravityScale;
225
226
227
228
229};
EGravityDirectionMode
Definition ALSExtraData.h:14
UCLASS(Blueprintable, BlueprintType, ClassGroup=(BucciGames), meta=(BlueprintSpawnableComponent)) class CHATSYSTEM_API UChatSystemComponent
Definition ChatSystemComponent.h:13
Definition GravityActor.h:14
Definition ALSCharacterInterface.h:24