// deprecated bool AAIController::PreparePathfinding(FPathFindingQuery& Query, const FVector& Dest, AActor* Goal, bool bUsePathfinding, TSubclassOf<class UNavigationQueryFilter> FilterClass) { if (Goal) { FAIMoveRequest MoveReq(Goal); MoveReq.SetUsePathfinding(bUsePathfinding); MoveReq.SetNavigationFilter(FilterClass); return PreparePathfinding(MoveReq, Query); } FAIMoveRequest MoveReq(Dest); MoveReq.SetUsePathfinding(bUsePathfinding); MoveReq.SetNavigationFilter(FilterClass); return PreparePathfinding(MoveReq, Query); }
// deprecated FAIRequestID AAIController::RequestPathAndMove(FPathFindingQuery& Query, AActor* Goal, float AcceptanceRadius, bool bStopOnOverlap, FCustomMoveSharedPtr CustomData) { FAIMoveRequest MoveReq(Goal); MoveReq.SetAcceptanceRadius(AcceptanceRadius); MoveReq.SetStopOnOverlap(bStopOnOverlap); MoveReq.SetUserData(CustomData); return RequestPathAndMove(MoveReq, Query); }
// deprecated FAIRequestID AAIController::RequestMove(FNavPathSharedPtr Path, AActor* Goal, float AcceptanceRadius, bool bStopOnOverlap, FCustomMoveSharedPtr CustomData) { FAIMoveRequest MoveReq(Goal); MoveReq.SetAcceptanceRadius(AcceptanceRadius); MoveReq.SetStopOnOverlap(bStopOnOverlap); MoveReq.SetUserData(CustomData); return RequestMove(MoveReq, Path); }
EPathFollowingRequestResult::Type AAIController::MoveToActor(AActor* Goal, float AcceptanceRadius, bool bStopOnOverlap, bool bUsePathfinding, bool bCanStrafe, TSubclassOf<UNavigationQueryFilter> FilterClass, bool bAllowPartialPaths) { FAIMoveRequest MoveReq(Goal); MoveReq.SetUsePathfinding(bUsePathfinding); MoveReq.SetAllowPartialPath(bAllowPartialPaths); MoveReq.SetNavigationFilter(FilterClass); MoveReq.SetAcceptanceRadius(AcceptanceRadius); MoveReq.SetStopOnOverlap(bStopOnOverlap); MoveReq.SetCanStrafe(bCanStrafe); return MoveTo(MoveReq); }
EPathFollowingRequestResult::Type AAIController::MoveToLocation(const FVector& Dest, float AcceptanceRadius, bool bStopOnOverlap, bool bUsePathfinding, bool bProjectDestinationToNavigation, bool bCanStrafe, TSubclassOf<UNavigationQueryFilter> FilterClass, bool bAllowPartialPaths) { FAIMoveRequest MoveReq(Dest); MoveReq.SetUsePathfinding(bUsePathfinding); MoveReq.SetAllowPartialPath(bAllowPartialPaths); MoveReq.SetProjectGoalLocation(bProjectDestinationToNavigation); MoveReq.SetNavigationFilter(FilterClass); MoveReq.SetAcceptanceRadius(AcceptanceRadius); MoveReq.SetStopOnOverlap(bStopOnOverlap); MoveReq.SetCanStrafe(bCanStrafe); return MoveTo(MoveReq); }
EPathFollowingRequestResult::Type AAIController::MoveToActor(AActor* Goal, float AcceptanceRadius, bool bStopOnOverlap, bool bUsePathfinding, bool bCanStrafe, TSubclassOf<UNavigationQueryFilter> FilterClass, bool bAllowPartialPaths) { // abort active movement to keep only one request running if (PathFollowingComponent && PathFollowingComponent->GetStatus() != EPathFollowingStatus::Idle) { PathFollowingComponent->AbortMove(*this, FPathFollowingResultFlags::ForcedScript | FPathFollowingResultFlags::NewRequest , FAIRequestID::CurrentRequest, EPathFollowingVelocityMode::Keep); } FAIMoveRequest MoveReq(Goal); MoveReq.SetUsePathfinding(bUsePathfinding); MoveReq.SetAllowPartialPath(bAllowPartialPaths); MoveReq.SetNavigationFilter(*FilterClass ? FilterClass : DefaultNavigationFilterClass); MoveReq.SetAcceptanceRadius(AcceptanceRadius); MoveReq.SetReachTestIncludesAgentRadius(bStopOnOverlap); MoveReq.SetCanStrafe(bCanStrafe); return MoveTo(MoveReq); }