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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user