// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "CoreMinimal.h" #include "Modules/ModuleInterface.h" #include "Framework/Commands/UICommandList.h" #include "Framework/MultiBox/MultiBoxExtender.h" #include "Toolkits/AssetEditorToolkit.h" #include "ISkeletalMeshEditor.h" DECLARE_LOG_CATEGORY_EXTERN(LogSkeletalMeshEditor, Log, All); class ISkeletalMeshEditorModule : public IModuleInterface, public IHasMenuExtensibility, public IHasToolBarExtensibility { public: /** Creates a new skeleton editor instance */ virtual TSharedRef CreateSkeletalMeshEditor(const EToolkitMode::Type Mode, const TSharedPtr& InitToolkitHost, class USkeletalMesh* InSkeletalMesh) = 0; /** Get all toolbar extenders */ DECLARE_DELEGATE_RetVal_TwoParams(TSharedRef, FSkeletalMeshEditorToolbarExtender, const TSharedRef /*InCommandList*/, TSharedRef /*InSkeletalMeshEditor*/); virtual TArray& GetAllSkeletalMeshEditorToolbarExtenders() = 0; /** Add callback after editor has been initialized */ DECLARE_DELEGATE_OneParam(FOnSkeletalMeshEditorInitialized, TWeakPtr); virtual TArray& GetPostEditorInitDelegates() = 0; };