Navigation
API > API/Runtime > API/Runtime/AIModule > API/Runtime/AIModule/Navigation
Inheritance Hierarchy
- AActor
- INavLinkHostInterface
- INavRelevantInterface
- ANavLinkProxy
References
| Module | AIModule |
| Header | /Engine/Source/Runtime/AIModule/Classes/Navigation/NavLinkProxy.h |
| Include | #include "Navigation/NavLinkProxy.h" |
Syntax
UCLASS (Blueprintable, AutoCollapseCategories=(SmartLink, Actor), HideCategories=(Input),
MinimalAPI)
class ANavLinkProxy :
public AActor,
public INavLinkHostInterface,
public INavRelevantInterface
Remarks
ANavLinkProxy connects areas of Navmesh that don't have a direct navigation path. It directly supports Simple Links (see PointLinks array). There can be multiple Simple links per ANavLinkProxy instance. Simple links are designed to statically link areas of Navmesh and are associated with a particular area class that the link provides. Smart Link functionality is provided via UNavLinkCustomComponent, see SmartLinkComp. They are designed to be able to be dynamically toggled between enabled and disabled and provide different area classes for both cases. The area classes can be dynamically modified without navmesh rebuilds. There can only be at most one smart link per ANavLinkProxy instance. Both simple and smart links on a single ANavLinkProxy instance, can be set / enabled at once, as well as either or neither of them.
Variables
| Type | Name | Description | |
|---|---|---|---|
| bool | bSmartLinkIsRelevant | Smart link: toggle relevancy | |
| FDelegateHandle | OnNavAreaRegisteredDelegateHandle | ||
| FDelegateHandle | OnNavAreaUnregisteredDelegateHandle | ||
| FSmartLinkReachedSignature | OnSmartLinkReached | ||
| TArray< FNavigationLink > | PointLinks | Navigation links (point to point) added to navigation data | |
| TArray< FNavigationSegmentLink > | SegmentLinks | Navigation links (segment to segment) added to navigation data |
Constructors
| Type | Name | Description | |
|---|---|---|---|
ANavLinkProxy
(
const FObjectInitializer& ObjectInitializer |
Functions
| Type | Name | Description | |
|---|---|---|---|
| void | BeginDestroy () |
||
| void | BeginPlay () |
||
| void | Copies navlink end points from the first entry in PointLinks array. | ||
| FBox | GetComponentsBoundingBox
(
bool bNonColliding, |
||
| UNavLinkRenderingComponent * | Returns EdRenderComp subobject | ||
| FBox | |||
| void | GetNavigationData
(
FNavigationRelevantData& Data |
||
| bool | GetNavigationLinksArray
(
TArray< FNavigationLink >& OutLink, |
||
| bool | GetNavigationLinksClasses
(
TArray< TSubclassOf< UNavLinkDefinition > >& OutClasses |
||
| UNavLinkCustomComponent * | Returns SmartLinkComp subobject | ||
| UBillboardComponent * | Returns SpriteComponent subobject | ||
| bool | Check if any agent is moving through smart link right now | ||
| bool | |||
| bool | Check if smart link is enabled | ||
| void | NotifySmartLinkReached
(
UNavLinkCustomComponent* LinkComp, |
||
| void | OnNavAreaRegistered
(
const UWorld& World, |
||
| void | OnNavAreaUnregistered
(
const UWorld& World, |
||
| void | PostEditChangeProperty
(
FPropertyChangedEvent& PropertyChangedEvent |
||
| void | |||
| void | PostEditUndo () |
||
| void | |||
| void | PostLoad () |
||
| void | |||
| void | ReceiveSmartLinkReached
(
AActor* Agent, |
Called when agent reaches smart link during path following, use ResumePathFollowing() to give control back | |
| void | ResumePathFollowing
(
AActor* Agent |
Resume normal path following | |
| void | SetSmartLinkEnabled
(
bool bEnabled |
Change state of smart link |