UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UserDefinedEnum.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
12#include "CoreMinimal.h"
14#include "UObject/Class.h"
16#include "UserDefinedEnum.generated.h"
17
19
23UCLASS(MinimalAPI)
25{
27
28#if WITH_EDITORONLY_DATA
29 UPROPERTY()
31
33 UPROPERTY(EditAnywhere, Category=Description, meta=(MultiLine=true))
35#endif //WITH_EDITORONLY_DATA
36
41 UPROPERTY()
42 TMap<FName, FText> DisplayNameMap;
43
44public:
45 //~ Begin UObject Interface.
46 ENGINE_API virtual void Serialize(FArchive& Ar) override;
47 //~ End UObject Interface.
48
56 ENGINE_API virtual FString GenerateFullEnumName(const TCHAR* InEnumName) const override;
57
64 ENGINE_API virtual int64 ResolveEnumerator(FArchive& Ar, int64 EnumeratorValue) const override;
65
67 ENGINE_API virtual FText GetDisplayNameTextByIndex(int32 InIndex) const override;
68 ENGINE_API virtual FString GetAuthoredNameStringByIndex(int32 InIndex) const override;
69
71
72#if WITH_EDITOR
73 //~ Begin UObject Interface
74 ENGINE_API virtual bool Rename(const TCHAR* NewName = NULL, UObject* NewOuter = NULL, ERenameFlags Flags = REN_None) override;
75 ENGINE_API virtual void PostDuplicate(bool bDuplicateForPIE) override;
76 ENGINE_API virtual void PostLoad() override;
77 ENGINE_API virtual bool IsPostLoadThreadSafe() const override;
78 ENGINE_API virtual void PostEditUndo() override;
79 ENGINE_API virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent);
81 UE_DEPRECATED(5.4, "Implement the version that takes FAssetRegistryTagsContext instead.")
83 ENGINE_API virtual void PreSaveRoot(FObjectPreSaveRootContext ObjectSaveContext) override;
84 ENGINE_API virtual void PostSaveRoot(FObjectPostSaveRootContext ObjectSaveContext) override;
85 //~ End UObject Interface
86
88#endif // WITH_EDITOR
89
90#if WITH_EDITORONLY_DATA
91protected:
93
94private:
95 UEnumCookedMetaData* NewCookedMetaData();
96 const UEnumCookedMetaData* FindCookedMetaData();
97 void PurgeCookedMetaData();
98
99 UPROPERTY()
101#endif // WITH_EDITORONLY_DATA
102};
#define NULL
Definition oodle2base.h:134
virtual bool IsPostLoadThreadSafe() const override
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
FPlatformTypes::int64 int64
A 64-bit signed integer.
Definition Platform.h:1127
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 UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
uint32 ERenameFlags
Definition ObjectMacros.h:2302
#define REN_None
Definition ObjectMacros.h:2305
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
EEnumFlags
Definition ObjectMacros.h:690
#define UCLASS(...)
Definition ObjectMacros.h:776
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition Archive.h:1208
Definition AssetRegistryTagsContext.h:98
Definition ObjectSaveContext.h:554
Definition ObjectSaveContext.h:535
Definition Text.h:385
Definition Array.h:670
Definition UnrealString.h.inl:34
Definition SubclassOf.h:30
Definition CookedMetaData.h:125
Definition Class.h:2791
ECppForm
Definition Class.h:2799
Definition Object.h:95
virtual COREUOBJECT_API void PreSaveRoot(FObjectPreSaveRootContext ObjectSaveContext)
Definition Obj.cpp:1519
virtual COREUOBJECT_API bool Rename(const TCHAR *NewName=nullptr, UObject *NewOuter=nullptr, ERenameFlags Flags=REN_None)
Definition Obj.cpp:245
virtual void PostDuplicate(bool bDuplicateForPIE)
Definition Object.h:538
virtual COREUOBJECT_API void PostSaveRoot(FObjectPostSaveRootContext ObjectSaveContext)
Definition Obj.cpp:1523
virtual COREUOBJECT_API void GetAssetRegistryTags(FAssetRegistryTagsContext Context) const
Definition Obj.cpp:2423
Definition UserDefinedEnum.h:25
Definition UnrealType.h:6865
Definition ObjectPtr.h:488
Definition Tuple.h:652