13 #include "DomainRandomizationDNNPCH.h"
14 #include "GameFramework/Actor.h"
15 #include "Components/ActorComponent.h"
16 #include "RandomComponentBase.generated.h"
18 UCLASS(Blueprintable, Abstract, HideCategories = (Replication, ComponentReplication, Cooking, Events, ComponentTick, Actor, Input, Rendering, Collision, PhysX, Activation, Sockets, Tags))
26 bool ShouldRandomize()
const;
28 void StartRandomizing();
29 void StopRandomizing();
32 virtual void PostLoad()
override;
33 virtual void TickComponent(
float DeltaTime,
enum ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction)
override;
34 virtual void BeginPlay()
override;
35 virtual void EndPlay(
const EEndPlayReason::Type EndPlayReason)
override;
37 UFUNCTION(BlueprintNativeEvent, Category = Randomization)
38 void OnRandomization();
39 virtual void OnRandomization_Implementation();
41 virtual void OnFinishedRandomization();
44 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = Randomization)
45 bool bShouldRandomize;
52 FFloatRange RandomizationDurationRange;
58 UPROPERTY(EditAnywhere, Category = Randomization, meta = (EditCondition = bShouldRandomize))
59 FFloatInterval RandomizationDurationInterval;
62 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Randomization)
63 bool bOnlyRandomizeOnce;
67 float CountdownUntilNextRandomization;
69 bool bAlreadyRandomized;
72 void UpdateRandomization();