10#include "MaterialLayersFunctions.generated.h"
12#define LOCTEXT_NAMESPACE "MaterialLayersFunctions"
43 Ref.SerializeForDDC(Ar);
47 void UpdateHash(
FSHA1& HashState)
const;
50 void AppendKeyString(FString& KeyString)
const;
60 UPROPERTY(EditAnywhere, Category = MaterialLayers)
63 UPROPERTY(EditAnywhere, Category = MaterialLayers)
66 UPROPERTY(EditAnywhere, Category = MaterialLayers)
67 TArray<
bool> RestrictToLayerRelatives;
69 UPROPERTY(EditAnywhere, Category = MaterialLayers)
70 TArray<
bool> RestrictToBlendRelatives;
73 UPROPERTY(EditAnywhere, Category = MaterialLayers)
79 UPROPERTY(EditAnywhere, Category = MaterialLayers)
86 UPROPERTY(EditAnywhere, Category = MaterialLayers)
89#if WITH_EDITORONLY_DATA
92 if (LayerStates !=
Other.LayerStates ||
93 LayerLinkStates !=
Other.LayerLinkStates ||
94 DeletedParentLayerGuids !=
Other.DeletedParentLayerGuids)
103 return !operator==(
Other);
112 RestrictToLayerRelatives.Empty();
113 RestrictToBlendRelatives.Empty();
115 LayerLinkStates.Empty();
134 UPROPERTY(EditAnywhere, Category = MaterialLayers)
137 UPROPERTY(EditAnywhere, Category = MaterialLayers)
148 , LayerStackCache(Rhs.LayerStackCache)
157 LayerStackCache = Rhs.LayerStackCache;
169 LayerStackCache.Reset();
174 if (Layers !=
Other.Layers || Blends !=
Other.Blends)
179 if (LayerStackCache ||
Other.LayerStackCache)
181 if (!LayerStackCache || !
Other.LayerStackCache
182 || LayerStackCache->AvailableLayerPaths !=
Other.LayerStackCache->AvailableLayerPaths
183 || LayerStackCache->AvailableBlendPaths !=
Other.LayerStackCache->AvailableBlendPaths)
193 return !operator==(
Other);
202#if WITH_EDITORONLY_DATA
236 UPROPERTY(EditAnywhere, Category = MaterialLayers)
247 inline bool IsEmpty()
const {
return Layers.Num() == 0; }
286 const ID GetID()
const {
return FMaterialLayersFunctionsRuntimeData::GetID(
EditorOnly); }
324 if (
EditorOnly.LayerNames.IsValidIndex(Counter))
372 if (!FMaterialLayersFunctionsRuntimeData::operator==(
Other))
376#if WITH_EDITORONLY_DATA
387 return !operator==(
Other);
392 TArray<
bool> LayerStates_DEPRECATED;
398 TArray<
bool> RestrictToLayerRelatives_DEPRECATED;
401 TArray<
bool> RestrictToBlendRelatives_DEPRECATED;
423 enum { WithPostSerialize =
true };
426#undef LOCTEXT_NAMESPACE
#define check(expr)
Definition AssertionMacros.h:314
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
FArchive & operator<<(FArchive &Ar, FEnvQueryDebugProfileData::FStep &Data)
Definition EnvQueryTypes.cpp:489
#define LOCTEXT(InKey, InTextLiteral)
Definition Internationalization.h:295
UE_FORCEINLINE_HINT bool operator!=(const FIndexedPointer &Other) const
Definition LockFreeList.h:76
EMaterialLayerLinkState
Definition MaterialLayersFunctions.h:21
void SerializeLegacy(FArchive &Ar, FAttributesSetBase &AttributesSet)
Definition MeshAttributeArray.cpp:41
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UENUM(...)
Definition ObjectMacros.h:749
#define USTRUCT(...)
Definition ObjectMacros.h:746
#define GENERATED_USTRUCT_BODY(...)
Definition ObjectMacros.h:767
Definition Archive.h:1208
Definition SecureHash.h:314
Definition ShaderKeyGenerator.h:29
Definition StructuredArchiveSlots.h:52
static CORE_API FText Format(FTextFormat Fmt, const FFormatNamedArguments &InArguments)
Definition Text.cpp:469
Definition SharedPointer.h:692
Definition UniquePtr.h:107
Definition MaterialExpressionMaterialFunctionCall.h:81
Definition MaterialFunctionInterface.h:59
void PostSerialize(const FArchive &Ar, void *Data)
Definition Class.h:1300
TWeakInterfacePtr< INNERuntime > GetRuntime(const FString &Name)
Definition NNE.cpp:102
U16 Index
Definition radfft.cpp:71
Definition MaterialLayersFunctions.h:123
TArray< FSoftObjectPath > AvailableBlendPaths
Definition MaterialLayersFunctions.h:126
TArray< FSoftObjectPath > AvailableLayerPaths
Definition MaterialLayersFunctions.h:125
Definition MaterialLayersFunctions.h:57
Definition MaterialLayersFunctions.h:30
TArray< FGuid > BlendIDs
Definition MaterialLayersFunctions.h:32
TArray< bool > LayerStates
Definition MaterialLayersFunctions.h:33
TArray< FGuid > LayerIDs
Definition MaterialLayersFunctions.h:31
Definition MaterialLayersFunctions.h:131
bool operator!=(const FMaterialLayersFunctionsRuntimeData &Other) const
Definition MaterialLayersFunctions.h:191
bool operator==(const FMaterialLayersFunctionsRuntimeData &Other) const
Definition MaterialLayersFunctions.h:172
FMaterialLayersFunctionsRuntimeData & operator=(const FMaterialLayersFunctions &Rhs)=delete
void Empty()
Definition MaterialLayersFunctions.h:165
FMaterialLayersFunctionsRuntimeData & operator=(const FMaterialLayersFunctionsRuntimeData &Rhs)
Definition MaterialLayersFunctions.h:153
FMaterialLayersFunctionsRuntimeData(const FMaterialLayersFunctions &Rhs)=delete
Definition MaterialLayersFunctions.h:221
bool IsEmpty() const
Definition MaterialLayersFunctions.h:247
bool operator!=(const FMaterialLayersFunctions &Other) const
Definition MaterialLayersFunctions.h:385
FMaterialLayersFunctions()=default
bool operator==(const FMaterialLayersFunctions &Other) const
Definition MaterialLayersFunctions.h:370
static ENGINE_API const FGuid BackgroundGuid
Definition MaterialLayersFunctions.h:228
FMaterialLayersFunctionsRuntimeData & GetRuntime()
Definition MaterialLayersFunctions.h:233
FMaterialLayersFunctions(const FMaterialLayersFunctionsRuntimeData &)=delete
const FMaterialLayersFunctionsRuntimeData & GetRuntime() const
Definition MaterialLayersFunctions.h:234
Definition PropertyTag.h:38
Definition StaticParameterSet.h:462
Definition ObjectPtr.h:488
Definition StructOpsTypeTraits.h:11
@ WithStructuredSerializeFromMismatchedTag
Definition StructOpsTypeTraits.h:29
Definition StructOpsTypeTraits.h:46