39 lines
1.4 KiB
C++
39 lines
1.4 KiB
C++
// Copyright (c), Firelight Technologies Pty, Ltd. 2024-2024.
|
|
|
|
#include "Modules/ModuleInterface.h"
|
|
#include "FMODAudioLinkSettingsFactory.h"
|
|
#include "FMODAudioLinkSettings.h"
|
|
#include "ISettingsModule.h"
|
|
|
|
class FAssetTypeActions_FMODAudioLinkSettings;
|
|
|
|
class FFMODAudioLinkEditorModule
|
|
{
|
|
public:
|
|
FFMODAudioLinkEditorModule()
|
|
{
|
|
// Register asset types
|
|
IAssetTools& AssetTools = FAssetToolsModule::GetModule().Get();
|
|
{
|
|
AssetActions = MakeShared<FAssetTypeActions_FMODAudioLinkSettings>();
|
|
AssetTools.RegisterAssetTypeActions(AssetActions.ToSharedRef());
|
|
|
|
if (ISettingsModule* SettingsModule = FModuleManager::Get().GetModulePtr<ISettingsModule>("Settings"))
|
|
{
|
|
SettingsModule->RegisterSettings("Project", "Plugins", "FMOD AudioLink", NSLOCTEXT("FMODAudioLink", "FMOD AudioLink", "FMOD AudioLink"),
|
|
NSLOCTEXT("FMODAudioLink", "Configure AudioLink for FMOD Settings", "Configure AudioLink for FMOD Settings"), GetMutableDefault<UFMODAudioLinkSettings>());
|
|
}
|
|
}
|
|
}
|
|
~FFMODAudioLinkEditorModule()
|
|
{
|
|
if (FAssetToolsModule::IsModuleLoaded())
|
|
{
|
|
IAssetTools& AssetTools = FAssetToolsModule::GetModule().Get();
|
|
AssetTools.UnregisterAssetTypeActions(AssetActions.ToSharedRef());
|
|
}
|
|
AssetActions.Reset();
|
|
}
|
|
private:
|
|
TSharedPtr<FAssetTypeActions_FMODAudioLinkSettings> AssetActions;
|
|
}; |