Simplify moving to player character

This commit is contained in:
baz 2024-11-25 02:13:47 +00:00
parent e07abfbcfc
commit 3e14d6f6e3
2 changed files with 10 additions and 5 deletions

View File

@ -36,11 +36,9 @@ void AVampireAIController::Tick(float DeltaTime)
{
Super::Tick(DeltaTime);
if (AVampireCharacter* Player = Cast<AVampireCharacter>(UGameplayStatics::GetPlayerCharacter(GetWorld(), 0)))
if (PlayerCharacter)
{
Blackboard->SetValueAsObject("Player", Player);
auto location = Player->GetActorLocation();
Blackboard->SetValueAsVector("PlayerLocation", location);
Blackboard->SetValueAsVector("PlayerLocation", PlayerCharacter->GetActorLocation());
}
}
@ -54,11 +52,18 @@ void AVampireAIController::OnPossess(APawn* InPawn)
EnemyCharacter->GetHealthComponent()->OnDamaged.AddDynamic(this, &AVampireAIController::OnDamaged);
EnemyCharacter->GetHealthComponent()->OnDeath.AddDynamic(this, &AVampireAIController::OnDeath);
PlayerCharacter = UGameplayStatics::GetPlayerCharacter(GetWorld(), 0);
if (UBehaviorTree* bt = EnemyCharacter->GetBehaviorTree())
{
Blackboard->InitializeBlackboard(*bt->BlackboardAsset);
BehaviorTree->StartTree(*bt);
Blackboard->SetValueAsObject("SelfActor", EnemyCharacter);
if (PlayerCharacter)
{
Blackboard->SetValueAsObject("Player", PlayerCharacter);
}
}
}

View File

@ -22,7 +22,7 @@ class VAMPIRES_API AVampireAIController : public AAIController
UBehaviorTreeComponent* BehaviorTree;
APlayerCharacter* PlayerCharacter;
ACharacter* PlayerCharacter;
AEnemyCharacter* EnemyCharacter;