14#include "InterchangeFactoryBase.generated.h"
66UCLASS(BlueprintType, Blueprintable, Abstract, MinimalAPI)
75 UFUNCTION(BlueprintCallable, Category =
"Interchange | Factory")
84 UFUNCTION(BlueprintCallable, Category =
"Interchange | Factory")
96 FString AssetName = FString();
122 bool bIsFactorySkipAsset =
false;
127 UE_DEPRECATED(5.3,
"This function is replaced by BeginImportAsset_GameThread.")
156 UE_DEPRECATED(5.3,
"This function is replaced by ImportAsset_Async.")
161 if (Arguments.AssetNode && Arguments.AssetNode->GetCustomReferenceObject(ReferenceObject))
163 return ReferenceObject.
TryLoad();
241 bool bIsReimport =
false;
284 bool bIsReimport =
false;
329 UFUNCTION(BlueprintCallable, Category =
"Interchange | Factory")
338 UFUNCTION(BlueprintCallable, Category =
"Interchange | Factory")
376 template <
typename T>
379 check(Results !=
nullptr);
380 T* Item = Results->Add<T>();
387 check(Results !=
nullptr);
406 ExecutePreResetObjectProperties(BaseNodeContainer, FactoryNode, ImportedObject);
419 ExecuteResetObjectProperties(BaseNodeContainer, FactoryNode, ImportedObject);
431 ExecutePostResetObjectProperties(BaseNodeContainer, FactoryNode, ImportedObject);
443 return ReimportObject;
#define check(expr)
Definition AssertionMacros.h:314
@ INDEX_NONE
Definition CoreMiscDefines.h:150
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EReimportStrategyFlags
Definition InterchangeFactoryBaseNode.h:172
@ ApplyPipelineProperties
EInterchangeFactoryAssetType
Definition InterchangeFactoryBase.h:24
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UFUNCTION(...)
Definition ObjectMacros.h:745
#define UCLASS(...)
Definition ObjectMacros.h:776
#define UENUM(...)
Definition ObjectMacros.h:749
CORE_API bool IsInGameThread()
Definition ThreadingBase.cpp:185
Definition InterchangeFactoryBase.h:41
virtual void Execute()
Definition InterchangeFactoryBase.h:43
Definition SharedPointer.h:692
Definition InterchangeBaseNodeContainer.h:39
Definition InterchangeFactoryBaseNode.h:188
INTERCHANGECORE_API void RestoreAllCustomAttributeDelegates()
Definition InterchangeFactoryBaseNode.cpp:330
INTERCHANGECORE_API void ApplyAllCustomAttributeToObject(UObject *Object) const
Definition InterchangeFactoryBaseNode.cpp:294
INTERCHANGECORE_API bool GetCustomReferenceObject(FSoftObjectPath &AttributeValue) const
Definition InterchangeFactoryBaseNode.cpp:258
INTERCHANGECORE_API bool SetReimportStrategyFlags(const EReimportStrategyFlags &ReimportStrategyFlags)
Definition InterchangeFactoryBaseNode.cpp:164
INTERCHANGECORE_API EReimportStrategyFlags GetReimportStrategyFlags() const
Definition InterchangeFactoryBaseNode.cpp:156
INTERCHANGECORE_API void RemoveAllCustomAttributeDelegates()
Definition InterchangeFactoryBaseNode.cpp:350
Definition InterchangeFactoryBase.h:68
virtual UObject * ImportSceneObject_GameThread(const FImportSceneObjectsParams &Arguments)
Definition InterchangeFactoryBase.h:258
virtual void BackupSourceData(const UObject *Object) const
Definition InterchangeFactoryBase.h:347
virtual FImportAssetResult EndImportAsset_GameThread(const FImportAssetObjectParams &Arguments)
Definition InterchangeFactoryBase.h:191
virtual bool SetReimportSourceIndex(const UObject *Object, int32 SourceIndex) const
Definition InterchangeFactoryBase.h:368
virtual FImportAssetResult BeginImportAsset_GameThread(const FImportAssetObjectParams &Arguments)
Definition InterchangeFactoryBase.h:147
void AddMessage(UInterchangeResult *Item)
Definition InterchangeFactoryBase.h:385
void ResetObjectProperties(const UInterchangeBaseNodeContainer *BaseNodeContainer, UInterchangeFactoryBaseNode *FactoryNode, UObject *ImportedObject)
Definition InterchangeFactoryBase.h:413
virtual UObject * GetObjectToReimport(UObject *ReimportObject, const UInterchangeFactoryBaseNode &FactoryNode, const FString &PackageName, const FString &AssetName, const FString &SubPathString)
Definition InterchangeFactoryBase.h:441
virtual void ClearBackupSourceData(const UObject *Object) const
Definition InterchangeFactoryBase.h:361
virtual void FinalizeObject_GameThread(const FSetupObjectParams &Arguments)
Definition InterchangeFactoryBase.h:320
virtual void CreatePayloadTasks(const FImportAssetObjectParams &Arguments, bool bAsync, TArray< TSharedPtr< UE::Interchange::FInterchangeTaskBase > > &PayloadTasks)
Definition InterchangeFactoryBase.h:133
virtual void ExecutePostResetObjectProperties(const UInterchangeBaseNodeContainer *BaseNodeContainer, UInterchangeFactoryBaseNode *FactoryNode, UObject *ImportedObject)
Definition InterchangeFactoryBase.h:467
virtual void SetupObject_GameThread(const FSetupObjectParams &Arguments)
Definition InterchangeFactoryBase.h:291
void SetResultsContainer(UInterchangeResultsContainer *InResults)
Definition InterchangeFactoryBase.h:392
void PreResetObjectProperties(const UInterchangeBaseNodeContainer *BaseNodeContainer, UInterchangeFactoryBaseNode *FactoryNode, UObject *ImportedObject)
Definition InterchangeFactoryBase.h:401
virtual FImportAssetResult ImportAsset_Async(const FImportAssetObjectParams &Arguments)
Definition InterchangeFactoryBase.h:175
T * AddMessage()
Definition InterchangeFactoryBase.h:377
virtual void ReinstateSourceData(const UObject *Object) const
Definition InterchangeFactoryBase.h:354
virtual void BuildObject_GameThread(const FSetupObjectParams &Arguments, bool &OutPostEditchangeCalled)
Definition InterchangeFactoryBase.h:304
virtual void ExecutePreResetObjectProperties(const UInterchangeBaseNodeContainer *BaseNodeContainer, UInterchangeFactoryBaseNode *FactoryNode, UObject *ImportedObject)
Definition InterchangeFactoryBase.h:451
void PostResetObjectProperties(const UInterchangeBaseNodeContainer *BaseNodeContainer, UInterchangeFactoryBaseNode *FactoryNode, UObject *ImportedObject)
Definition InterchangeFactoryBase.h:429
virtual void Cancel()
Definition InterchangeFactoryBase.h:264
virtual void ExecuteResetObjectProperties(const UInterchangeBaseNodeContainer *BaseNodeContainer, UInterchangeFactoryBaseNode *FactoryNode, UObject *ImportedObject)
Definition InterchangeFactoryBase.h:459
Definition InterchangePipelineBase.h:217
Definition InterchangeResult.h:33
Definition InterchangeResultsContainer.h:21
Definition InterchangeSourceData.h:23
Definition InterchangeTranslatorBase.h:68
Definition SoftObjectPath.h:56
COREUOBJECT_API UObject * TryLoad(FUObjectSerializeContext *InLoadContext=nullptr) const
Definition SoftObjectPath.cpp:781
Definition ObjectPtr.h:488
Definition InterchangeFactoryBase.h:91
UInterchangeFactoryBaseNode * AssetNode
Definition InterchangeFactoryBase.h:99
Definition InterchangeFactoryBase.h:118
UObject * ImportedObject
Definition InterchangeFactoryBase.h:124
Definition InterchangeFactoryBase.h:207
FString ObjectName
Definition InterchangeFactoryBase.h:212
TArray< TObjectPtr< UObject > > ImportAssets
Definition InterchangeFactoryBase.h:236
Definition InterchangeFactoryBase.h:270
TArray< UObject * > OriginalPipelines
Definition InterchangeFactoryBase.h:281
TArray< UInterchangePipelineBase * > Pipelines
Definition InterchangeFactoryBase.h:280
UObject * ImportedObject
Definition InterchangeFactoryBase.h:277
FString NodeUniqueID
Definition InterchangeFactoryBase.h:278
UInterchangeTranslatorBase * Translator
Definition InterchangeFactoryBase.h:282