2020-01-22 17:58:55 -05:00
|
|
|
// 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"
|
2022-07-20 11:31:36 -04:00
|
|
|
#include "HAL/Platform.h"
|
2020-01-22 17:58:55 -05:00
|
|
|
#include "UObject/Interface.h"
|
2022-07-20 11:31:36 -04:00
|
|
|
#include "UObject/Object.h"
|
|
|
|
|
#include "UObject/ObjectMacros.h"
|
|
|
|
|
#include "UObject/UObjectGlobals.h"
|
|
|
|
|
|
2020-01-22 17:58:55 -05:00
|
|
|
#include "SequencerAnimationSupport.generated.h"
|
|
|
|
|
|
|
|
|
|
class UAnimInstance;
|
|
|
|
|
class UAnimSequenceBase;
|
2022-07-20 11:31:36 -04:00
|
|
|
class UObject;
|
2020-01-22 17:58:55 -05:00
|
|
|
|
2023-06-17 18:13:06 -04:00
|
|
|
UINTERFACE(meta = (CannotImplementInterfaceInBlueprint), MinimalAPI)
|
|
|
|
|
class USequencerAnimationSupport : public UInterface
|
2020-01-22 17:58:55 -05:00
|
|
|
{
|
|
|
|
|
GENERATED_UINTERFACE_BODY()
|
|
|
|
|
};
|
|
|
|
|
|
2023-06-17 18:13:06 -04:00
|
|
|
class ISequencerAnimationSupport
|
2020-01-22 17:58:55 -05:00
|
|
|
{
|
|
|
|
|
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;
|
|
|
|
|
|
2020-02-14 13:57:22 -05:00
|
|
|
/** Construct all nodes in this instance */
|
|
|
|
|
virtual void ConstructNodes() = 0;
|
|
|
|
|
|
2020-01-22 17:58:55 -05:00
|
|
|
/** 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;
|
|
|
|
|
};
|
|
|
|
|
|