EM_Task/UnrealEd/Classes/Settings/LevelEditorMiscSettings.h
Boshuang Zhao 5144a49c9b add
2026-02-13 16:18:33 +08:00

105 lines
4.4 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "UObject/ObjectMacros.h"
#include "Templates/SubclassOf.h"
#include "Engine/DeveloperSettings.h"
#include "Engine/EngineTypes.h"
#include "LevelEditorMiscSettings.generated.h"
class ULevelStreaming;
/**
* Configure miscellaneous settings for the Level Editor.
*/
UCLASS(config = EditorPerProjectUserSettings, meta = (DisplayName = "Miscellaneous"))
class UNREALED_API ULevelEditorMiscSettings: public UDeveloperSettings
{
GENERATED_UCLASS_BODY()
public:
/** If checked lighting will be automatically applied to the level after a static lighting build is complete.
* Otherwise you will be prompted to apply it
*/
UPROPERTY(EditAnywhere, config, Category = Editing, meta = (DisplayName = "Apply Lighting Automatically"))
uint32 bAutoApplyLightingEnable : 1;
/** If true, BSP will auto-update */
UPROPERTY(EditAnywhere, config, Category = Editing, meta = (DisplayName = "Update BSP Automatically"))
uint32 bBSPAutoUpdate : 1;
/** If true, the pivot offset for BSP will be automatically moved to stay centered on its vertices */
UPROPERTY(EditAnywhere, config, Category = Editing, meta = (DisplayName = "Move BSP Pivot Offset Automatically"))
uint32 bAutoMoveBSPPivotOffset : 1;
/** If true, Navigation will auto-update */
UPROPERTY(EditAnywhere, config, Category = Editing, meta = (DisplayName = "Update Navigation Automatically"))
uint32 bNavigationAutoUpdate : 1;
/** If enabled, replacing actors will respect the scale of the original actor. Otherwise, the replaced actors will have a scale of 1.0 */
UPROPERTY(EditAnywhere, config, Category = Editing, meta = (DisplayName = "Preserve Actor Scale on Replace"))
uint32 bReplaceRespectsScale : 1;
/** If enabled, the modes tab will revert to the original mesh paint */
UPROPERTY(EditAnywhere, config, AdvancedDisplay, Category = Editing, meta = (ConfigRestartRequired = true))
uint32 bEnableLegacyMeshPaintMode : 1;
/** If enabled, will avoid relabeling actors in UUnrealEdEngine::edactPasteSelected */
UPROPERTY(EditAnywhere, config, Category = Editing, meta = (DisplayName = "Avoid Actor Relabel on Paste Selected"))
uint32 bAvoidRelabelOnPasteSelected : 1;
/** If enabled, will force checking references during a delete. Note: disabling this is for advanced usage only and not recommended.*/
UPROPERTY(EditAnywhere, config, AdvancedDisplay, Category = Editing, meta = (DisplayName = "Check References on Delete"))
uint32 bCheckReferencesOnDelete : 1;
public:
/** If checked audio playing in the editor will continue to play even if the editor is in the background */
UPROPERTY(EditAnywhere, config, Category = Sound)
uint32 bAllowBackgroundAudio : 1;
/** If checked, will create a new audio engine instance for the play-in-editor window. Otherwise, will re-use the audio device used in content browser. */
UPROPERTY(EditAnywhere, config, Category = Sound)
uint32 bCreateNewAudioDeviceForPlayInEditor : 1;
/** If true audio will be enabled in the editor. Does not affect PIE **/
UPROPERTY(config)
uint32 bEnableRealTimeAudio : 1;
/** Global volume setting for the editor */
UPROPERTY(config)
float EditorVolumeLevel;
/** Enables audio feedback for certain operations in Unreal Editor, such as entering and exiting Play mode */
UPROPERTY(EditAnywhere, config, Category = Sound)
uint32 bEnableEditorSounds : 1;
public:
/** The default level streaming class to use when adding new streaming levels */
UPROPERTY(EditAnywhere, config, Category = Levels)
TSubclassOf<ULevelStreaming> DefaultLevelStreamingClass;
UPROPERTY(EditAnywhere, config, Category = Levels)
bool bPromptWhenAddingToLevelBeforeCheckout;
UPROPERTY(EditAnywhere, config, Category = Levels)
bool bPromptWhenAddingToLevelOutsideBounds;
UPROPERTY(EditAnywhere, config, Category = Levels, Meta = (ClampMin = "0.0", ClampMax = "100.0"))
float PercentageThresholdForPrompt;
UPROPERTY(EditAnywhere, config, Category = Levels)
FVector MinimumBoundsForCheckingSize;
public:
/** The save directory for newly created screenshots */
UPROPERTY(EditAnywhere, config, Category = Screenshots)
FDirectoryPath EditorScreenshotSaveDirectory;
protected:
// UObject overrides
virtual void PostEditChangeProperty(struct FPropertyChangedEvent& PropertyChangedEvent) override;
};