2016-01-07 08:17:16 -05:00
|
|
|
// Copyright 1998-2016 Epic Games, Inc. All Rights Reserved.
|
2015-09-07 09:32:51 -04:00
|
|
|
|
|
|
|
|
#include "GeometryCacheEdModulePublicPCH.h"
|
|
|
|
|
#include "GeometryCacheEdModule.h"
|
|
|
|
|
#include "IAssetTools.h"
|
|
|
|
|
#include "ComponentAssetBroker.h"
|
|
|
|
|
#include "AssetTypeActions_GeometryCache.h"
|
|
|
|
|
#include "GeometryCacheAssetBroker.h"
|
|
|
|
|
#include "GeometryCacheComponent.h"
|
2015-09-09 11:43:12 -04:00
|
|
|
#include "GeometryCacheThumbnailRenderer.h"
|
2015-09-07 09:32:51 -04:00
|
|
|
|
|
|
|
|
IMPLEMENT_MODULE(FGeometryCacheEdModule, GeometryCacheEd)
|
|
|
|
|
|
|
|
|
|
void FGeometryCacheEdModule::StartupModule()
|
|
|
|
|
{
|
|
|
|
|
FAssetToolsModule& AssetToolsModule = FAssetToolsModule::GetModule();
|
|
|
|
|
|
|
|
|
|
IAssetTools& AssetTools = AssetToolsModule.Get();
|
|
|
|
|
AssetAction = new FAssetTypeActions_GeometryCache();
|
|
|
|
|
AssetTools.RegisterAssetTypeActions(MakeShareable(AssetAction));
|
|
|
|
|
|
|
|
|
|
AssetBroker = new FGeometryCacheAssetBroker();
|
|
|
|
|
FComponentAssetBrokerage::RegisterBroker(MakeShareable(AssetBroker), UGeometryCacheComponent::StaticClass(), true, true);
|
2015-09-09 11:43:12 -04:00
|
|
|
|
|
|
|
|
UThumbnailManager::Get().RegisterCustomRenderer(UGeometryCache::StaticClass(), UGeometryCacheThumbnailRenderer::StaticClass());
|
2015-09-07 09:32:51 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void FGeometryCacheEdModule::ShutdownModule()
|
|
|
|
|
{
|
|
|
|
|
if (UObjectInitialized())
|
|
|
|
|
{
|
|
|
|
|
FAssetToolsModule& AssetToolsModule = FAssetToolsModule::GetModule();
|
|
|
|
|
IAssetTools& AssetTools = AssetToolsModule.Get();
|
|
|
|
|
AssetTools.UnregisterAssetTypeActions(AssetAction->AsShared());
|
|
|
|
|
FComponentAssetBrokerage::UnregisterBroker(MakeShareable(AssetBroker));
|
2015-09-10 04:16:53 -04:00
|
|
|
UThumbnailManager::Get().UnregisterCustomRenderer(UGeometryCache::StaticClass());
|
2015-09-07 09:32:51 -04:00
|
|
|
}
|
|
|
|
|
}
|