UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FieldNotificationId.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
7#include "UObject/Object.h"
8
9#include "FieldNotificationId.generated.h"
10
11
13{
14
16{
17public:
18 FFieldId() = default;
19
21 : FieldName(InFieldName)
22 , BitNumber(InBitNumber)
23 {
24 }
25
26
27public:
28 bool IsValid() const
29 {
30 return !FieldName.IsNone();
31 }
32
34 {
35 return BitNumber;
36 }
37
38 FName GetName() const
39 {
40 return FieldName;
41 }
42
44 {
45 if (InContainer && IsValid())
46 {
48 {
49 return FFieldVariant(Function);
50 }
51 else if (FProperty* Property = InContainer->GetClass()->FindPropertyByName(FieldName))
52 {
53 return FFieldVariant(Property);
54 }
55 }
56 return FFieldVariant();
57 }
58
59 bool operator==(const FFieldId& Other) const
60 {
61 return FieldName == Other.FieldName;
62 }
63
64 bool operator!=(const FFieldId& Other) const
65 {
66 return FieldName != Other.FieldName;
67 }
68
70 {
71 return GetTypeHash(Value.FieldName);
72 }
73
74private:
76 FName FieldName;
78 int32 BitNumber;
79};
80
81} //namespace
82
83
84USTRUCT(BlueprintType)
86{
88
89public:
91
93 : FieldName(InFieldName)
94 {
95
96 }
97
98public:
99 bool IsValid() const
100 {
101 return !FieldName.IsNone();
102 }
103
105 {
106 return FieldName;
107 }
108
109 bool operator== (const FFieldNotificationId& Other) const
110 {
111 return FieldName == Other.FieldName;
112 }
113
115 {
116 return FieldName != Other.FieldName;
117 }
118
120 {
121 return GetTypeHash(Value.FieldName);
122 }
123
124public:
125 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "FieldNotify")
126 FName FieldName;
127};
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
UE_FORCEINLINE_HINT bool operator!=(const FIndexedPointer &Other) const
Definition LockFreeList.h:76
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define USTRUCT(...)
Definition ObjectMacros.h:746
FFieldClass * GetClass() const
Definition Field.h:722
Definition NameTypes.h:617
FORCEINLINE bool IsNone() const
Definition NameTypes.h:827
Definition UnrealType.h:174
COREUOBJECT_API UFunction * FindFunctionByName(FName InName, EIncludeSuperFlag::Type IncludeSuper=EIncludeSuperFlag::IncludeSuper) const
Definition Class.cpp:7027
Definition Class.h:2476
FORCEINLINE UClass * GetClass() const
Definition UObjectBase.h:217
Definition Object.h:95
Definition FieldNotificationLibrary.cpp:16
Definition FieldNotificationId.h:86
FFieldNotificationId(FName InFieldName)
Definition FieldNotificationId.h:92
friend int32 GetTypeHash(const FFieldNotificationId &Value)
Definition FieldNotificationId.h:119
bool IsValid() const
Definition FieldNotificationId.h:99
FName GetFieldName() const
Definition FieldNotificationId.h:104
FFieldNotificationId()=default
Definition FieldNotificationId.h:16
int32 GetIndex() const
Definition FieldNotificationId.h:33
bool operator!=(const FFieldId &Other) const
Definition FieldNotificationId.h:64
friend int32 GetTypeHash(const FFieldId &Value)
Definition FieldNotificationId.h:69
FName GetName() const
Definition FieldNotificationId.h:38
FFieldVariant ToVariant(UObject *InContainer) const
Definition FieldNotificationId.h:43
FFieldId(FName InFieldName, int32 InBitNumber)
Definition FieldNotificationId.h:20
bool IsValid() const
Definition FieldNotificationId.h:28
bool operator==(const FFieldId &Other) const
Definition FieldNotificationId.h:59
Definition FieldNotificationVariant.h:14