5#include "CoreMinimal.h"
6#include "UObject/Interface.h"
7#include "SpawnTargetInterface.generated.h"
11UINTERFACE(meta=(CannotImplementInterfaceInBlueprint))
14 GENERATED_UINTERFACE_BODY()
19 GENERATED_IINTERFACE_BODY()
22 virtual void RegisterActorForScoring();
23 virtual void DeRegisterActorForScoring();
25 UFUNCTION(BlueprintCallable, Category = SpawnTargetInterface)
29 UFUNCTION(BlueprintCallable, Category = SpawnTargetInterface)
30 virtual
bool GetSpawnLocation(
AProjectXPlayerState* Instigator, FTransform& Transform)
const {
return false; }
32 UFUNCTION(BlueprintCallable, Category = SpawnTargetInterface)
33 virtual
float GetSpawnScoreForInstigator(const AActor* const QueryInstigator, FVector& TargetLocation,
bool bUseDistanceToTargetLocation = false)
const {
return 0.f; }
34 UFUNCTION(BlueprintCallable, Category = SpawnTargetInterface)
35 virtual
bool GetCanSpawnOnCombatTarget()
const {
return false; }
37 static const void GetAverageEnemyTeamLocation(
const UObject* Caller, TArray<AActor*>& AvailableSpawnPoints, FVector& AverageEnemyLocation);
38 static AActor* GetFurthestLocationFromOtherPlayers(
const UObject* Caller, TArray<AActor*>& AvailableSpawnPoints);
39 static AActor* GetRandomSafeSpawnLocation(
const UObject* Caller, TArray<AActor*>& AvailableSpawnPoints,
float MaximumSpawnDistance,
float MinimumSpawnDistance);
Definition: ProjectXPlayerState.h:238
Definition: SpawnTargetInterface.h:18
virtual bool ShouldRegisterForScoringOnStart() const
Definition: SpawnTargetInterface.h:40
virtual void UpdateCanSpawnOnCombatTarget(bool bNewInCombatSpawnTarget)
Definition: SpawnTargetInterface.h:36
Definition: SpawnTargetInterface.h:13