114 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			114 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
// Tencent is pleased to support the open source community by making UnLua available.
 | 
						|
// 
 | 
						|
// Copyright (C) 2019 THL A29 Limited, a Tencent company. All rights reserved.
 | 
						|
//
 | 
						|
// Licensed under the MIT License (the "License"); 
 | 
						|
// you may not use this file except in compliance with the License. You may obtain a copy of the License at
 | 
						|
//
 | 
						|
// http://opensource.org/licenses/MIT
 | 
						|
//
 | 
						|
// Unless required by applicable law or agreed to in writing, 
 | 
						|
// software distributed under the License is distributed on an "AS IS" BASIS, 
 | 
						|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
 | 
						|
// See the License for the specific language governing permissions and limitations under the License.
 | 
						|
 | 
						|
#pragma once
 | 
						|
 | 
						|
#include "CoreMinimal.h"
 | 
						|
#include "UObject/Object.h"
 | 
						|
#include "UnLuaEditorSettings.generated.h"
 | 
						|
 | 
						|
#define LOCTEXT_NAMESPACE "UnLuaEditorSettings"
 | 
						|
 | 
						|
UENUM()
 | 
						|
enum class EUpdateMode : uint8
 | 
						|
{
 | 
						|
    Start,
 | 
						|
    Manual,
 | 
						|
    None,
 | 
						|
};
 | 
						|
 | 
						|
UENUM()
 | 
						|
enum class EHotReloadMode : uint8
 | 
						|
{
 | 
						|
    Manual,
 | 
						|
    Auto,
 | 
						|
    Never
 | 
						|
};
 | 
						|
 | 
						|
UCLASS(config=UnLuaEditor, defaultconfig, meta=(DisplayName="UnLuaEditor"))
 | 
						|
class UNLUAEDITOR_API UUnLuaEditorSettings : public UObject
 | 
						|
{
 | 
						|
    GENERATED_BODY()
 | 
						|
 | 
						|
public:
 | 
						|
    /** Pick a method for lua hot-reload. */
 | 
						|
    UPROPERTY(config, EditAnywhere, Category = "Coding", meta = (defaultValue = 0))
 | 
						|
    EHotReloadMode HotReloadMode;
 | 
						|
 | 
						|
    /** Whether or not generate intellisense files for lua. */
 | 
						|
    UPROPERTY(config, EditAnywhere, Category = "Coding")
 | 
						|
    bool bGenerateIntelliSense = true;
 | 
						|
 | 
						|
    /** Whether or not startup UnLua module on game start. (Requires restart to take effect) */
 | 
						|
    UPROPERTY(config, EditAnywhere, Category = "Build")
 | 
						|
    bool bAutoStartup = true;
 | 
						|
 | 
						|
    /** Enable UnLua debug routine codes. (Requires restart to take effect) */
 | 
						|
    UPROPERTY(config, EditAnywhere, Category = "Build")
 | 
						|
    bool bEnableDebug = false;
 | 
						|
 | 
						|
    /** Enable Unreal Insights to profile call performance. (Requires restart to take effect) */
 | 
						|
    UPROPERTY(config, EditAnywhere, Category = "Build")
 | 
						|
    bool bEnableUnrealInsights = false;
 | 
						|
 | 
						|
    /** Enable persistent buffer for UFunction's parameters. (Requires restart to take effect) */
 | 
						|
    UPROPERTY(config, EditAnywhere, Category = "Build")
 | 
						|
    bool bEnablePersistentParamBuffer = true;
 | 
						|
 | 
						|
    /** Enable type checking at lua runtime. (Requires restart to take effect) */
 | 
						|
    UPROPERTY(config, EditAnywhere, Category = "Build")
 | 
						|
    bool bEnableTypeChecking = true;
 | 
						|
 | 
						|
    /** Enable 'Overridden' support at lua runtime. (Requires restart to take effect) */
 | 
						|
    UPROPERTY(config, EditAnywhere, Category = "Build")
 | 
						|
    bool bEnableCallOverriddenFunction = true;
 | 
						|
 | 
						|
    /** Enable FText support at lua runtime which will no longer be treated as a string. (Requires restart to take effect) */
 | 
						|
    UPROPERTY(config, EditAnywhere, Category = "Build")
 | 
						|
    bool bEnableFText = true;
 | 
						|
 | 
						|
    /** Whether or not compile lua module as c++ code. (Requires restart to take effect) */
 | 
						|
    UPROPERTY(config, EditAnywhere, Category = "Build")
 | 
						|
    bool bLuaCompileAsCpp = false;
 | 
						|
 | 
						|
    /** Use the specified lua version. (Requires restart to take effect) */
 | 
						|
    UPROPERTY(config, EditAnywhere, Category = "Build")
 | 
						|
    FString LuaVersion = TEXT("lua-5.4.3");
 | 
						|
 | 
						|
    /** Create UE4 global table on lua env. (Requires restart to take effect) */
 | 
						|
    UPROPERTY(config, EditAnywhere, Category = "Legacy")
 | 
						|
    bool bWithUE4Namespace = true;
 | 
						|
 | 
						|
    /** Place out parameters before return value. (Requires restart to take effect) */
 | 
						|
    UPROPERTY(config, EditAnywhere, Category = "Legacy")
 | 
						|
    bool bLegacyReturnOrder = false;
 | 
						|
 | 
						|
    /** Auto append '_C' to blueprint class path. (Requires restart to take effect) */
 | 
						|
    UPROPERTY(config, EditAnywhere, Category = "Legacy")
 | 
						|
    bool bLegacyBlueprintPath = false;
 | 
						|
 | 
						|
    /** Allow lua file with UTF-8 BOM header. (Requires restart to take effect) */
 | 
						|
    UPROPERTY(config, EditAnywhere, Category = "Legacy")
 | 
						|
    bool bLegacyAllowUTF8WithBOM = false;
 | 
						|
 | 
						|
    /** Arguments are passed to lua by pointer when called from UE. (Requires restart to take effect) */
 | 
						|
    UPROPERTY(config, EditAnywhere, Category = "Legacy")
 | 
						|
    bool bLegacyArgsPassing = true;
 | 
						|
 | 
						|
    UPROPERTY(config, EditAnywhere, Category = "System", meta = (defaultValue = 0))
 | 
						|
    EUpdateMode UpdateMode;
 | 
						|
};
 | 
						|
 | 
						|
#undef LOCTEXT_NAMESPACE
 |