You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
This change completely removes Matinee from the codebase. The data types and runtime evaluation code are gone. The "InterpEdit" editor mode, asset factories, and other editor support for Matinee is gone. CameraAnims and their sequencer tracks are gone. FBX import/export for Matinee assets is gone. #preflight 62d0591e562520a394bca1d1 #preflight 62d194f63c3df323904679c1 #jira UE-105313 #rb none #ROBOMERGE-OWNER: max.chen #ROBOMERGE-AUTHOR: ludovic.chabant #ROBOMERGE-SOURCE: CL 21116312 via CL 21116339 via CL 21118051 #ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824) [CL 21142481 by max chen in ue5-main branch]
140 lines
5.6 KiB
C++
140 lines
5.6 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "Modules/ModuleInterface.h"
|
|
#include "Modules/ModuleManager.h"
|
|
#include "Misc/Guid.h"
|
|
#include "Curves/RichCurve.h"
|
|
#include "Containers/UnrealString.h"
|
|
#include "IMovieSceneTools.h"
|
|
|
|
struct FAssetData;
|
|
|
|
class UK2Node;
|
|
class UBlueprint;
|
|
class UMovieScene;
|
|
class UMovieSceneSection;
|
|
class UMovieSceneEventSectionBase;
|
|
class IMovieSceneToolsTrackImporter;
|
|
class ULevelSequence;
|
|
|
|
class IMovieSceneToolsTakeData
|
|
{
|
|
public:
|
|
virtual bool GatherTakes(const UMovieSceneSection* Section, TArray<FAssetData>& AssetData, uint32& OutCurrentTakeNumber) = 0;
|
|
virtual bool GetTakeNumber(const UMovieSceneSection* Section, FAssetData AssetData, uint32& OutTakeNumber) = 0;
|
|
virtual bool SetTakeNumber(const UMovieSceneSection*, uint32 InTakeNumber) = 0;
|
|
};
|
|
|
|
//Interface to get notifications when an animation bake happens in case in needs to run custom code
|
|
class IMovieSceneToolsAnimationBakeHelper
|
|
{
|
|
public:
|
|
virtual void StartBaking(UMovieScene* MovieScene) {};
|
|
virtual void PreEvaluation(UMovieScene* MovieScene, FFrameNumber Frame) {};
|
|
virtual void PostEvaluation(UMovieScene* MovieScene, FFrameNumber Frame) {};
|
|
virtual void StopBaking(UMovieScene* MovieScene) {};
|
|
};
|
|
|
|
/**
|
|
* Implements the MovieSceneTools module.
|
|
*/
|
|
class MOVIESCENETOOLS_API FMovieSceneToolsModule
|
|
: public IMovieSceneTools
|
|
{
|
|
public:
|
|
|
|
static inline FMovieSceneToolsModule& Get()
|
|
{
|
|
return FModuleManager::LoadModuleChecked< FMovieSceneToolsModule >("MovieSceneTools");
|
|
}
|
|
|
|
// IModuleInterface interface
|
|
virtual void StartupModule() override;
|
|
virtual void ShutdownModule() override;
|
|
|
|
void RegisterAnimationBakeHelper(IMovieSceneToolsAnimationBakeHelper* BakeHelper);
|
|
void UnregisterAnimationBakeHelper(IMovieSceneToolsAnimationBakeHelper* BakeHelper);
|
|
const TArray<IMovieSceneToolsAnimationBakeHelper*>& GetAnimationBakeHelpers() { return BakeHelpers; }
|
|
void RegisterTakeData(IMovieSceneToolsTakeData*);
|
|
void UnregisterTakeData(IMovieSceneToolsTakeData*);
|
|
|
|
bool GatherTakes(const UMovieSceneSection* Section, TArray<FAssetData>& AssetData, uint32& OutCurrentTakeNumber);
|
|
bool GetTakeNumber(const UMovieSceneSection* Section, FAssetData AssetData, uint32& OutTakeNumber);
|
|
bool SetTakeNumber(const UMovieSceneSection* Section, uint32 InTakeNumber);
|
|
|
|
void RegisterTrackImporter(IMovieSceneToolsTrackImporter*);
|
|
void UnregisterTrackImporter(IMovieSceneToolsTrackImporter*);
|
|
|
|
bool ImportAnimatedProperty(const FString& InPropertyName, const FRichCurve& InCurve, FGuid InBinding, UMovieScene* InMovieScene);
|
|
bool ImportStringProperty(const FString& InPropertyName, const FString& InPropertyValue, FGuid InBinding, UMovieScene* InMovieScene);
|
|
|
|
private:
|
|
|
|
void RegisterClipboardConversions();
|
|
|
|
static void FixupPayloadParameterNameForSection(UMovieSceneEventSectionBase* Section, UK2Node* InNode, FName OldPinName, FName NewPinName);
|
|
static bool UpgradeLegacyEventEndpointForSection(UMovieSceneEventSectionBase* Section);
|
|
static void PostDuplicateEventSection(UMovieSceneEventSectionBase* Section);
|
|
static void RemoveForCookEventSection(UMovieSceneEventSectionBase* Section);
|
|
static bool IsTrackClassAllowed(UClass* InClass);
|
|
static void PostDuplicateEvent(ULevelSequence* LevelSequence);
|
|
|
|
private:
|
|
|
|
/** Registered delegate handles */
|
|
FDelegateHandle BoolPropertyTrackCreateEditorHandle;
|
|
FDelegateHandle BytePropertyTrackCreateEditorHandle;
|
|
FDelegateHandle ColorPropertyTrackCreateEditorHandle;
|
|
FDelegateHandle FloatPropertyTrackCreateEditorHandle;
|
|
FDelegateHandle DoublePropertyTrackCreateEditorHandle;
|
|
FDelegateHandle IntegerPropertyTrackCreateEditorHandle;
|
|
FDelegateHandle FloatVectorPropertyTrackCreateEditorHandle;
|
|
FDelegateHandle DoubleVectorPropertyTrackCreateEditorHandle;
|
|
FDelegateHandle TransformPropertyTrackCreateEditorHandle;
|
|
FDelegateHandle EulerTransformPropertyTrackCreateEditorHandle;
|
|
FDelegateHandle VisibilityPropertyTrackCreateEditorHandle;
|
|
FDelegateHandle ActorReferencePropertyTrackCreateEditorHandle;
|
|
FDelegateHandle StringPropertyTrackCreateEditorHandle;
|
|
FDelegateHandle ObjectTrackCreateEditorHandle;
|
|
|
|
FDelegateHandle AnimationTrackCreateEditorHandle;
|
|
FDelegateHandle AttachTrackCreateEditorHandle;
|
|
FDelegateHandle AudioTrackCreateEditorHandle;
|
|
FDelegateHandle EventTrackCreateEditorHandle;
|
|
FDelegateHandle ParticleTrackCreateEditorHandle;
|
|
FDelegateHandle ParticleParameterTrackCreateEditorHandle;
|
|
FDelegateHandle PathTrackCreateEditorHandle;
|
|
FDelegateHandle CameraCutTrackCreateEditorHandle;
|
|
FDelegateHandle CinematicShotTrackCreateEditorHandle;
|
|
FDelegateHandle SlomoTrackCreateEditorHandle;
|
|
FDelegateHandle SubTrackCreateEditorHandle;
|
|
FDelegateHandle TransformTrackCreateEditorHandle;
|
|
FDelegateHandle ComponentMaterialTrackCreateEditorHandle;
|
|
FDelegateHandle FadeTrackCreateEditorHandle;
|
|
FDelegateHandle SpawnTrackCreateEditorHandle;
|
|
FDelegateHandle LevelVisibilityTrackCreateEditorHandle;
|
|
FDelegateHandle DataLayerTrackCreateEditorHandle;
|
|
FDelegateHandle CameraShakeTrackCreateEditorHandle;
|
|
FDelegateHandle MPCTrackCreateEditorHandle;
|
|
FDelegateHandle PrimitiveMaterialCreateEditorHandle;
|
|
FDelegateHandle CameraShakeSourceShakeCreateEditorHandle;
|
|
FDelegateHandle CVarTrackCreateEditorHandle;
|
|
|
|
FDelegateHandle CameraCutTrackModelHandle;
|
|
FDelegateHandle CinematicShotTrackModelHandle;
|
|
|
|
FDelegateHandle GenerateEventEntryPointsHandle;
|
|
FDelegateHandle FixupPayloadParameterNameHandle;
|
|
FDelegateHandle UpgradeLegacyEventEndpointHandle;
|
|
|
|
FDelegateHandle OnObjectsReplacedHandle;
|
|
|
|
TArray<IMovieSceneToolsTakeData*> TakeDatas;
|
|
TArray<IMovieSceneToolsTrackImporter*> TrackImporters;
|
|
|
|
TArray<IMovieSceneToolsAnimationBakeHelper*> BakeHelpers;
|
|
};
|