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

43 lines
1.2 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "Engine/CurveTable.h"
#include "Kismet2/ListenerManager.h"
struct UNREALED_API FCurveTableEditorUtils
{
enum class ECurveTableChangeInfo
{
/** The data corresponding to a single row has been changed */
RowData,
/** The data corresponding to the entire list of rows has been changed */
RowList,
};
enum class ERowMoveDirection
{
Up,
Down,
};
class FCurveTableEditorManager: public FListenerManager<UCurveTable, ECurveTableChangeInfo>
{
FCurveTableEditorManager() {}
public:
UNREALED_API static FCurveTableEditorManager& Get();
class UNREALED_API ListenerType: public InnerListenerType<FCurveTableEditorManager>
{
public:
virtual void SelectionChange(const UCurveTable* CurveTable, FName RowName) {}
};
};
typedef FCurveTableEditorManager::ListenerType INotifyOnCurveTableChanged;
static void BroadcastPreChange(UCurveTable* DataTable, ECurveTableChangeInfo Info);
static void BroadcastPostChange(UCurveTable* DataTable, ECurveTableChangeInfo Info);
};