Files
UnrealEngineUWP/Engine/Source/Editor/Layers/Public/LayersModule.h
Ryan Vance 7c51ff94af Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR)
CL 1 of 8
#rb integration

[CL 4748712 by Ryan Vance in Dev-VR branch]
2019-01-17 18:54:05 -05:00

50 lines
1.3 KiB
C++

// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "Modules/ModuleInterface.h"
#include "Framework/Commands/UICommandList.h"
#include "Framework/MultiBox/MultiBoxExtender.h"
class AActor;
/**
* The module holding all of the UI related peices for Layers
*/
class FLayersModule : public IModuleInterface
{
public:
/**
* Called right after the module DLL has been loaded and the module object has been created
*/
virtual void StartupModule();
/**
* Called before the module is unloaded, right before the module object is destroyed.
*/
virtual void ShutdownModule();
/**
* Creates a Layer Browser widget
*/
virtual TSharedRef<class SWidget> CreateLayerBrowser();
/**
* Creates a widget that represents the layers the specified actors share in common as a cloud
*/
virtual TSharedRef< class SWidget> CreateLayerCloud( const TArray< TWeakObjectPtr< AActor > >& Actors );
/** Delegates to be called to extend the layers menus */
DECLARE_DELEGATE_RetVal_OneParam( TSharedRef<FExtender>, FLayersMenuExtender, const TSharedRef<FUICommandList>);
virtual TArray<FLayersMenuExtender>& GetAllLayersMenuExtenders() {return LayersMenuExtenders;}
private:
/** All extender delegates for the layers menus */
TArray<FLayersMenuExtender> LayersMenuExtenders;
};