UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
NavLinkProxy.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
9#include "EngineDefines.h"
13#include "NavLinkProxy.generated.h"
14
20
22
33UCLASS(Blueprintable, autoCollapseCategories=(SmartLink, Actor), hideCategories=(Input), MinimalAPI)
35{
37
38
39 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category=SimpleLink)
41
44 UPROPERTY()
45 TArray<FNavigationSegmentLink> SegmentLinks;
46
49 UPROPERTY(VisibleAnywhere, Category=SmartLink)
51public:
52
54 UPROPERTY(EditAnywhere, Category=SmartLink)
56
57#if WITH_EDITORONLY_DATA
58private:
60 UPROPERTY()
62
63 UPROPERTY()
64 TObjectPtr<UBillboardComponent> SpriteComponent;
65public:
66#endif // WITH_EDITORONLY_DATA
67
68 // BEGIN INavRelevantInterface
69 AIMODULE_API virtual void GetNavigationData(FNavigationRelevantData& Data) const override;
70 AIMODULE_API virtual FBox GetNavigationBounds() const override;
71 AIMODULE_API virtual bool IsNavigationRelevant() const override;
72 // END INavRelevantInterface
73
74 // BEGIN INavLinkHostInterface
75 AIMODULE_API virtual bool GetNavigationLinksClasses(TArray<TSubclassOf<UNavLinkDefinition> >& OutClasses) const override;
76 AIMODULE_API virtual bool GetNavigationLinksArray(TArray<FNavigationLink>& OutLink, TArray<FNavigationSegmentLink>& OutSegments) const override;
77 // END INavLinkHostInterface
78
79#if WITH_EDITOR
80 AIMODULE_API virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) override;
81 AIMODULE_API virtual void PostEditUndo() override;
82 AIMODULE_API virtual void PostEditImport() override;
83#endif // WITH_EDITOR
84 AIMODULE_API virtual void PostInitProperties() override;
85 AIMODULE_API virtual void BeginDestroy() override;
86
87 AIMODULE_API virtual void PostRegisterAllComponents() override;
88 AIMODULE_API virtual void PostLoad() override;
89
90#if ENABLE_VISUAL_LOG
91protected:
92 AIMODULE_API virtual void BeginPlay() override;
93public:
94#endif // ENABLE_VISUAL_LOG
95
96 AIMODULE_API virtual FBox GetComponentsBoundingBox(bool bNonColliding = false, bool bIncludeFromChildActors = false) const override;
97
99 // Blueprint interface for smart links
100
102 UFUNCTION(BlueprintImplementableEvent)
103 AIMODULE_API void ReceiveSmartLinkReached(AActor* Agent, const FVector& Destination);
104
106 UFUNCTION(BlueprintCallable, Category="AI|Navigation")
108
110 UFUNCTION(BlueprintCallable, Category="AI|Navigation")
111 AIMODULE_API bool IsSmartLinkEnabled() const;
112
114 UFUNCTION(BlueprintCallable, Category="AI|Navigation")
115 AIMODULE_API void SetSmartLinkEnabled(bool bEnabled);
116
118 UFUNCTION(BlueprintCallable, Category="AI|Navigation")
119 AIMODULE_API bool HasMovingAgents() const;
120
121#if WITH_EDITOR
125 UFUNCTION(CallInEditor, Category = SmartLink, meta = (DisplayName="CopyEndPointsFromSimpleLink"))
127#endif // WITH_EDITOR
128
129protected:
130
131 UPROPERTY(BlueprintAssignable)
132 FSmartLinkReachedSignature OnSmartLinkReached;
133
134 AIMODULE_API void NotifySmartLinkReached(UNavLinkCustomComponent* LinkComp, UObject* PathingAgent, const FVector& DestPoint);
135
136#if WITH_EDITOR
137 AIMODULE_API void OnNavAreaRegistered(const UWorld& World, const UClass* NavAreaClass);
138 AIMODULE_API void OnNavAreaUnregistered(const UWorld& World, const UClass* NavAreaClass);
139#endif // WITH_EDITOR
140
141public:
144#if WITH_EDITORONLY_DATA
148 UBillboardComponent* GetSpriteComponent() const { return SpriteComponent; }
149#endif
150
151protected:
152#if WITH_EDITOR
155#endif // WITH_EDITOR
156};
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(DelegateName, Param1Type, Param1Name, Param2Type, Param2Name)
Definition DelegateCombinations.h:62
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define UFUNCTION(...)
Definition ObjectMacros.h:745
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
Definition Actor.h:257
virtual ENGINE_API void PostRegisterAllComponents()
Definition Actor.cpp:4107
virtual ENGINE_API void BeginDestroy() override
Definition Actor.cpp:886
virtual ENGINE_API void PostLoad() override
Definition Actor.cpp:1103
virtual ENGINE_API void PostInitProperties() override
Definition Actor.cpp:535
virtual ENGINE_API void BeginPlay()
Definition Actor.cpp:4753
virtual ENGINE_API FBox GetComponentsBoundingBox(bool bNonColliding=false, bool bIncludeFromChildActors=false) const
Definition Actor.cpp:2229
Definition IDelegateInstance.h:14
Definition NavLinkHostInterface.h:21
Definition NavRelevantInterface.h:49
Definition Array.h:670
Definition SubclassOf.h:30
Definition Class.h:3793
Definition NavLinkCustomComponent.h:32
Definition NavLinkRenderingComponent.h:18
Definition Object.h:95
virtual void PostEditImport()
Definition Object.h:686
Definition PathFollowingComponent.h:217
Definition World.h:918
Definition NavigationRelevantData.h:40
Definition UnrealType.h:6865
Definition ObjectPtr.h:488