UDocumentation
UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
GameMenuItem.h
Go to the documentation of this file.
1
// Copyright Epic Games, Inc. All Rights Reserved.
2
#pragma once
3
4
#include "Containers/Array.h"
5
#include "
CoreMinimal.h
"
6
#include "
Delegates/Delegate.h
"
7
#include "
HAL/Platform.h
"
8
#include "
Internationalization/Text.h
"
9
#include "
Templates/SharedPointer.h
"
10
11
class
SGameMenuItemWidget
;
12
13
namespace
EGameMenuItemType
14
{
15
enum
Type
16
{
17
Root
,
18
Standard
,
19
MultiChoice
,
20
CustomWidget
,
21
};
22
};
23
24
class
FGameMenuItem
:
public
TSharedFromThis
<FGameMenuItem>
25
{
26
public
:
28
DECLARE_DELEGATE
(
FOnConfirmMenuItem
);
29
31
DECLARE_DELEGATE_TwoParams
(
FOnOptionChanged
,
TSharedPtr<FGameMenuItem>
,
int32
);
32
34
FOnConfirmMenuItem
OnConfirmMenuItem
;
35
37
FOnOptionChanged
OnOptionChanged
;
38
40
EGameMenuItemType::Type
MenuItemType
;
41
43
FText
Text
;
44
46
TSharedPtr<class FGameMenuPage>
SubMenu
;
47
49
TSharedPtr<SGameMenuItemWidget>
Widget
;
50
52
TSharedPtr<SGameMenuItemWidget>
CustomWidget
;
53
55
TArray<FText>
MultiChoice
;
56
58
int32
MinMultiChoiceIndex
;
59
61
int32
MaxMultiChoiceIndex
;
62
64
int32
SelectedMultiChoice
;
65
67
bool
bInactive
;
68
70
FGameMenuItem
(
FText
_text
)
71
{
72
Text
=
_text
;
73
MenuItemType
=
EGameMenuItemType::Standard
;
74
MinMultiChoiceIndex
=
MaxMultiChoiceIndex
=
SelectedMultiChoice
= 0;
75
bInactive
=
false
;
76
}
77
79
FGameMenuItem
(
TSharedPtr<SGameMenuItemWidget>
InWidget
)
80
{
81
MenuItemType
=
EGameMenuItemType::CustomWidget
;
82
CustomWidget
=
InWidget
;
83
MinMultiChoiceIndex
=
MaxMultiChoiceIndex
=
SelectedMultiChoice
= 0;
84
bInactive
=
false
;
85
}
86
88
FGameMenuItem
(
FText
InText
,
TArray<FText>
InOptions
,
int32
InDefaultIndex
=0)
89
{
90
Text
=
InText
;
91
MenuItemType
=
EGameMenuItemType::MultiChoice
;
92
MultiChoice
=
InOptions
;
93
MinMultiChoiceIndex
=
MaxMultiChoiceIndex
= -1;
94
SelectedMultiChoice
=
InDefaultIndex
;
95
bInactive
=
false
;
96
}
97
98
bool
ConfirmPressed
()
99
{
100
bool
bHandled
=
false
;
101
if
( (
bInactive
==
false
) && (
OnConfirmMenuItem
.IsBound() ==
true
) )
102
{
103
OnConfirmMenuItem
.Execute();
104
bHandled
=
true
;
105
}
106
return
bHandled
;
107
}
108
110
static
TSharedRef<FGameMenuItem>
CreateRoot
()
111
{
112
return
MakeShareable
(
new
FGameMenuItem
());
113
}
114
115
private
:
116
FGameMenuItem
()
117
{
118
MenuItemType
=
EGameMenuItemType::Root
;
119
}
120
};
CoreMinimal.h
Platform.h
int32
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition
Platform.h:1125
SharedPointer.h
MakeShareable
SharedPointerInternals::TRawPtrProxy< ObjectType > MakeShareable(ObjectType *InObject)
Definition
SharedPointer.h:1947
StaticCastSharedRef
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition
SharedPointer.h:127
Delegate.h
Text.h
FGameMenuItem
Definition
GameMenuItem.h:25
FGameMenuItem::bInactive
bool bInactive
Definition
GameMenuItem.h:67
FGameMenuItem::SelectedMultiChoice
int32 SelectedMultiChoice
Definition
GameMenuItem.h:64
FGameMenuItem::CustomWidget
TSharedPtr< SGameMenuItemWidget > CustomWidget
Definition
GameMenuItem.h:52
FGameMenuItem::Text
FText Text
Definition
GameMenuItem.h:43
FGameMenuItem::Widget
TSharedPtr< SGameMenuItemWidget > Widget
Definition
GameMenuItem.h:49
FGameMenuItem::MaxMultiChoiceIndex
int32 MaxMultiChoiceIndex
Definition
GameMenuItem.h:61
FGameMenuItem::MenuItemType
EGameMenuItemType::Type MenuItemType
Definition
GameMenuItem.h:40
FGameMenuItem::ConfirmPressed
bool ConfirmPressed()
Definition
GameMenuItem.h:98
FGameMenuItem::DECLARE_DELEGATE_TwoParams
DECLARE_DELEGATE_TwoParams(FOnOptionChanged, TSharedPtr< FGameMenuItem >, int32)
FGameMenuItem::MultiChoice
TArray< FText > MultiChoice
Definition
GameMenuItem.h:55
FGameMenuItem::FGameMenuItem
FGameMenuItem(TSharedPtr< SGameMenuItemWidget > InWidget)
Definition
GameMenuItem.h:79
FGameMenuItem::CreateRoot
static TSharedRef< FGameMenuItem > CreateRoot()
Definition
GameMenuItem.h:110
FGameMenuItem::MinMultiChoiceIndex
int32 MinMultiChoiceIndex
Definition
GameMenuItem.h:58
FGameMenuItem::FGameMenuItem
FGameMenuItem(FText _text)
Definition
GameMenuItem.h:70
FGameMenuItem::FGameMenuItem
FGameMenuItem(FText InText, TArray< FText > InOptions, int32 InDefaultIndex=0)
Definition
GameMenuItem.h:88
FGameMenuItem::DECLARE_DELEGATE
DECLARE_DELEGATE(FOnConfirmMenuItem)
FGameMenuItem::SubMenu
TSharedPtr< class FGameMenuPage > SubMenu
Definition
GameMenuItem.h:46
FGameMenuItem::OnConfirmMenuItem
FOnConfirmMenuItem OnConfirmMenuItem
Definition
GameMenuItem.h:34
FGameMenuItem::OnOptionChanged
FOnOptionChanged OnOptionChanged
Definition
GameMenuItem.h:37
FText
Definition
Text.h:385
SGameMenuItemWidget
Definition
SGameMenuItemWidget.h:24
TArray
Definition
Array.h:670
TSharedFromThis
Definition
SharedPointer.h:1640
TSharedPtr
Definition
SharedPointer.h:692
TSharedRef
Definition
SharedPointer.h:153
EGameMenuItemType
Definition
GameMenuItem.h:14
EGameMenuItemType::Type
Type
Definition
GameMenuItem.h:16
EGameMenuItemType::MultiChoice
@ MultiChoice
Definition
GameMenuItem.h:19
EGameMenuItemType::Standard
@ Standard
Definition
GameMenuItem.h:18
EGameMenuItemType::CustomWidget
@ CustomWidget
Definition
GameMenuItem.h:20
EGameMenuItemType::Root
@ Root
Definition
GameMenuItem.h:17
Engine
Source
Runtime
GameMenuBuilder
Public
GameMenuItem.h
Generated by
1.9.8