You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
56 lines
1.8 KiB
C++
56 lines
1.8 KiB
C++
// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
|
|
|
|
#include "NiagaraEditorModule.h"
|
|
#include "Modules/ModuleManager.h"
|
|
#include "IAssetTypeActions.h"
|
|
#include "AssetToolsModule.h"
|
|
#include "Misc/ConfigCacheIni.h"
|
|
|
|
#include "AssetTypeActions/AssetTypeActions_NiagaraEffect.h"
|
|
#include "AssetTypeActions/AssetTypeActions_NiagaraScript.h"
|
|
|
|
IMPLEMENT_MODULE( FNiagaraEditorModule, NiagaraEditor );
|
|
|
|
|
|
const FName FNiagaraEditorModule::NiagaraEditorAppIdentifier( TEXT( "NiagaraEditorApp" ) );
|
|
|
|
void FNiagaraEditorModule::StartupModule()
|
|
{
|
|
MenuExtensibilityManager = MakeShareable(new FExtensibilityManager);
|
|
ToolBarExtensibilityManager = MakeShareable(new FExtensibilityManager);
|
|
|
|
// Only allow asset creation if niagara has been enabled.
|
|
bool bEnableNiagara = false;
|
|
GConfig->GetBool(TEXT("Niagara"), TEXT("EnableNiagara"), bEnableNiagara, GEngineIni);
|
|
if (bEnableNiagara)
|
|
{
|
|
IAssetTools& AssetTools = FModuleManager::LoadModuleChecked<FAssetToolsModule>("AssetTools").Get();
|
|
RegisterAssetTypeAction(AssetTools, MakeShareable(new FAssetTypeActions_NiagaraEffect()));
|
|
RegisterAssetTypeAction(AssetTools, MakeShareable(new FAssetTypeActions_NiagaraScript()));
|
|
}
|
|
}
|
|
|
|
|
|
void FNiagaraEditorModule::ShutdownModule()
|
|
{
|
|
MenuExtensibilityManager.Reset();
|
|
ToolBarExtensibilityManager.Reset();
|
|
|
|
if (FModuleManager::Get().IsModuleLoaded("AssetTools"))
|
|
{
|
|
IAssetTools& AssetTools = FModuleManager::GetModuleChecked<FAssetToolsModule>("AssetTools").Get();
|
|
for (auto CreatedAssetTypeAction : CreatedAssetTypeActions)
|
|
{
|
|
AssetTools.UnregisterAssetTypeActions(CreatedAssetTypeAction.ToSharedRef());
|
|
}
|
|
}
|
|
CreatedAssetTypeActions.Empty();
|
|
}
|
|
|
|
|
|
void FNiagaraEditorModule::RegisterAssetTypeAction(IAssetTools& AssetTools, TSharedRef<IAssetTypeActions> Action)
|
|
{
|
|
AssetTools.RegisterAssetTypeActions(Action);
|
|
CreatedAssetTypeActions.Add(Action);
|
|
}
|