Add Console Commands for AI Killing & Alert Level
This commit is contained in:
parent
7bf1f7b59d
commit
32a5e64d00
@ -9,7 +9,8 @@
|
||||
"Type": "Runtime",
|
||||
"LoadingPhase": "Default",
|
||||
"AdditionalDependencies": [
|
||||
"Engine"
|
||||
"Engine",
|
||||
"AIModule"
|
||||
]
|
||||
}
|
||||
],
|
||||
|
@ -3,12 +3,38 @@
|
||||
#include "EndlessVendettaGameMode.h"
|
||||
#include "EndlessVendettaCharacter.h"
|
||||
#include "UObject/ConstructorHelpers.h"
|
||||
#include "EndlessVendetta/AI/EnemyCharacter.h"
|
||||
#include "EndlessVendetta/AI/AIControlHub.h"
|
||||
#include "Kismet/GameplayStatics.h"
|
||||
#include "Engine/DamageEvents.h"
|
||||
|
||||
AEndlessVendettaGameMode::AEndlessVendettaGameMode()
|
||||
: Super()
|
||||
AEndlessVendettaGameMode::AEndlessVendettaGameMode() : Super()
|
||||
{
|
||||
// set default pawn class to our Blueprinted character
|
||||
static ConstructorHelpers::FClassFinder<APawn> PlayerPawnClassFinder(TEXT("/Game/FirstPerson/Blueprints/BP_FirstPersonCharacter"));
|
||||
DefaultPawnClass = PlayerPawnClassFinder.Class;
|
||||
|
||||
}
|
||||
|
||||
void AEndlessVendettaGameMode::KillAllEnemies()
|
||||
{
|
||||
TArray<AActor*> EnemyCharacters;
|
||||
UGameplayStatics::GetAllActorsOfClass(GetWorld(), AEnemyCharacter::StaticClass(), EnemyCharacters);
|
||||
for (AActor* EnemyActor : EnemyCharacters)
|
||||
{
|
||||
AEnemyCharacter* EnemyCharacter = Cast<AEnemyCharacter>(EnemyActor);
|
||||
EnemyCharacter->TakeDamage(EnemyCharacter->MaxHealth, FDamageEvent(), GetWorld()->GetFirstPlayerController(), GetWorld()->GetFirstPlayerController()->GetOwner());
|
||||
}
|
||||
}
|
||||
|
||||
void AEndlessVendettaGameMode::SetLocalAIAlertLevel(int NewAlertLevel)
|
||||
{
|
||||
TArray<AActor*> AIControlHubActors;
|
||||
UGameplayStatics::GetAllActorsOfClass(GetWorld(), AAIControlHub::StaticClass(), AIControlHubActors);
|
||||
for (AActor* AIControlHubActor : AIControlHubActors)
|
||||
{
|
||||
AAIControlHub* AIControlHub = Cast<AAIControlHub>(AIControlHubActor);
|
||||
AIControlHub->SetPlayerLastKnownLocation();
|
||||
AIControlHub->SetAlertLevel(NewAlertLevel);
|
||||
}
|
||||
}
|
||||
|
@ -13,7 +13,10 @@ class AEndlessVendettaGameMode : public AGameModeBase
|
||||
|
||||
public:
|
||||
AEndlessVendettaGameMode();
|
||||
|
||||
UFUNCTION(Exec, Category = ExecFunctions)
|
||||
void KillAllEnemies();
|
||||
|
||||
UFUNCTION(Exec, Category = ExecFunctions)
|
||||
void SetLocalAIAlertLevel(int NewAlertLevel);
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user