Files
UnrealEngine/Engine/Source/Developer/Merge/Private/SMergeAssetPickerView.h
2025-05-18 13:04:45 +08:00

44 lines
1.3 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "Widgets/DeclarativeSyntaxSupport.h"
#include "Widgets/SCompoundWidget.h"
#include "IAssetTypeActions.h"
#include "MergeUtils.h"
struct FBlueprintMergeData;
/*******************************************************************************
* FAssetRevisionInfo
******************************************************************************/
struct FAssetRevisionInfo
{
FString AssetName;
FRevisionInfo Revision;
};
/*******************************************************************************
* SMergeAssetPickerView
******************************************************************************/
class SMergeAssetPickerView : public SCompoundWidget
{
DECLARE_DELEGATE_TwoParams(FOnMergeAssetChanged, EMergeAssetId::Type, const FAssetRevisionInfo&)
public:
SLATE_BEGIN_ARGS(SMergeAssetPickerView){}
SLATE_EVENT(FOnMergeAssetChanged, OnAssetChanged)
SLATE_END_ARGS()
void Construct(const FArguments InArgs, const FBlueprintMergeData& InData);
private:
void HandleAssetChange(const UObject* NewAsset, EMergeAssetId::Type PanelId);
void HandleRevisionChange(const FRevisionInfo& NewRevision, EMergeAssetId::Type PanelId);
FOnMergeAssetChanged OnAssetChanged;
FAssetRevisionInfo MergeAssetSet[EMergeAssetId::Count];
};