You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
- Exposed the runtime behavior so we can now place level instances referencing partitioned worlds that will be streamed at runtime instead of embedded in the container world. - Don't allow edit in place for partitioned level instance worlds that have streaming disabled, as we load the entire level when doing so and could result in out of memory situations. - Added a message box when trying to edit a level instance that can't be edited in place with the reason. - Can be reenabled by setting LevelInstanceEditorSettings.bEnableEditInPlaceStreamingEnabled to true. #rb Patrick.Enfedaque, Richard.Malo [CL 29784110 by jeanfrancois dube in ue5-main branch]
53 lines
1.7 KiB
C++
53 lines
1.7 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;
|
|
|
|
virtual void BroadcastTryExitEditorMode() override;
|
|
|
|
DECLARE_DERIVED_EVENT(FLevelInstanceEditorModule, ILevelInstanceEditorModule::FExitEditorModeEvent, FExitEditorModeEvent);
|
|
virtual FExitEditorModeEvent& OnExitEditorMode() override { return ExitEditorModeEvent; }
|
|
|
|
DECLARE_DERIVED_EVENT(FLevelInstanceEditorModule, ILevelInstanceEditorModule::FTryExitEditorModeEvent, FTryExitEditorModeEvent);
|
|
virtual FTryExitEditorModeEvent& OnTryExitEditorMode() override { return TryExitEditorModeEvent; }
|
|
|
|
virtual bool IsEditInPlaceStreamingEnabled() const override;
|
|
|
|
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;
|
|
FTryExitEditorModeEvent TryExitEditorModeEvent;
|
|
};
|