2021-11-29 14:47:15 -05:00
|
|
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "CoreMinimal.h"
|
|
|
|
|
#include "Tools/UEdMode.h"
|
|
|
|
|
#include "Framework/Commands/UICommandList.h"
|
|
|
|
|
#include "LevelInstanceEditorMode.generated.h"
|
|
|
|
|
|
|
|
|
|
UCLASS()
|
|
|
|
|
class ULevelInstanceEditorMode : public UEdMode
|
|
|
|
|
{
|
|
|
|
|
GENERATED_BODY()
|
|
|
|
|
public:
|
|
|
|
|
static FEditorModeID EM_LevelInstanceEditorModeId;
|
|
|
|
|
|
|
|
|
|
/** Constructor */
|
|
|
|
|
ULevelInstanceEditorMode();
|
|
|
|
|
|
|
|
|
|
/** Destructor */
|
|
|
|
|
virtual ~ULevelInstanceEditorMode();
|
|
|
|
|
|
|
|
|
|
// Begin UEdMode
|
|
|
|
|
virtual void Enter() override;
|
|
|
|
|
virtual void Exit() override;
|
|
|
|
|
virtual void CreateToolkit() override;
|
|
|
|
|
|
2022-03-08 10:57:17 -05:00
|
|
|
virtual bool IsCompatibleWith(FEditorModeID OtherModeID) const override;
|
2021-11-29 14:47:15 -05:00
|
|
|
|
|
|
|
|
/** Check to see if an actor can be selected in this mode - no side effects */
|
|
|
|
|
virtual bool IsSelectionDisallowed(AActor* InActor, bool bInSelection) const override;
|
2022-01-14 14:01:23 -05:00
|
|
|
/** Only accept saving on current asset */
|
|
|
|
|
virtual bool IsOperationSupportedForCurrentAsset(EAssetOperation InOperation) const { return InOperation == EAssetOperation::Save; }
|
2021-11-29 14:47:15 -05:00
|
|
|
// End UEdMode
|
|
|
|
|
|
|
|
|
|
private:
|
2021-11-29 16:26:46 -05:00
|
|
|
void OnPreBeginPIE(bool bSimulate);
|
2021-11-29 14:47:15 -05:00
|
|
|
void UpdateEngineShowFlags();
|
|
|
|
|
virtual void BindCommands() override;
|
|
|
|
|
|
|
|
|
|
void ExitModeCommand();
|
|
|
|
|
void ToggleContextRestrictionCommand();
|
|
|
|
|
bool IsContextRestrictionCommandEnabled() const;
|
|
|
|
|
|
|
|
|
|
bool bContextRestriction;
|
|
|
|
|
};
|
|
|
|
|
|