本文整理汇总了C++中AAIController::SetFocus方法的典型用法代码示例。如果您正苦于以下问题:C++ AAIController::SetFocus方法的具体用法?C++ AAIController::SetFocus怎么用?C++ AAIController::SetFocus使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AAIController
的用法示例。
在下文中一共展示了AAIController::SetFocus方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnBecomeRelevant
void UBTService_DefaultFocus::OnBecomeRelevant(UBehaviorTreeComponent* OwnerComp, uint8* NodeMemory)
{
check(OwnerComp);
Super::OnBecomeRelevant(OwnerComp, NodeMemory);
FBTFocusMemory* MyMemory = (FBTFocusMemory*)NodeMemory;
check(MyMemory);
MyMemory->Reset();
AAIController* OwnerController = OwnerComp->GetAIOwner();
const UBlackboardComponent* MyBlackboard = OwnerComp->GetBlackboardComponent();
if (OwnerController != NULL && MyBlackboard != NULL)
{
if (BlackboardKey.SelectedKeyType == UBlackboardKeyType_Object::StaticClass())
{
UObject* KeyValue = MyBlackboard->GetValueAsObject(BlackboardKey.GetSelectedKeyID());
AActor* TargetActor = Cast<AActor>(KeyValue);
if (TargetActor)
{
OwnerController->SetFocus(TargetActor, EAIFocusPriority::Default);
MyMemory->FocusActorSet = TargetActor;
MyMemory->bActorSet = true;
}
}
else
{
const FVector FocusLocation = MyBlackboard->GetValueAsVector(BlackboardKey.GetSelectedKeyID());
OwnerController->SetFocalPoint(FocusLocation, /*bOffsetFromBase=*/false, EAIFocusPriority::Default);
MyMemory->FocusLocationSet = FocusLocation;
}
}
}