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;
							 | 
						|||
| 
								 | 
							
								};
							 |