Files
UnrealEngineUWP/Engine/Source/Editor/LevelInstanceEditor/Private/LevelInstanceEditorModule.h
patrick enfedaque e94b7f660e LevelInstance: Editor Mode
#rb jeanfrancois.dube, richard.malo
#preflight 61a517c4664cbb92c7a2d602

#ROBOMERGE-AUTHOR: patrick.enfedaque
#ROBOMERGE-SOURCE: CL 18313364 in //UE5/Release-5.0/... via CL 18313817
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18314184 by patrick enfedaque in ue5-release-engine-test branch]
2021-11-29 14:47:15 -05:00

45 lines
1.3 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "LevelInstance/ILevelInstanceEditorModule.h"
#include "Tools/Modes.h"
class AActor;
class ULevel;
enum class EMapChangeType : uint8;
/**
* The module holding all of the UI related pieces for LevelInstance management
*/
class FLevelInstanceEditorModule : public ILevelInstanceEditorModule
{
public:
virtual ~FLevelInstanceEditorModule(){}
/**
* 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();
virtual void ActivateEditorMode() override;
virtual void DeactivateEditorMode() override;
DECLARE_DERIVED_EVENT(FLevelInstanceEditorModule, ILevelInstanceEditorModule::FExitEditorModeEvent, FExitEditorModeEvent);
virtual FExitEditorModeEvent& OnExitEditorMode() override { return ExitEditorModeEvent; }
private:
void OnEditorModeIDChanged(const FEditorModeID& InModeID, bool bIsEnteringMode);
void OnLevelActorDeleted(AActor* Actor);
void CanMoveActorToLevel(const AActor* ActorToMove, const ULevel* DestLevel, bool& bOutCanMove);
void ExtendContextMenu();
FExitEditorModeEvent ExitEditorModeEvent;
};