14#include "CoreMinimal.h"
15#include "TrainTriggerBox.h"
16#include "TrainSignalTriggerBox.generated.h"
36 void BeginPlay()
override;
39 void EndPlay(EEndPlayReason::Type EndPlayReason)
override;
44 void Tick(
float DeltaTime)
override;
47 void OnOverlapBegin(
class AActor* OverlappedActor,
class AActor* OtherActor)
override;
50 void OnOverlapEnd(
class AActor* OverlappedActor,
class AActor* OtherActor)
override;
54 void SendSignalToController(ESignalStatus NewSignalStatus);
57 void WaitStoppedInZone(
bool& bValid,
bool bTimerDone =
false);
60 void WaitDurationZone();
79 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Controller")
80 ETriggerSignalType SignalTrigger;
83 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Controller")
87 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Controller")
88 ESignalStatus NewSignal;
Signal trigger box class which is used to send signal updates.
Definition: TrainSignalTriggerBox.h:27
FTimerHandle WaitTimerHandle
Timer handle used to manage timers.
Definition: TrainSignalTriggerBox.h:74
Base class containing some common functionality to be extended.
Definition: TrainTriggerBox.h:54