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;
|
||
|
};
|