5#if UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_4
13#include "GameplayTagContainer.generated.h"
37#define INVALID_TAGNETINDEX MAX_uint16
43USTRUCT(BlueprintType, meta = (HasNativeMake =
"/Script/GameplayTags.BlueprintGameplayTagLibrary.MakeLiteralGameplayTag", HasNativeBreak =
"/Script/GameplayTags.BlueprintGameplayTagLibrary.GetTagName", DisableSplitPin))
74 return TagName ==
Other.TagName;
79 return TagName !=
Other.TagName;
173 return GetTypeHash(
Tag.TagName);
179 return TagName.ToString();
225 UPROPERTY(VisibleAnywhere, Category = GameplayTags, SaveGame)
240 WithNetSerializer =
true,
241 WithNetSharedSerialization =
true,
242 WithPostSerialize =
true,
243 WithStructuredSerializeFromMismatchedTag =
true,
244 WithImportTextItem =
true,
249USTRUCT(BlueprintType, meta = (HasNativeMake =
"/Script/GameplayTags.BlueprintGameplayTagLibrary.MakeGameplayTagContainerFromArray", HasNativeBreak =
"/Script/GameplayTags.BlueprintGameplayTagLibrary.BreakGameplayTagContainer"))
282 template<
class AllocatorType>
369 if (GameplayTags.Contains(
OtherTag))
415 if (!GameplayTags.Contains(
OtherTag))
426 return GameplayTags.Num();
432 return GameplayTags.Num() > 0;
438 return GameplayTags.Num() == 0;
581 return GameplayTags.IsValidIndex(
Index);
586 if (IsValidIndex(
Index))
588 return GameplayTags[
Index];
595 return GameplayTags.Num() > 0 ? GameplayTags[0] :
FGameplayTag();
600 return GameplayTags.Num() > 0 ? GameplayTags.Last() :
FGameplayTag();
618 bool RemoveTagByExplicitName(
const FName& TagName);
620 UE_DEPRECATED(5.4,
"Use ParseParentTags or ExtractParentTags instead")
624 UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category=GameplayTags, SaveGame)
737USTRUCT(BlueprintType, meta=(HasNativeMake=
"/Script/GameplayTags.BlueprintGameplayTagLibrary.MakeGameplayTagQuery"))
760 int32 TokenStreamVersion;
772 FString UserDescription;
776 FString AutoDescription;
782 return TagDictionary[
TagIdx];
791 TagDictionary.
Reset();
799 TagDictionary.
Reset();
828 const FString&
GetDescription()
const {
return UserDescription.IsEmpty() ? AutoDescription : UserDescription; };
1001 FString UserDescription;
1004 FString AutoDescription;
1040UCLASS(BlueprintType, editinlinenew, collapseCategories, meta=(DisplayName=
"Any Tags Match"))
1045 UPROPERTY(EditDefaultsOnly, Category = Expr)
1053UCLASS(BlueprintType, editinlinenew, collapseCategories, meta = (DisplayName =
"All Tags Match"))
1058 UPROPERTY(EditDefaultsOnly, Category = Expr)
1066UCLASS(BlueprintType, editinlinenew, collapseCategories, meta = (DisplayName =
"No Tags Match"))
1071 UPROPERTY(EditDefaultsOnly, Category = Expr)
1079UCLASS(BlueprintType, editinlinenew, collapseCategories, meta = (DisplayName =
"Any Tags Exact Match"))
1084 UPROPERTY(EditDefaultsOnly, Category = Expr)
1092UCLASS(BlueprintType, editinlinenew, collapseCategories, meta = (DisplayName =
"All Tags Exact Match"))
1097 UPROPERTY(EditDefaultsOnly, Category = Expr)
1105UCLASS(BlueprintType, editinlinenew, collapseCategories, meta = (DisplayName =
"Any Expressions Match"))
1110 UPROPERTY(EditAnywhere, Instanced, Category = Expr)
1118UCLASS(BlueprintType, editinlinenew, collapseCategories, meta = (DisplayName =
"All Expressions Match"))
1123 UPROPERTY(EditAnywhere, Instanced, Category = Expr)
1131UCLASS(BlueprintType, editinlinenew, collapseCategories, meta = (DisplayName =
"No Expressions Match"))
1136 UPROPERTY(EditAnywhere, Instanced, Category = Expr)
#define ensure( InExpression)
Definition AssertionMacros.h:464
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
#define DECLARE_CYCLE_STAT_EXTERN(CounterName, StatId, GroupId, API)
Definition Stats.h:679
#define DECLARE_STATS_GROUP(GroupDesc, GroupId, GroupCat)
Definition Stats.h:689
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EGameplayContainerMatchType
Definition GameplayTagContainer.h:28
uint16 FGameplayTagNetIndex
Definition GameplayTagContainer.h:36
EGameplayTagQueryExprType
Definition GameplayTagContainer.h:692
UE_FORCEINLINE_HINT bool operator!=(const FIndexedPointer &Other) const
Definition LockFreeList.h:76
#define DECLARE_LOG_CATEGORY_EXTERN(CategoryName, DefaultVerbosity, CompileTimeVerbosity)
Definition LogMacros.h:361
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UCLASS(...)
Definition ObjectMacros.h:776
#define UENUM(...)
Definition ObjectMacros.h:749
#define USTRUCT(...)
Definition ObjectMacros.h:746
EPropertyObjectReferenceType
Definition ObjectMacros.h:533
#define GENERATED_USTRUCT_BODY(...)
Definition ObjectMacros.h:767
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
Definition Archive.h:1208
Definition GameplayTagRedirectors.h:46
Definition JsonObject.h:23
Definition NameTypes.h:617
Definition NativeGameplayTags.h:59
Definition OutputDevice.h:133
Definition GameplayTagContainer.cpp:131
Definition StructuredArchiveSlots.h:52
UE_REWRITE SizeType Num() const
Definition Array.h:1144
void Reset(SizeType NewSize=0)
Definition Array.h:2246
TIndexedContainerIterator< const TArray, const ElementType, SizeType > TConstIterator
Definition Array.h:3348
UE_NODEBUG UE_FORCEINLINE_HINT SizeType Add(ElementType &&Item)
Definition Array.h:2696
UE_NODEBUG UE_FORCEINLINE_HINT bool IsValidIndex(SizeType Index) const
Definition Array.h:1122
void Append(const TArray< OtherElementType, OtherAllocatorType > &Source)
Definition Array.h:2412
UE_NODEBUG TConstIterator CreateConstIterator() const
Definition Array.h:3365
Definition SharedPointer.h:153
Definition GameplayTagContainer.h:1120
Definition GameplayTagContainer.h:1107
Definition GameplayTagContainer.h:1133
Definition GameplayTagContainer.h:1026
Definition GameplayTagContainer.h:995
Definition PackageMapClient.h:465
Definition GameplayTagContainer.h:705
Type
Definition GameplayTagContainer.h:707
@ LatestVersion
Definition GameplayTagContainer.h:713
@ InitialVersion
Definition GameplayTagContainer.h:708
@ VersionPlusOne
Definition GameplayTagContainer.h:712
int32 CompareWithNumericSuffix(FName A, FName B)
Definition ComparisonUtility.cpp:11
U16 Index
Definition radfft.cpp:71
Definition GameplayTagContainer.h:251
static GAMEPLAYTAGS_API const FGameplayTagContainer EmptyContainer
Definition GameplayTagContainer.h:607
FGameplayTagContainer(FGameplayTagContainer const &Other)
Definition GameplayTagContainer.h:259
bool IsEmpty() const
Definition GameplayTagContainer.h:436
bool HasTag(const FGameplayTag &TagToCheck) const
Definition GameplayTagContainer.h:304
bool IsValidIndex(int32 Index) const
Definition GameplayTagContainer.h:579
bool HasAny(const FGameplayTagContainer &ContainerToCheck) const
Definition GameplayTagContainer.h:338
bool HasAll(const FGameplayTagContainer &ContainerToCheck) const
Definition GameplayTagContainer.h:384
FGameplayTagContainer(FGameplayTagContainer &&Other)
Definition GameplayTagContainer.h:270
void GetGameplayTagArray(TArray< FGameplayTag > &InOutGameplayTags) const
Definition GameplayTagContainer.h:565
TArray< FGameplayTag >::TConstIterator CreateConstIterator() const
Definition GameplayTagContainer.h:574
FGameplayTag Last() const
Definition GameplayTagContainer.h:598
bool IsValid() const
Definition GameplayTagContainer.h:430
FGameplayTag GetByIndex(int32 Index) const
Definition GameplayTagContainer.h:584
bool HasTagExact(const FGameplayTag &TagToCheck) const
Definition GameplayTagContainer.h:321
bool HasAllExact(const FGameplayTagContainer &ContainerToCheck) const
Definition GameplayTagContainer.h:407
static FGameplayTagContainer CreateFromArray(const TArray< FGameplayTag, AllocatorType > &SourceTags)
Definition GameplayTagContainer.h:283
bool HasAnyExact(const FGameplayTagContainer &ContainerToCheck) const
Definition GameplayTagContainer.h:361
FGameplayTagContainer(const FGameplayTag &Tag)
Definition GameplayTagContainer.h:265
~FGameplayTagContainer()
Definition GameplayTagContainer.h:277
int32 Num() const
Definition GameplayTagContainer.h:424
FGameplayTag First() const
Definition GameplayTagContainer.h:593
TArray< FGameplayTag > GameplayTags
Definition GameplayTagContainer.h:625
friend TArray< FGameplayTag >::TConstIterator end(const FGameplayTagContainer &Array)
Definition GameplayTagContainer.h:646
Definition GameplayTagContainer.h:676
GAMEPLAYTAGS_API FGameplayTagNativeAdder()
Definition GameplayTagContainer.cpp:1691
Definition GameplayTagsManager.h:178
Definition GameplayTagContainer.h:867
GAMEPLAYTAGS_API bool ConvertToJsonObject(TSharedRef< FJsonObject > &OutObject) const
Definition GameplayTagContainer.cpp:2375
FGameplayTagQueryExpression & AddTags(FGameplayTagContainer const &Tags)
Definition GameplayTagContainer.h:932
FGameplayTagQueryExpression & AddExpr(FGameplayTagQueryExpression &Expr)
Definition GameplayTagContainer.h:939
FGameplayTagQueryExpression & AnyTagsMatch()
Definition GameplayTagContainer.h:872
FGameplayTagQueryExpression & AllTagsMatch()
Definition GameplayTagContainer.h:878
FGameplayTagQueryExpression & AddTag(TCHAR const *TagString)
Definition GameplayTagContainer.h:920
TArray< FGameplayTag > TagSet
Definition GameplayTagContainer.h:956
bool UsesTagSet() const
Definition GameplayTagContainer.h:959
bool UsesExprSet() const
Definition GameplayTagContainer.h:964
EGameplayTagQueryExprType ExprType
Definition GameplayTagContainer.h:950
TArray< struct FGameplayTagQueryExpression > ExprSet
Definition GameplayTagContainer.h:953
FGameplayTagQueryExpression & NoTagsMatch()
Definition GameplayTagContainer.h:884
FGameplayTagQueryExpression & AddTag(FGameplayTag Tag)
Definition GameplayTagContainer.h:925
GAMEPLAYTAGS_API void EmitTokens(TArray< uint8 > &TokenStream, TArray< FGameplayTag > &TagDictionary) const
Definition GameplayTagContainer.cpp:2329
FGameplayTagQueryExpression & AnyTagsExactMatch()
Definition GameplayTagContainer.h:890
FGameplayTagQueryExpression & NoExprMatch()
Definition GameplayTagContainer.h:914
FGameplayTagQueryExpression & AllExprMatch()
Definition GameplayTagContainer.h:908
FGameplayTagQueryExpression & AllTagsExactMatch()
Definition GameplayTagContainer.h:896
FGameplayTagQueryExpression & AnyExprMatch()
Definition GameplayTagContainer.h:902
static GAMEPLAYTAGS_API bool MakeFromJsonObject(const TSharedRef< FJsonObject > &InObject, FGameplayTagQueryExpression &OutQueryExpression)
Definition GameplayTagContainer.cpp:2412
Definition GameplayTagContainer.h:739
static GAMEPLAYTAGS_API const FGameplayTagQuery EmptyQuery
Definition GameplayTagContainer.h:847
void ReplaceTagFast(FGameplayTag const &Tag)
Definition GameplayTagContainer.h:796
const FString & GetDescription() const
Definition GameplayTagContainer.h:828
void GetGameplayTagArray(TArray< FGameplayTag > &OutGameplayTags) const
Definition GameplayTagContainer.h:831
void ReplaceTagsFast(FGameplayTagContainer const &Tags)
Definition GameplayTagContainer.h:788
void SetUserDescription(const FString &InUserDescription)
Definition GameplayTagContainer.h:825
Definition GameplayTagContainer.h:45
bool IsValid() const
Definition GameplayTagContainer.h:141
friend FArchive & operator<<(FArchive &Ar, FGameplayTag &GameplayTag)
Definition GameplayTagContainer.h:188
friend uint32 GetTypeHash(const FGameplayTag &Tag)
Definition GameplayTagContainer.h:171
bool operator==(FGameplayTag const &Other) const
Definition GameplayTagContainer.h:72
static GAMEPLAYTAGS_API const FGameplayTag EmptyTag
Definition GameplayTagContainer.h:215
FName GetTagName() const
Definition GameplayTagContainer.h:183
friend void operator<<(FStructuredArchive::FSlot Slot, FGameplayTag &GameplayTag)
Definition GameplayTagContainer.h:193
bool MatchesAnyExact(const FGameplayTagContainer &ContainerToCheck) const
Definition GameplayTagContainer.h:649
FString ToString() const
Definition GameplayTagContainer.h:177
bool operator!=(FGameplayTag const &Other) const
Definition GameplayTagContainer.h:77
bool operator<(FGameplayTag const &Other) const
Definition GameplayTagContainer.h:82
bool MatchesTagExact(const FGameplayTag &TagToCheck) const
Definition GameplayTagContainer.h:103
Definition PropertyTag.h:38
FPropertyTag & operator=(FPropertyTag &&)=default
Definition ObjectPtr.h:488
Definition StructOpsTypeTraits.h:11
@ WithNetSharedSerialization
Definition StructOpsTypeTraits.h:31
@ WithIdenticalViaEquality
Definition StructOpsTypeTraits.h:18
@ WithNetSerializer
Definition StructOpsTypeTraits.h:26
@ WithPostScriptConstruct
Definition StructOpsTypeTraits.h:30
@ WithCopy
Definition StructOpsTypeTraits.h:17
@ WithStructuredSerializer
Definition StructOpsTypeTraits.h:24
@ WithImportTextItem
Definition StructOpsTypeTraits.h:21
static constexpr EPropertyObjectReferenceType WithSerializerObjectReferences
Definition StructOpsTypeTraits.h:41
Definition StructOpsTypeTraits.h:46