76 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| #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;
 | |
| };
 |