52 lines
1.6 KiB
C++
52 lines
1.6 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 "HAL/Platform.h"
|
|
#include "UObject/Interface.h"
|
|
#include "UObject/Object.h"
|
|
#include "UObject/ObjectMacros.h"
|
|
#include "UObject/UObjectGlobals.h"
|
|
|
|
#include "SequencerAnimationSupport.generated.h"
|
|
|
|
class UAnimInstance;
|
|
class UAnimSequenceBase;
|
|
class UObject;
|
|
|
|
UINTERFACE(meta = (CannotImplementInterfaceInBlueprint), MinimalAPI)
|
|
class USequencerAnimationSupport : public UInterface
|
|
{
|
|
GENERATED_UINTERFACE_BODY()
|
|
};
|
|
|
|
class 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;
|
|
};
|
|
|