UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
NavigationMethod.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"
6#include "Input/HittestGrid.h"
7
8#include "NavigationMethod.generated.h"
9
10USTRUCT()
12{
14
15public:
17
18 FNavigationMethod() = default;
19 virtual ~FNavigationMethod() = default;
21 SLATECORE_API virtual TSharedPtr<SWidget> FindNextFocusableWidget(const FArrangedWidget& StartingWidget, const EUINavigation Direction, const FNavigationReply& NavigationReply, const FArrangedWidget& RuleWidget, int32 InUserIndex);
22
23protected:
24 SLATECORE_API FIntPoint GetCellCoordinate(FVector2f Position) const;
25 SLATECORE_API bool IsValidCellCoordinate(int32 X, int32 Y) const;
26 SLATECORE_API bool IsParentsEnabled(const SWidget* Widget);
27
29 SLATECORE_API void ForEachFocusableWidgetsInCell(int32 X, int32 Y, const FNavigationReply& NavigationReply, int32 UserIndex, FWidgetFunc WidgetFunc);
30
34
35private:
36 static FString DefaultNavigationMethod;
37 static TMap<FString, TSharedPtr<FNavigationMethod>> RegisteredNavigationMethods;
38
39#if WITH_SLATE_DEBUGGING
40public:
41 SLATECORE_API virtual void DrawDebug(int32 InLayer, const FGeometry& AllottedGeometry, FSlateWindowElementList& WindowElementList);
42
43protected:
44 struct FDebuggingText
45 {
46 static FText Valid;
50 static FText NotADescendant;
51 static FText Disabled;
52 static FText ParentDisabled;
54 };
55
57#endif // WITH_SLATE_DEBUGGING
58};
@ Valid
Definition AndroidInputInterface.h:103
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define X(Name, Desc)
Definition FormatStringSan.h:47
const bool
Definition NetworkReplayStreaming.h:178
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define USTRUCT(...)
Definition ObjectMacros.h:746
EUINavigation
Definition SlateEnums.h:99
Definition ArrangedWidget.h:18
Definition HittestGrid.h:30
Definition NavigationReply.h:43
Definition DrawElements.h:220
Definition Text.h:385
Definition SWidget.h:165
Definition Array.h:670
Definition AndroidPlatformMisc.h:14
Definition UnrealString.h.inl:34
Definition SharedPointer.h:692
Definition Geometry.h:40
Definition NavigationMethod.h:12
TArray< FDebugWidgetResult > * IntermediateResultsPtr
Definition NavigationMethod.h:32
virtual ~FNavigationMethod()=default
const FHittestGrid * HittestGrid
Definition NavigationMethod.h:31
FNavigationMethod()=default
TSet< TSharedPtr< SWidget > > DisabledDestinations
Definition NavigationMethod.h:33
Definition IntPoint.h:25