Navigation
API > API/Runtime > API/Runtime/AIModule > API/Runtime/AIModule/Navigation
Inheritance Hierarchy
- UObjectBase
- UObjectBaseUtility
- UObject
- AActor
- ANavLinkProxy
References
| Module | AIModule |
| Header | /Engine/Source/Runtime/AIModule/Classes/Navigation/NavLinkProxy.h |
| Include | #include "Navigation/NavLinkProxy.h" |
Syntax
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 | Copies navlink end points from the first entry in PointLinks array. | ||
| UNavLinkRenderingComponent * | Returns EdRenderComp subobject | ||
| UNavLinkCustomComponent * | Returns SmartLinkComp subobject | ||
| UBillboardComponent * | Returns SpriteComponent subobject | ||
| bool | Check if any agent is moving through smart link right now | ||
| bool | Check if smart link is enabled | ||
| void | NotifySmartLinkReached
(
UNavLinkCustomComponent* LinkComp, |
||
| void | OnNavAreaRegistered
(
const UWorld& World, |
||
| void | OnNavAreaUnregistered
(
const UWorld& World, |
||
| 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 |
Overridden from AActor
| Type | Name | Description | |
|---|---|---|---|
| void | BeginPlay () |
Overridable native event for when play begins for this actor. | |
| FBox | GetComponentsBoundingBox
(
bool bNonColliding, |
Returns the world space bounding box of all components in this Actor. | |
| void | Called after all the components in the Components array are registered, called both in editor and during gameplay. |
Overridden from UObject
| Type | Name | Description | |
|---|---|---|---|
| void | BeginDestroy () |
Called before destroying the object. | |
| void | PostEditChangeProperty
(
FPropertyChangedEvent& PropertyChangedEvent |
Called when a property on this object has been modified externally | |
| void | Called after importing property values for this object (paste, duplicate or .t3d import) Allow the object to perform any cleanup for properties which shouldn't be duplicated or are unsupported by the script serialization | ||
| void | PostEditUndo () |
Called after applying a transaction to the object. | |
| void | Called after the C++ constructor and after the properties have been initialized, including those loaded from config. | ||
| void | PostLoad () |
Do any object-specific cleanup required immediately after loading an object. |
Overridden from INavLinkHostInterface
| Type | Name | Description | |
|---|---|---|---|
| bool | GetNavigationLinksArray
(
TArray< FNavigationLink >& OutLink, |
Optional way of retrieving navigation link data - if INavLinkHostInterface implementer defines custom navigation links then it can just retrieve a list of links | |
| bool | GetNavigationLinksClasses
(
TArray< TSubclassOf< UNavLinkDefinition > >& OutClasses |
Retrieves UNavLinkDefinition derived UClasses hosted by this interface implementer |
Overridden from INavRelevantInterface
| Type | Name | Description | |
|---|---|---|---|
| FBox | Get bounds for navigation octree | ||
| void | GetNavigationData
(
FNavigationRelevantData& Data |
Prepare navigation modifiers | |
| bool | Are modifiers active? |