Files
UnrealEngineUWP/Engine/Source/Editor/CurveTableEditor/Private/CurveTableEditorHandle.cpp
Louise Rasmussen 24d436a1f1 Curve Table Editor Undo / Redo
- also fixes memory leak

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

[CL 18140736 by Louise Rasmussen in ue5-main branch]
2021-11-10 18:16:07 -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();
}