EM_Task/UnrealEd/Classes/Factories/PoseAssetFactory.h
Boshuang Zhao 5144a49c9b add
2026-02-13 16:18:33 +08:00

50 lines
1.6 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
/**
*
*/
#pragma once
#include "CoreMinimal.h"
#include "UObject/ObjectMacros.h"
#include "Factories/Factory.h"
#include "PoseAssetFactory.generated.h"
struct FAssetData;
class SWindow;
class SMultiLineEditableTextBox;
UCLASS(HideCategories = Object, MinimalAPI)
class UPoseAssetFactory: public UFactory
{
GENERATED_UCLASS_BODY()
// The following Properties are BlueprintReadWrite to expose to Python / Blutilities
/* Used when creating a composite from an AnimSequence, becomes the only AnimSequence contained */
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "PoseAssetFactory")
class UAnimSequence* SourceAnimation;
/** Optional. If specified the poses will be named according to this array.
If you don't specify, or you don't specify enough names for all poses, then default names will be generated.*/
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "PoseAssetFactory")
TArray<FString> PoseNames;
// Only used for AnimationEditorUtils::ExecuteNewAnimAsset template. Do not use directly.
UPROPERTY()
class USkeleton* TargetSkeleton;
UPROPERTY()
class USkeletalMesh* PreviewSkeletalMesh;
//~ Begin UFactory Interface
virtual bool ConfigureProperties() override;
virtual UObject* FactoryCreateNew(UClass* Class, UObject* InParent, FName Name, EObjectFlags Flags, UObject* Context, FFeedbackContext* Warn) override;
//~ Begin UFactory Interface
private:
void OnWindowUserActionDelegate(bool bCreate, UAnimSequence* InSequence, const TArray<FString>& InPoseNames);
};