You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
- Deprecated public access to AnimReference
* Used for new behaviour that keeps track of PlayLength from referenced asset
* In case the cached PlayLength does not match the current _and_ the cache playlength == than the segment length it can be deemed out-of-date due to a reimport
* Out-of-date segments show in the OrangeAccent on the timeline rather than GreenAccent
* Out-of-date segments will introduce log warnings on-load
- Patched up all paths using AnimReference (get/set)
- Modernized parts of EditorAnim* files
- Face-lifted details customization for AnimSegment
* Scrollboxes now have (dynamic) UI/Clamp according to the context
* Added behaviour for interactive operation when dragging the timeline (dragable) bars
- Implemented FAnimModel_AnimMontage::OnDataModelChanged to handle curve changes only - as play length etc is handled by montage editor itself
#rb Thomas.Sarkanen
#preflight 620fb4c9be45100d32bcc000
#ROBOMERGE-OWNER: jurre.debaare
#ROBOMERGE-AUTHOR: jurre.debaare
#ROBOMERGE-SOURCE: CL 19051190 via CL 19051207 via CL 19051231 via CL 19051241 via CL 19058489
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v918-19018356)
[CL 19066040 by jurre debaare in ue5-main branch]
50 lines
1.3 KiB
C++
50 lines
1.3 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
/*=============================================================================
|
|
AnimMontage.cpp: Montage classes that contains slots
|
|
=============================================================================*/
|
|
|
|
#include "Animation/EditorAnimBaseObj.h"
|
|
#include "Animation/AnimSequenceBase.h"
|
|
|
|
#define LOCTEXT_NAMESPACE "SSkeletonTree"
|
|
|
|
UEditorAnimBaseObj::UEditorAnimBaseObj(const FObjectInitializer& ObjectInitializer)
|
|
: Super(ObjectInitializer)
|
|
{
|
|
}
|
|
|
|
void UEditorAnimBaseObj::InitFromAnim(UAnimSequenceBase* AnimObjectIn, FOnAnimObjectChange OnChangeIn)
|
|
{
|
|
AnimObject = AnimObjectIn;
|
|
OnChange = OnChangeIn;
|
|
}
|
|
|
|
bool UEditorAnimBaseObj::ApplyChangesToMontage()
|
|
{
|
|
return false;
|
|
}
|
|
|
|
void UEditorAnimBaseObj::PreEditChange(FProperty* PropertyThatWillChange)
|
|
{
|
|
Super::PreEditChange(PropertyThatWillChange);
|
|
|
|
//Handle undo from the details panel
|
|
AnimObject->Modify();
|
|
}
|
|
|
|
void UEditorAnimBaseObj::PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent)
|
|
{
|
|
Super::PostEditChangeProperty(PropertyChangedEvent);
|
|
|
|
if(OnChange.IsBound() && PropertyChangedEvent.ChangeType != EPropertyChangeType::Interactive)
|
|
{
|
|
if (ApplyChangesToMontage())
|
|
{
|
|
OnChange.Execute(this, PropertyChangeRequiresRebuild(PropertyChangedEvent));
|
|
}
|
|
}
|
|
}
|
|
|
|
#undef LOCTEXT_NAMESPACE
|