// Copyright 1998-2015 Epic Games, Inc. All Rights Reserved. #include "SoundClassEditorPrivatePCH.h" #include "SoundClassEditorModule.h" #include "SoundClassEditor.h" #include "ModuleManager.h" #include "SoundDefinitions.h" const FName SoundClassEditorAppIdentifier = FName(TEXT("SoundClassEditorApp")); /** * Sound class editor module */ class FSoundClassEditorModule : public ISoundClassEditorModule { public: /** Constructor, set up console commands and variables **/ FSoundClassEditorModule() { } /** * Called right after the module DLL has been loaded and the module object has been created */ virtual void StartupModule() override { MenuExtensibilityManager = MakeShareable(new FExtensibilityManager); ToolBarExtensibilityManager = MakeShareable(new FExtensibilityManager); } /** * Called before the module is unloaded, right before the module object is destroyed. */ virtual void ShutdownModule() override { MenuExtensibilityManager.Reset(); ToolBarExtensibilityManager.Reset(); } /** * Creates a new sound class editor for a sound class object */ virtual TSharedRef CreateSoundClassEditor( const EToolkitMode::Type Mode, const TSharedPtr< IToolkitHost >& InitToolkitHost, USoundClass* InSoundClass ) override { TSharedRef NewSoundClassEditor(new FSoundClassEditor()); NewSoundClassEditor->InitSoundClassEditor(Mode, InitToolkitHost, InSoundClass); return NewSoundClassEditor; } /** Gets the extensibility managers for outside entities to extend static mesh editor's menus and toolbars */ virtual TSharedPtr GetMenuExtensibilityManager() override { return MenuExtensibilityManager; } virtual TSharedPtr GetToolBarExtensibilityManager() override { return ToolBarExtensibilityManager; } private: TSharedPtr MenuExtensibilityManager; TSharedPtr ToolBarExtensibilityManager; }; IMPLEMENT_MODULE( FSoundClassEditorModule, SoundClassEditor );