13 #include "DomainRandomizationDNNPCH.h"
14 #include "RandomComponentBase.h"
15 #include "OrbitalMovementComponent.generated.h"
21 UCLASS(Blueprintable, ClassGroup = (NVIDIA), meta = (BlueprintSpawnableComponent), HideCategories = (Replication, ComponentReplication, Cooking, Events, ComponentTick, Actor, Input, Rendering, Collision, PhysX, Activation, Sockets))
30 AActor* GetFocalActor();
31 void SetFocalActor(AActor* NewFocalActor);
34 virtual void BeginPlay()
override;
35 virtual void TickComponent(
float DeltaTime,
enum ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction)
override;
36 virtual void OnRandomization_Implementation()
override;
38 void UpdateDistanceToTarget();
39 void OnYawRotationCompleted(
float DeltaTime);
41 void TeleportRandomly();
44 UPROPERTY(EditAnywhere, Category =
"Movement")
48 UPROPERTY(EditAnywhere, Category =
"Movement")
49 bool bTeleportRandomly;
53 UPROPERTY(EditAnywhere)
57 UPROPERTY(EditAnywhere, Category =
"Movement", meta = (EditCondition = bShouldMove))
58 AActor* FocalTargetActor;
61 UPROPERTY(EditAnywhere, Category =
"Movement", meta = (EditCondition = bShouldMove))
65 UPROPERTY(EditAnywhere, Category =
"Movement", meta = (EditCondition = bShouldMove))
66 float PitchRotationSpeed;
68 UPROPERTY(EditAnywhere, Category =
"Movement", meta = (EditCondition = bShouldMove))
69 FFloatInterval YawRotationRange;
71 UPROPERTY(EditAnywhere, Category =
"Movement", meta = (EditCondition = bShouldMove))
72 FFloatInterval PitchRotationRange;
75 UPROPERTY(EditAnywhere, Category =
"Movement", meta = (EditCondition = bShouldMove))
76 bool bRevertYawDirectionAfterEachRotation;
78 UPROPERTY(EditAnywhere, Category =
"Movement", meta = (EditCondition = bShouldMove))
79 bool bRandomizePitchAfterEachYawRotation;
82 UPROPERTY(EditAnywhere, Category =
"Movement")
83 bool bShouldChangeDistance;
86 UPROPERTY(EditAnywhere, Category =
"Movement", meta = (EditCondition = bShouldChangeDistance))
87 FFloatInterval TargetDistanceRange;
91 UPROPERTY(EditAnywhere, Category =
"Movement", meta = (EditCondition = bShouldChangeDistance))
92 float DistanceChangeSpeed;
95 UPROPERTY(EditAnywhere, Category =
"Movement", meta = (EditCondition = bShouldChangeDistance))
96 float TargetDistanceChangeDuration;
98 UPROPERTY(EditAnywhere, Category =
"Movement", meta = (EditCondition = bShouldChangeDistance))
99 bool bOnlyChangeDistanceWhenPitchChanged;
102 UPROPERTY(EditAnywhere, Category =
"Movement")
105 UPROPERTY(EditAnywhere, Category =
"Movement", meta = (EditCondition = bShouldWiggle))
110 FRotator RotationFromTarget;
112 float CurrentDistanceToTarget;
114 float DistanceToTarget;
116 float DistanceChangeCountdown;