15#include "MemberReference.generated.h"
99 : MemberParent(
nullptr)
101 , bSelfContext(
false)
102 , bWasDeprecated(
false)
107 template<
class TFieldType>
113 OwnerClass =
InField->GetOwnerClass();
115 MemberParent = OwnerClass;
119 MemberParent =
nullptr;
123 MemberParent =
InField->GetOutermost();
126 MemberName =
InField->GetFName();
128 bWasDeprecated =
false;
137 MemberGuid.Invalidate();
138 if (OwnerClass !=
nullptr)
140 UBlueprint::GetGuidFromClassByFieldName<TFieldType>(OwnerClass,
InField->GetFName(), MemberGuid);
145 template<
class TFieldType>
151 if (OwnerClass !=
nullptr)
153 UBlueprint::GetGuidFromClassByFieldName<TFieldType>(OwnerClass,
InField->GetFName(),
FieldGuid);
160 template<
class TFieldType>
166 UBlueprint::GetGuidFromClassByFieldName<TFieldType>((
ParentAsClass), MemberName, MemberGuid);
212 MemberName = NewName;
232 else if (MemberParent !=
nullptr)
248 return !MemberScope.IsEmpty();
285 return (bSelfContext || !MemberScope.IsEmpty())?
SelfScope : GetMemberParentClass();
314 return bWasDeprecated;
320 return bSelfContext ?
SelfScope : GetMemberParentClass();
328 template<
class TFieldType>
340 template<
class TFieldType>
362 template<
class TFieldType>
382 template<
class TFieldType,
class TFieldTypeClass>
389 template<
class TFieldType>
405 template<
class TFieldType>
416 if (!Result && (
Name != Reference.MemberName))
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define HEADER_GENERATED_DELEGATE_SIGNATURE_SUFFIX
Definition Delegate.h:197
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define USTRUCT(...)
Definition ObjectMacros.h:746
#define GENERATED_USTRUCT_BODY(...)
Definition ObjectMacros.h:767
T * Get() const
Definition Field.h:465
Definition NameTypes.h:617
Definition UnrealType.h:174
Definition UnrealString.h.inl:34
Definition SubclassOf.h:30
Definition Blueprint.h:403
COREUOBJECT_API UClass * GetOwnerClass() const
Definition Class.cpp:212
COREUOBJECT_API UPackage * GetOutermost() const
Definition UObjectBaseUtility.cpp:224
@ false
Definition radaudio_common.h:23
Definition MemberReference.h:19
friend uint32 GetTypeHash(const FFieldRemapInfo &RemapInfo)
Definition MemberReference.h:31
bool operator==(const FFieldRemapInfo &Other) const
Definition MemberReference.h:26
FName FieldClass
Definition MemberReference.h:24
FFieldRemapInfo()
Definition MemberReference.h:36
FName FieldName
Definition MemberReference.h:21
Definition MemberReference.h:65
UStruct * GetMemberScope(UClass *InMemberParentClass) const
Definition MemberReference.h:289
void SetFromField(const typename TFieldType::BaseFieldClass *InField, const bool bIsConsideredSelfContext, UClass *OwnerClass=nullptr)
Definition MemberReference.h:108
FName GetMemberName() const
Definition MemberReference.h:203
FString GetMemberScopeName() const
Definition MemberReference.h:295
UClass * GetMemberParentClass(UClass *SelfScope) const
Definition MemberReference.h:282
static TFieldType * FindRemappedField(UClass *InitialScope, FName InitialName, bool bInitialScopeMustBeOwnerOfFieldForParentScopeRedirect=false)
Definition MemberReference.h:363
bool IsDeprecated() const
Definition MemberReference.h:312
UFunction * ResolveMember(UClass *SelfScope, const bool bAlwaysFollowRedirects) const
Definition MemberReference.h:334
static TFieldType * ResolveSimpleMemberReference(const FSimpleMemberReference &Reference, UClass *SelfScope=nullptr)
Definition MemberReference.h:406
bool IsSelfContext() const
Definition MemberReference.h:240
bool IsLocalScope() const
Definition MemberReference.h:246
UClass * GetScope(UClass *SelfScope=nullptr) const
Definition MemberReference.h:318
TFieldType * ResolveMember(UBlueprint *SelfScope)
Definition MemberReference.h:341
FGuid GetMemberGuid() const
Definition MemberReference.h:216
bool IsSameReference(const FMemberReference &InReference) const
Definition MemberReference.h:301
UClass * GetMemberParentClass() const
Definition MemberReference.h:221
static void FillSimpleMemberReference(const TFieldType *InField, FSimpleMemberReference &OutReference)
Definition MemberReference.h:390
UPackage * GetMemberParentPackage() const
Definition MemberReference.h:226
TFieldType * ResolveMember(UClass *SelfScope=nullptr, const bool bAlwaysFollowRedirects=false) const
Definition MemberReference.h:329
Definition MemberReference.h:45
FName NewParam
Definition MemberReference.h:48
FParamRemapInfo()
Definition MemberReference.h:53
TMap< FString, FString > ParamValueMap
Definition MemberReference.h:50
bool bCustomValueMapping
Definition MemberReference.h:46
FName OldParam
Definition MemberReference.h:47
FName NodeTitle
Definition MemberReference.h:49
Definition EdGraphPin.h:27
Definition ObjectPtr.h:488