Files
BusyRabbit/Plugins/UnrealSharp/Source/UnrealSharpEditor/CSUnrealSharpEditorSettings.h

76 lines
2.2 KiB
C
Raw Normal View History

#pragma once
#include "CoreMinimal.h"
#include "Engine/DeveloperSettings.h"
#include "CSUnrealSharpEditorSettings.generated.h"
UENUM()
enum EAutomaticHotReloadMethod : uint8
{
// Automatically Hot Reloads when script changes are saved
OnScriptSave,
// Automatically Hot Reloads when the built .NET modules changed (build the C# project in your IDE and UnrealSharp will automatically reload)
OnModuleChange,
// Wait for the Editor to gain focus before Hot Reloading
OnEditorFocus,
// Will not Hot Reload automatically
Off,
};
UENUM()
enum ECSBuildConfiguration : uint8
{
Debug,
Release,
};
UENUM()
enum ECSLoggerVerbosity : uint8
{
// The most minimal output
Quiet,
// Relatively little output
Minimal,
// Standard output. This should be the default if verbosity level is not set
Normal,
// Relatively verbose, but not exhaustive
Detailed,
// The most verbose and informative verbosity
Diagnostic
};
UCLASS(config = EditorPerProjectUserSettings, meta = (DisplayName = "UnrealSharp Editor Settings"))
class UNREALSHARPEDITOR_API UCSUnrealSharpEditorSettings : public UDeveloperSettings
{
GENERATED_BODY()
public:
UCSUnrealSharpEditorSettings();
// Whether Hot Reload should automatically start on script save, gaining Editor focus, or not at all.
UPROPERTY(EditDefaultsOnly, config, Category = "UnrealSharp | Hot Reload")
TEnumAsByte<EAutomaticHotReloadMethod> AutomaticHotReloading = OnScriptSave;
// The build configuration to use when building the C# project in the editor.
UPROPERTY(EditDefaultsOnly, config, Category = "UnrealSharp | Hot Reload")
TEnumAsByte<ECSBuildConfiguration> BuildConfiguration = ECSBuildConfiguration::Debug;
// The verbosity level of the logs generated by MSBuild when building the C# project in the editor.
UPROPERTY(EditDefaultsOnly, config, Category = "UnrealSharp | Hot Reload")
TEnumAsByte<ECSLoggerVerbosity> LogVerbosity = ECSLoggerVerbosity::Normal;
// Should we suffix generated types' DisplayName with "TypeName (C#)"?
// Needs restart to take effect.
UPROPERTY(EditDefaultsOnly, config, Category = "UnrealSharp | Type Generation")
bool bSuffixGeneratedTypes = false;
FString GetBuildConfigurationString() const;
FString GetLogVerbosityString() const;
};