2019-12-26 14:45:42 -05:00
|
|
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
2019-10-01 20:41:42 -04:00
|
|
|
|
|
|
|
|
#include "Changes/TransformChange.h"
|
|
|
|
|
#include "Components/SceneComponent.h"
|
|
|
|
|
|
|
|
|
|
FComponentWorldTransformChange::FComponentWorldTransformChange()
|
|
|
|
|
{
|
|
|
|
|
FromWorldTransform = ToWorldTransform = FTransform::Identity;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
FComponentWorldTransformChange::FComponentWorldTransformChange(const FTransform& From, const FTransform& To)
|
|
|
|
|
{
|
|
|
|
|
FromWorldTransform = From;
|
|
|
|
|
ToWorldTransform = To;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void FComponentWorldTransformChange::Apply(UObject* Object)
|
|
|
|
|
{
|
|
|
|
|
USceneComponent* SceneComponent = CastChecked<USceneComponent>(Object);
|
|
|
|
|
SceneComponent->SetWorldTransform(ToWorldTransform);
|
|
|
|
|
|
|
|
|
|
if (OnChangeAppliedFunc)
|
|
|
|
|
{
|
|
|
|
|
OnChangeAppliedFunc(this, Object, true);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void FComponentWorldTransformChange::Revert(UObject* Object)
|
|
|
|
|
{
|
|
|
|
|
USceneComponent* SceneComponent = CastChecked<USceneComponent>(Object);
|
|
|
|
|
SceneComponent->SetWorldTransform(FromWorldTransform);
|
|
|
|
|
|
|
|
|
|
if (OnChangeAppliedFunc)
|
|
|
|
|
{
|
|
|
|
|
OnChangeAppliedFunc(this, Object, false);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FString FComponentWorldTransformChange::ToString() const
|
|
|
|
|
{
|
|
|
|
|
return FString(TEXT("Transform Change"));
|
|
|
|
|
}
|
|
|
|
|
|