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