Files
TEngine/Assets/GameScripts/DotNet/Core/TEngineSettingsHelper.cs
ALEXTANGXIAO 60a5caebae 1、Scene.Create接口增加了一个泛型方法接口。 2、SceneConfig增加了SceneTypeConfig和SceneSubType
1、Scene.Create接口增加了一个泛型方法接口。 2、SceneConfig增加了SceneTypeConfig和SceneSubType
2023-07-29 01:03:35 +08:00

76 lines
3.9 KiB
C#

#if TENGINE_NET
using Microsoft.Extensions.Configuration;
#pragma warning disable CS8604
#pragma warning disable CS8601
#pragma warning disable CS8618
namespace TEngine.Core;
public static class TEngineSettingsHelper
{
public static void Initialize()
{
const string settingsName = "TEngineSettings.json";
var currentDirectory = Directory.GetCurrentDirectory();
if (!File.Exists(Path.Combine(currentDirectory, settingsName)))
{
throw new FileNotFoundException($"not found {settingsName} in OutputDirectory");
}
var configurationRoot = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile(settingsName).Build();
// 加载网络配置
LoadNetworkConfig(configurationRoot);
// 加载ProtoBuf配置
LoadProtoConfig(configurationRoot);
// 加载Excel配置
LoadExcelConfig(configurationRoot);
}
private static void LoadNetworkConfig(IConfigurationRoot root)
{
Define.SessionIdleCheckerInterval = Convert.ToInt32(root["Network:SessionIdleCheckerInterval:Value"]);
Define.SessionIdleCheckerTimeout = Convert.ToInt32(root["Network:SessionIdleCheckerTimeout:Value"]);
}
private static void LoadProtoConfig(IConfigurationRoot root)
{
// ProtoBuf文件所在的位置文件夹位置
Define.ProtoBufDirectory = FileHelper.GetFullPath(root["Export:ProtoBufDirectory:Value"]);
// ProtoBuf生成到服务端的文件夹位置
Define.ProtoBufServerDirectory = FileHelper.GetFullPath(root["Export:ProtoBufServerDirectory:Value"]);
// ProtoBuf生成到客户端的文件夹位置
Define.ProtoBufClientDirectory = FileHelper.GetFullPath(root["Export:ProtoBufClientDirectory:Value"]);
// ProtoBuf生成代码模板的位置
Define.ProtoBufTemplatePath = FileHelper.GetFullPath(root["Export:ProtoBufTemplatePath:Value"]);
}
private static void LoadExcelConfig(IConfigurationRoot root)
{
// Excel配置文件根目录
Define.ExcelProgramPath = FileHelper.GetFullPath(root["Export:ExcelProgramPath:Value"]);
// Excel版本文件的位置
Define.ExcelVersionFile = FileHelper.GetFullPath(root["Export:ExcelVersionFile:Value"]);
// Excel生成服务器代码的文件夹位置
Define.ExcelServerFileDirectory = FileHelper.GetFullPath(root["Export:ExcelServerFileDirectory:Value"]);
// Excel生成客户端代码文件夹位置
Define.ExcelClientFileDirectory = FileHelper.GetFullPath(root["Export:ExcelClientFileDirectory:Value"]);
// Excel生成服务器二进制数据文件夹位置
Define.ExcelServerBinaryDirectory = FileHelper.GetFullPath(root["Export:ExcelServerBinaryDirectory:Value"]);
// Excel生成客户端二进制数据文件夹位置
Define.ExcelClientBinaryDirectory = FileHelper.GetFullPath(root["Export:ExcelClientBinaryDirectory:Value"]);
// Excel生成服务器Json数据文件夹位置
Define.ExcelServerJsonDirectory = FileHelper.GetFullPath(root["Export:ExcelServerJsonDirectory:Value"]);
// Excel生成客户端Json数据文件夹位置
Define.ExcelClientJsonDirectory = FileHelper.GetFullPath(root["Export:ExcelClientJsonDirectory:Value"]);
// Excel生成代码模板的位置
Define.ExcelTemplatePath = FileHelper.GetFullPath(root["Export:ExcelTemplatePath:Value"]);
// 服务器自定义导出代码文件夹位置
Define.ServerCustomExportDirectory = FileHelper.GetFullPath(root["Export:ServerCustomExportDirectory:Value"]);
// 客户端自定义导出代码
Define.ClientCustomExportDirectory = FileHelper.GetFullPath(root["Export:ClientCustomExportDirectory:Value"]);
// 自定义导出代码存放的程序集
Define.CustomExportAssembly = FileHelper.GetFullPath(root["Export:CustomExportAssembly:Value"]);
}
}
#endif