Files
UnrealEngineUWP/Engine/Source/Editor/Sequencer/Private/SequencerModule.cpp
Matt Kuhlenschmidt 78bfa3fa8b Basic UMG animation work
- Refactored sequencer to take in an object binding manager to manage the handles to objects that are being used at runtime.
- Wrote binding manager for UMG
- Added basic UFunction calling instead of setting properties directly

[CL 2107387 by Matt Kuhlenschmidt in Main branch]
2014-06-16 16:37:22 -04:00

71 lines
2.3 KiB
C++

// Copyright 1998-2014 Epic Games, Inc. All Rights Reserved.
#include "SequencerPrivatePCH.h"
#include "ModuleManager.h"
#include "Sequencer.h"
#include "Toolkits/ToolkitManager.h"
#include "SequencerCommands.h"
#include "SequencerAssetEditor.h"
/**
* SequencerModule implementation (private)
*/
class FSequencerModule : public ISequencerModule
{
/** ISequencerModule interface */
virtual TSharedPtr<ISequencer> CreateSequencer( UMovieScene* RootMovieScene, TSharedRef<ISequencerObjectBindingManager> ObjectBindingManager ) override
{
TSharedRef< FSequencer > Sequencer = MakeShareable(new FSequencer);
FSequencerInitParams SequencerInitParams;
SequencerInitParams.ObjectChangeListener = MakeShareable( new FSequencerObjectChangeListener( Sequencer, false ) );
SequencerInitParams.ObjectBindingManager = ObjectBindingManager;
SequencerInitParams.RootMovieScene = RootMovieScene;
SequencerInitParams.bEditWithinLevelEditor = false;
SequencerInitParams.ToolkitHost = nullptr;
Sequencer->InitSequencer( SequencerInitParams, TrackEditorDelegates );
return Sequencer;
}
virtual TSharedPtr<ISequencer> CreateSequencerAssetEditor( const EToolkitMode::Type Mode, const TSharedPtr< class IToolkitHost >& InitToolkitHost, UMovieScene* InRootMovieScene, bool bEditWithinLevelEditor ) override
{
TSharedRef< FSequencerAssetEditor > SequencerAssetEditor = MakeShareable(new FSequencerAssetEditor);
SequencerAssetEditor->InitSequencerAssetEditor( Mode, InitToolkitHost, InRootMovieScene, TrackEditorDelegates, bEditWithinLevelEditor );
return SequencerAssetEditor->GetSequencerInterface();
}
virtual void RegisterTrackEditor( FOnCreateTrackEditor InOnCreateTrackEditor ) override
{
TrackEditorDelegates.AddUnique( InOnCreateTrackEditor );
}
virtual void UnRegisterTrackEditor( FOnCreateTrackEditor InOnCreateTrackEditor ) override
{
TrackEditorDelegates.Remove( InOnCreateTrackEditor );
}
virtual void StartupModule() override
{
FSequencerCommands::Register();
}
virtual void ShutdownModule() override
{
FSequencerCommands::Unregister();
}
private:
/** List of auto-key handler delegates sequencers will execute when they are created */
TArray< FOnCreateTrackEditor > TrackEditorDelegates;
};
IMPLEMENT_MODULE( FSequencerModule, Sequencer );