// Copyright 1998-2015 Epic Games, Inc. All Rights Reserved. #include "AddContentDialogPCH.h" #include "AssertionMacros.h" #include "FeaturePackContentSourceProvider.h" #include "ModuleManager.h" #include "SDockTab.h" #include "WidgetCarouselModule.h" #define LOCTEXT_NAMESPACE "AddContentDialog" class FAddContentDialogModule : public IAddContentDialogModule { public: virtual void StartupModule() override { FModuleManager::LoadModuleChecked("WidgetCarousel"); ContentSourceProviderManager = TSharedPtr(new FContentSourceProviderManager()); ContentSourceProviderManager->RegisterContentSourceProvider(MakeShareable(new FFeaturePackContentSourceProvider())); FAddContentDialogStyle::Initialize(); } virtual void ShutdownModule() override { FAddContentDialogStyle::Shutdown(); } virtual TSharedRef GetContentSourceProviderManager() override { return ContentSourceProviderManager.ToSharedRef(); } virtual void ShowDialog(TSharedRef ParentWindow) override { if (AddContentDialog.IsValid() == false) { TSharedRef Dialog = SNew(SAddContentDialog); FSlateApplication::Get().AddWindowAsNativeChild(Dialog, ParentWindow); AddContentDialog = TWeakPtr(Dialog); } } private: TSharedPtr ContentSourceProviderManager; TWeakPtr AddContentDialog; }; IMPLEMENT_MODULE(FAddContentDialogModule, AddContentDialog); #undef LOCTEXT_NAMESPACE