Files
2025-05-18 13:04:45 +08:00

39 lines
983 B
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "ISequencerModule.h"
#include "CoreMinimal.h"
#include "Modules/ModuleInterface.h"
#include "Modules/ModuleManager.h"
#include "GeometryCollectionTrackEditor.h"
/**
* The public interface to this module
*/
class FGeometryCollectionSequencerModule : public IModuleInterface
{
public:
virtual void StartupModule() override
{
ISequencerModule& SequencerModule = FModuleManager::Get().LoadModuleChecked<ISequencerModule>("Sequencer");
TrackEditorBindingHandle = SequencerModule.RegisterTrackEditor(FOnCreateTrackEditor::CreateStatic(&FGeometryCollectionTrackEditor::CreateTrackEditor));
}
virtual void ShutdownModule() override
{
ISequencerModule* SequencerModulePtr = FModuleManager::Get().GetModulePtr<ISequencerModule>("Sequencer");
if (SequencerModulePtr)
{
SequencerModulePtr->UnRegisterTrackEditor(TrackEditorBindingHandle);
}
}
FDelegateHandle TrackEditorBindingHandle;
};