5#include "Containers/Set.h"
21 const char* It =
File;
24 return It[-1] ==
'p' && It[-2] ==
'p' && It[-3] ==
'c' && It[-4] ==
'.';
31#define UE_DECLARE_GAMEPLAY_TAG_EXTERN(TagName) extern FNativeGameplayTag TagName;
36#define UE_DEFINE_GAMEPLAY_TAG_COMMENT(TagName, Tag, Comment) FNativeGameplayTag TagName(UE_PLUGIN_NAME, UE_MODULE_NAME, Tag, TEXT(Comment), ENativeGameplayTagToken::PRIVATE_USE_MACRO_INSTEAD); static_assert(UE::GameplayTags::Private::HasFileExtension(__FILE__), "UE_DEFINE_GAMEPLAY_TAG_COMMENT can only be used in .cpp files, if you're trying to share tags across modules, use UE_DECLARE_GAMEPLAY_TAG_EXTERN in the public header, and UE_DEFINE_GAMEPLAY_TAG_COMMENT in the private .cpp");
41#define UE_DEFINE_GAMEPLAY_TAG(TagName, Tag) FNativeGameplayTag TagName(UE_PLUGIN_NAME, UE_MODULE_NAME, Tag, TEXT(""), ENativeGameplayTagToken::PRIVATE_USE_MACRO_INSTEAD); static_assert(UE::GameplayTags::Private::HasFileExtension(__FILE__), "UE_DEFINE_GAMEPLAY_TAG can only be used in .cpp files, if you're trying to share tags across modules, use UE_DECLARE_GAMEPLAY_TAG_EXTERN in the public header, and UE_DEFINE_GAMEPLAY_TAG in the private .cpp");
46#define UE_DEFINE_GAMEPLAY_TAG_STATIC(TagName, Tag) static FNativeGameplayTag TagName(UE_PLUGIN_NAME, UE_MODULE_NAME, Tag, TEXT(""), ENativeGameplayTagToken::PRIVATE_USE_MACRO_INSTEAD); static_assert(UE::GameplayTags::Private::HasFileExtension(__FILE__), "UE_DEFINE_GAMEPLAY_TAG_STATIC can only be used in .cpp files, if you're trying to share tags across modules, use UE_DECLARE_GAMEPLAY_TAG_EXTERN in the public header, and UE_DEFINE_GAMEPLAY_TAG in the private .cpp");
48#ifndef UE_INCLUDE_NATIVE_GAMEPLAYTAG_METADATA
49 #define UE_INCLUDE_NATIVE_GAMEPLAYTAG_METADATA WITH_EDITOR && !UE_BUILD_SHIPPING
74 ValidateTagRegistration();
77#if WITH_EDITORONLY_DATA
84#if UE_INCLUDE_NATIVE_GAMEPLAYTAG_METADATA
100 FName ModulePackageName;
101 mutable bool bValidated =
false;
106#if WITH_EDITORONLY_DATA
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition NameTypes.h:617
Definition NativeGameplayTags.h:59
GAMEPLAYTAGS_API ~FNativeGameplayTag()
Definition NativeGameplayTags.cpp:79
FGameplayTag GetTag() const
Definition NativeGameplayTags.h:69
FName GetModulePackageName() const
Definition NativeGameplayTags.h:91
static GAMEPLAYTAGS_API FName NAME_NativeGameplayTag
Definition NativeGameplayTags.h:61
FGameplayTagTableRow GetGameplayTagTableRow() const
Definition NativeGameplayTags.h:71
FName GetPlugin() const
Definition NativeGameplayTags.h:90
FName GetModuleName() const
Definition NativeGameplayTags.h:89
Definition UnrealTemplate.h:321
Definition GameplayTagsManager.h:34
Definition GameplayTagContainer.h:45
FName GetTagName() const
Definition GameplayTagContainer.h:183