Files
UnrealEngineUWP/Engine/Source/Editor/CurveTableEditor/Private/CurveTableEditorHandle.cpp
louise rasmussen f2a3f72592 Curve Table Editor Undo / Redo
- also fixes memory leak

#JIRA UETOOL-3357
#rb Lauren.Barnes
#preflight 618c0571b253729fe22756ae

#ROBOMERGE-AUTHOR: louise.rasmussen
#ROBOMERGE-SOURCE: CL 18140736 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v889-18060218)

[CL 18140753 by louise rasmussen in ue5-release-engine-test branch]
2021-11-10 18:16:33 -05:00

95 lines
1.8 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "CurveTableEditorHandle.h"
FRealCurve* FCurveTableEditorHandle::GetCurve() const
{
if (CurveTable != nullptr && RowName != NAME_None)
{
return CurveTable.Get()->FindCurve(RowName, TEXT("CurveTableEditorHandle::GetCurve"));
}
return nullptr;
}
FRichCurve* FCurveTableEditorHandle::GetRichCurve() const
{
if (CurveTable != nullptr && RowName != NAME_None)
{
return CurveTable.Get()->FindRichCurve(RowName, TEXT("CurveTableEditorHandle::GetCurve"));
}
return nullptr;
}
bool FCurveTableEditorHandle::HasRichCurves() const
{
if (CurveTable != nullptr)
{
return CurveTable.Get()->HasRichCurves();
}
return false;
}
TArray<FRichCurveEditInfoConst> FCurveTableEditorHandle::GetCurves() const
{
TArray<FRichCurveEditInfoConst> Curves;
const FRealCurve* Curve = GetCurve();
if (Curve)
{
Curves.Add(FRichCurveEditInfoConst(Curve, RowName));
}
return Curves;
}
TArray<FRichCurveEditInfo> FCurveTableEditorHandle::GetCurves()
{
TArray<FRichCurveEditInfo> Curves;
FRealCurve* Curve = GetCurve();
if (Curve)
{
Curves.Add(FRichCurveEditInfo(Curve, RowName));
}
return Curves;
}
TArray<const UObject*> FCurveTableEditorHandle::GetOwners() const
{
TArray<const UObject*> Owners;
if (CurveTable != nullptr)
{
Owners.Add(CurveTable.Get());
}
return Owners;
}
void FCurveTableEditorHandle::ModifyOwner()
{
if (CurveTable != nullptr && RowName != NAME_None)
{
CurveTable->Modify();
}
}
void FCurveTableEditorHandle::MakeTransactional()
{
if (CurveTable != nullptr)
{
CurveTable->SetFlags(CurveTable->GetFlags() | RF_Transactional);
}
}
void FCurveTableEditorHandle::OnCurveChanged(const TArray<FRichCurveEditInfo>& ChangedCurveEditInfos)
{
}
bool FCurveTableEditorHandle::IsValidCurve(FRichCurveEditInfo CurveInfo)
{
return CurveInfo.CurveToEdit == GetCurve();
}