5#include "CoreMinimal.h"
6#include "GameFramework/Actor.h"
9#include "ProjectXAISpawner.generated.h"
21 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Spawn Config", meta=(EditCondition =
"!bExecuteImmediately"))
22 bool bExecuteOnMatchStart = true;
24 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Spawn Config")
25 bool bExecuteImmediately = false;
27 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Spawn Config")
30 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Spawn Config")
33 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Spawn Config")
34 float SpawnDelay = 0.0f;
36 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Spawn Config")
37 float LifeTime = -1.0f;
39 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Spawn Config")
42 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Spawn Config", meta = (EditCondition = "bRespawn"))
43 float RespawnTime = 60.0f;
45 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Spawn Config")
46 int32 RequiredPlayerCount = INDEX_NONE;
48 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Spawn Config")
49 bool bAutoDestroy = true;
51 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Spawn Config")
52 bool bDespawnAIWhenStopSpawningCalled = false;
54 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Spawn Config")
55 TMap<int32,
float> PlayerCountHealthMultipliers;
59 FTimerHandle AIRespawnTimer;
63 UFUNCTION(BlueprintImplementableEvent)
66 virtual
void BeginSpawning_Implementation() override;
67 virtual
void StopSpawning_Implementation() override;
68 virtual
bool ImplementsSpawnCompleteCallback() const override;
69 virtual
void Despawn();
70 virtual
void Cleanup();
72 FORCEINLINE
bool ShouldDestroySpawnerOnceComplete()
const {
return bAutoDestroy && LifeTime == -1.0f && !bRespawn; }
74 virtual void BeginPlay()
override;
75 virtual void EndPlay(
const EEndPlayReason::Type EndPlayReason)
override;
76 virtual void MatchStarted()
override;
77 virtual void HandleSpawn();
80 virtual
void OnAIDeath(AActor* Victim, const
float Damage, struct FDamageEvent const& DamageEvent, const AController* EventInstigator, const AActor* DamageCauser, const class APlayerState* InstigatorPlayerState);
Definition: ProjectXAISpawner.h:16
Definition: ProjectXCharacter.h:128
Definition: ReactsToMatchEvents.h:16
Definition: SpawnInterface.h:24