Files
UnrealEngineUWP/Engine/Source/Runtime/AnimGraphRuntime/Public/SequencerAnimationSupport.h
mike zyracki 9833a94abd Sequencer: Need to make sure we re-Construct the Animation Sequence Nodes when entering a section since it may have been changed to a pose snapshot node. Also made sure ConstructNodes really just sets them up lightly since it's used by both SequencerInst/ControlRigInst.
#jira UE-87806
#rb max.chen

#ROBOMERGE-SOURCE: CL 11446379 in //UE4/Release-4.25/...
#ROBOMERGE-BOT: RELEASE (Release-4.25 -> Release-4.25Plus) (v654-11333218)

[CL 11446390 by mike zyracki in 4.25-Plus branch]
2020-02-14 13:57:22 -05:00

47 lines
1.5 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
/**
* Sequencer Animation Track Support interface - this is required for animation track to work
*/
#pragma once
#include "CoreMinimal.h"
#include "UObject/Object.h"
#include "UObject/Interface.h"
#include "SequencerAnimationSupport.generated.h"
class UAnimInstance;
class UAnimSequenceBase;
UINTERFACE(meta = (CannotImplementInterfaceInBlueprint))
class ANIMGRAPHRUNTIME_API USequencerAnimationSupport : public UInterface
{
GENERATED_UINTERFACE_BODY()
};
class ANIMGRAPHRUNTIME_API ISequencerAnimationSupport
{
GENERATED_IINTERFACE_BODY()
/** Source Animation Getter for the support of the Sequencer Animation Track interface */
virtual UAnimInstance* GetSourceAnimInstance() = 0;
virtual void SetSourceAnimInstance(UAnimInstance* SourceAnimInstance) = 0;
virtual bool DoesSupportDifferentSourceAnimInstance() const = 0;
/** Update an animation sequence player in this instance */
virtual void UpdateAnimTrack(UAnimSequenceBase* InAnimSequence, int32 SequenceId, float InPosition, float Weight, bool bFireNotifies) = 0;
virtual void UpdateAnimTrack(UAnimSequenceBase* InAnimSequence, int32 SequenceId, float InFromPosition, float InToPosition, float Weight, bool bFireNotifies) = 0;
/** Construct all nodes in this instance */
virtual void ConstructNodes() = 0;
/** Reset all nodes in this instance */
virtual void ResetNodes() = 0;
/** Reset the pose for this instance*/
virtual void ResetPose() = 0;
/** Saved the named pose to restore after */
virtual void SavePose() = 0;
};