Add Console Commands for AI Killing & Alert Level
This commit is contained in:
parent
7bf1f7b59d
commit
32a5e64d00
@ -9,7 +9,8 @@
|
|||||||
"Type": "Runtime",
|
"Type": "Runtime",
|
||||||
"LoadingPhase": "Default",
|
"LoadingPhase": "Default",
|
||||||
"AdditionalDependencies": [
|
"AdditionalDependencies": [
|
||||||
"Engine"
|
"Engine",
|
||||||
|
"AIModule"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -3,12 +3,38 @@
|
|||||||
#include "EndlessVendettaGameMode.h"
|
#include "EndlessVendettaGameMode.h"
|
||||||
#include "EndlessVendettaCharacter.h"
|
#include "EndlessVendettaCharacter.h"
|
||||||
#include "UObject/ConstructorHelpers.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()
|
AEndlessVendettaGameMode::AEndlessVendettaGameMode() : Super()
|
||||||
: Super()
|
|
||||||
{
|
{
|
||||||
// set default pawn class to our Blueprinted character
|
// set default pawn class to our Blueprinted character
|
||||||
static ConstructorHelpers::FClassFinder<APawn> PlayerPawnClassFinder(TEXT("/Game/FirstPerson/Blueprints/BP_FirstPersonCharacter"));
|
static ConstructorHelpers::FClassFinder<APawn> PlayerPawnClassFinder(TEXT("/Game/FirstPerson/Blueprints/BP_FirstPersonCharacter"));
|
||||||
DefaultPawnClass = PlayerPawnClassFinder.Class;
|
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:
|
public:
|
||||||
AEndlessVendettaGameMode();
|
AEndlessVendettaGameMode();
|
||||||
|
|
||||||
|
UFUNCTION(Exec, Category = ExecFunctions)
|
||||||
|
void KillAllEnemies();
|
||||||
|
|
||||||
|
UFUNCTION(Exec, Category = ExecFunctions)
|
||||||
|
void SetLocalAIAlertLevel(int NewAlertLevel);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user