5#include "CoreMinimal.h"
7#include "DeployableScoutingDrone.generated.h"
9class USpottingComponent;
10class UProjectileMovementComponent;
17 virtual void EndPlay(
const EEndPlayReason::Type EndPlayReason)
override;
20 virtual void BeginPlay()
override;
23 void OnDroneMovementStopped(
const FHitResult& ImpactResult);
25 void OnDroneSpotted();
28 void OnDroneScanningStop();
30 UFUNCTION(BlueprintImplementableEvent, Category=
"Spot Events")
32 UFUNCTION(BlueprintImplementableEvent, Category = "Spot Events")
37 UPROPERTY(EditDefaultsOnly, Category= "Scouting Drone")
38 float ScanningTime = 1.f;
39 UPROPERTY(EditDefaultsOnly, Category = "Scouting Drone", meta = (EditCondition = "bScanWhenTargetMet"))
40 float TimeBeforeDyingOnTargetMet = 4.f;
43 UPROPERTY(EditDefaultsOnly, Category = "Scouting Drone")
44 bool bScanWhenTargetMet = true;
46 UPROPERTY(EditDefaultsOnly, Category = "Scouting Drone", meta = (EditCondition = "bScanWhenTargetMet"))
47 float FinalScanRange = 10000.f;
49 UPROPERTY(EditDefaultsOnly, Category = "Scouting Drone", meta = (EditCondition = "bScanWhenTargetMet"))
50 bool bFinalScanRevealsInvisibleTargets = true;
51 UPROPERTY(EditDefaultsOnly, Category = "Scouting Drone", meta = (EditCondition = "bScanWhenTargetMet"))
52 bool bFinalScanIgnoresObstacles = true;
55 USpottingComponent* SpottingComponent =
nullptr;
56 UProjectileMovementComponent* ProjectileMovementComponent =
nullptr;
58 FVector DroneVelocityAtSpot = FVector::ZeroVector;
59 FTimerHandle ScanningTimer;
Definition: Deployable.h:47
Definition: DeployableScoutingDrone.h:14