5#include "Containers/Array.h"
6#include "Containers/Map.h"
7#include "Containers/UnrealString.h"
9#include "HAL/PlatformCrt.h"
10#include "Internationalization/Text.h"
12#include "UObject/NameTypes.h"
13#include "UObject/UnrealNames.h"
32enum class EPlatformIconSize : uint8
59struct FPlatformIconPaths
65 FPlatformIconPaths(
const FString& InIconPath)
66 : NormalPath(InIconPath)
67 , LargePath(InIconPath)
68 , XLargePath(InIconPath)
72 FPlatformIconPaths(
const FString& InNormalPath,
const FString& InLargePath)
73 : NormalPath(InNormalPath)
74 , LargePath(InLargePath)
75 , XLargePath(InLargePath)
79 FPlatformIconPaths(
const FString& InNormalPath,
const FString& InLargePath,
const FString& InXLargePath)
80 : NormalPath(InNormalPath)
81 , LargePath(InLargePath)
82 , XLargePath(InXLargePath)
86 FName NormalStyleName;
92 FName XLargeStyleName;
98struct FPreviewPlatformMenuItem
102 FName ShaderPlatformToPreview;
103 FName PreviewShaderPlatformName;
105 FName ActiveIconName;
107 FName InactiveIconName;
108 FText OptionalFriendlyNameOverride;
111 FName DeviceProfileName;
176 FPlatformIconPaths IconPaths;
185 FName PlatformGroupName;
188 FName PlatformSubMenu;
191 FName UBTPlatformName;
195 bool bCanUseCrashReporter;
201 bool bUsesHostCompiler;
204 bool bUATClosesAfterLaunch;
207 bool bHasCompiledTargetSupport;
212 FName GetIconStyleName(
const EPlatformIconSize InIconSize)
const
216 case EPlatformIconSize::Normal:
217 return IconPaths.NormalStyleName;
218 case EPlatformIconSize::Large:
219 return IconPaths.LargeStyleName;
220 case EPlatformIconSize::XLarge:
221 return IconPaths.XLargeStyleName;
229 const FString& GetIconPath(
const EPlatformIconSize InIconSize)
const
233 case EPlatformIconSize::Normal:
234 return IconPaths.NormalPath;
235 case EPlatformIconSize::Large:
236 return IconPaths.LargePath;
237 case EPlatformIconSize::XLarge:
238 return IconPaths.XLargePath;
257
258
262
263
264
268
269
270
277
278
282 UE_DEPRECATED(5.1,
"Use GetSoprtedPlatformNames that takes a PlatformType parameter")
285 return GetSortedPlatformNames(EPlatformInfoType::AllPlatformInfos);
287 UE_DEPRECATED(5.1,
"Use GetSortedPlatformInfos that takes a PlatformType parameter")
290 return GetSortedPlatformInfos(EPlatformInfoType::AllPlatformInfos);
294
295
296
300
301
305
306
312
313
314
315 enum class EPlatformNameType
324 static bool HasCompiledSupportForPlatform(
FName PlatformName, EPlatformNameType PlatformNameType);
327
328
329 static void ClearDeviceStatus(
FName PlatformName);
334
335
336 static const TArray<
struct FPreviewPlatformMenuItem>& GetAllPreviewPlatformMenuItems();
339 static bool IsPlatformHiddenFromUI(
FName PlatformName);
340 static void SetPlatformHiddenFromUI(
FName PlatformName);
344
345
346 friend class FTurkeySupportModule;
348 static TMap<FName, FDataDrivenPlatformInfo>& GetMutablePlatformInfos();
#define UE_DEPRECATED(Version, Message)