From 520d4f37bddbdd9fb12dc760f7ecd83cd2e456d6 Mon Sep 17 00:00:00 2001
From: BobSong <605277374@qq.com>
Date: Thu, 9 Oct 2025 23:58:11 +0800
Subject: [PATCH] =?UTF-8?q?=E5=AF=BC=E8=A1=A8=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Tools/ConfigBuilder/NBConfigBuilder/App.cs | 3 +
.../DynamicAssembly/DynamicAssembly.cs | 169 ------------------
.../DynamicAssembly/DynamicConfigDataType.cs | 35 ----
.../DynamicAssembly/OneDynamicAssembly.cs | 69 -------
.../NBConfigBuilder/Exporter/ExcelExporter.cs | 14 +-
.../NBConfigBuilder/Form1.Designer.cs | 85 ++++++---
Tools/ConfigBuilder/NBConfigBuilder/Form1.cs | 21 ++-
.../ConfigBuilder/NBConfigBuilder/Form1.resx | 4 +-
8 files changed, 95 insertions(+), 305 deletions(-)
delete mode 100644 Tools/ConfigBuilder/NBConfigBuilder/Exporter/DynamicAssembly/DynamicAssembly.cs
delete mode 100644 Tools/ConfigBuilder/NBConfigBuilder/Exporter/DynamicAssembly/DynamicConfigDataType.cs
delete mode 100644 Tools/ConfigBuilder/NBConfigBuilder/Exporter/DynamicAssembly/OneDynamicAssembly.cs
diff --git a/Tools/ConfigBuilder/NBConfigBuilder/App.cs b/Tools/ConfigBuilder/NBConfigBuilder/App.cs
index dde37af..2e3bb59 100644
--- a/Tools/ConfigBuilder/NBConfigBuilder/App.cs
+++ b/Tools/ConfigBuilder/NBConfigBuilder/App.cs
@@ -6,11 +6,14 @@ public class AppConfig
public string ExcelPath { get; set; }
public string ClientPath { get; set; }
public string ClientJsonPath { get; set; }
+ public string ClientNamespace { get; set; }
public string ServerPath { get; set; }
public string ServerJsonPath { get; set; }
+ public string ServerNamespace { get; set; }
public bool GenClient { get; set; }
public bool GenServer { get; set; }
+
public string ExcelVersionPath => Path.Combine(ExcelPath, "Version.txt");
}
diff --git a/Tools/ConfigBuilder/NBConfigBuilder/Exporter/DynamicAssembly/DynamicAssembly.cs b/Tools/ConfigBuilder/NBConfigBuilder/Exporter/DynamicAssembly/DynamicAssembly.cs
deleted file mode 100644
index 66a3272..0000000
--- a/Tools/ConfigBuilder/NBConfigBuilder/Exporter/DynamicAssembly/DynamicAssembly.cs
+++ /dev/null
@@ -1,169 +0,0 @@
-using System.Reflection;
-using Fantasy.Serialize;
-using Microsoft.CodeAnalysis;
-using Microsoft.CodeAnalysis.CSharp;
-using ProtoBuf;
-
-namespace NBConfigBuilder;
-
-
-///
-/// 动态程序集类,用于加载动态生成的程序集并获取动态信息。
-///
-public static class DynamicAssembly
-{
- private static void MetadataReference(out string assemblyName, out List metadataReferenceList)
- {
- AssemblyMetadata assemblyMetadata;
- MetadataReference metadataReference;
- var currentDomain = AppDomain.CurrentDomain;
- assemblyName = Path.GetRandomFileName();
- var assemblyArray = currentDomain.GetAssemblies();
- metadataReferenceList = new List();
-
- // 注册引用
-
- foreach (var domainAssembly in assemblyArray)
- {
- if (string.IsNullOrEmpty(domainAssembly.Location))
- {
- continue;
- }
-
- assemblyMetadata = AssemblyMetadata.CreateFromFile(domainAssembly.Location);
- metadataReference = assemblyMetadata.GetReference();
- metadataReferenceList.Add(metadataReference);
- }
-
- // 添加Proto支持
-
- assemblyMetadata = AssemblyMetadata.CreateFromFile(typeof(ProtoMemberAttribute).Assembly.Location);
- metadataReference = assemblyMetadata.GetReference();
- metadataReferenceList.Add(metadataReference);
-
- // 添加Fantasy支持
-
- assemblyMetadata = AssemblyMetadata.CreateFromFile(typeof(ASerialize).Assembly.Location);
- metadataReference = assemblyMetadata.GetReference();
- metadataReferenceList.Add(metadataReference);
- }
-
- ///
- /// 加载指定路径下的动态程序集。
- ///
- /// 程序集文件路径。
- /// 加载的动态程序集。
- public static Assembly Load(string path)
- {
- var fileList = new List();
-
- // 找到所有需要加载的CS文件
-
- foreach (string file in Directory.GetFiles(path))
- {
- if (Path.GetExtension(file) != ".cs")
- {
- continue;
- }
-
- fileList.Add(file);
- }
-
- var syntaxTreeList = new List();
-
- foreach (var file in fileList)
- {
- using var fileStream = new StreamReader(file);
- var cSharp = CSharpSyntaxTree.ParseText(fileStream.ReadToEnd());
- syntaxTreeList.Add(cSharp);
- }
-
- // 注册程序集
- MetadataReference(out var assemblyName, out var metadataReferenceList);
- var compilation = CSharpCompilation.Create(assemblyName, syntaxTreeList, metadataReferenceList, new CSharpCompilationOptions(OutputKind.DynamicallyLinkedLibrary));
- using var ms = new MemoryStream();
- var result = compilation.Emit(ms);
- if (!result.Success)
- {
- foreach (var resultDiagnostic in result.Diagnostics)
- {
- Log.Error(resultDiagnostic.GetMessage());
- }
-
- throw new Exception("failures");
- }
-
- ms.Seek(0, SeekOrigin.Begin);
- return Assembly.Load(ms.ToArray());
- }
-
- ///
- /// 获取动态程序集中指定表格的动态信息。
- ///
- /// 动态程序集。
- /// 表格名称。
- /// 动态信息对象。
- public static DynamicConfigDataType GetDynamicInfo(Assembly dynamicAssembly, string tableName)
- {
- var dynamicConfigDataType = new DynamicConfigDataType
- {
- ConfigDataType = GetConfigType(dynamicAssembly, $"{tableName}Data"),
- ConfigType = GetConfigType(dynamicAssembly, $"{tableName}")
- };
-
- dynamicConfigDataType.ConfigData = CreateInstance(dynamicConfigDataType.ConfigDataType);
-
- var listPropertyType = dynamicConfigDataType.ConfigDataType.GetProperty("List");
-
- if (listPropertyType == null)
- {
- throw new Exception("No Property named Add was found");
- }
-
- dynamicConfigDataType.Obj = listPropertyType.GetValue(dynamicConfigDataType.ConfigData);
- dynamicConfigDataType.Method = listPropertyType.PropertyType.GetMethod("Add");
-
- if (dynamicConfigDataType.Method == null)
- {
- throw new Exception("No method named Add was found");
- }
-
- return dynamicConfigDataType;
- }
-
- ///
- /// 根据类型名称获取动态类型。
- ///
- /// 动态程序集。
- /// 类型名称。
- /// 动态类型。
- private static Type GetConfigType(Assembly dynamicAssembly, string typeName)
- {
- var configType = dynamicAssembly.GetType($"Fantasy.{typeName}");
-
- if (configType == null)
- {
- throw new FileNotFoundException($"Fantasy.{typeName} not found");
- }
-
- return configType;
- // return dynamicAssembly.GetType($"Fantasy.{typeName}");
- }
-
- ///
- /// 创建动态实例。
- ///
- /// 动态类型。
- /// 动态实例。
- public static object CreateInstance(Type configType)
- {
- var config = Activator.CreateInstance(configType);
-
- if (config == null)
- {
- throw new Exception($"{configType.Name} is Activator.CreateInstance error");
- }
-
- return config;
- }
-}
\ No newline at end of file
diff --git a/Tools/ConfigBuilder/NBConfigBuilder/Exporter/DynamicAssembly/DynamicConfigDataType.cs b/Tools/ConfigBuilder/NBConfigBuilder/Exporter/DynamicAssembly/DynamicConfigDataType.cs
deleted file mode 100644
index 0d808d0..0000000
--- a/Tools/ConfigBuilder/NBConfigBuilder/Exporter/DynamicAssembly/DynamicConfigDataType.cs
+++ /dev/null
@@ -1,35 +0,0 @@
-using System.Reflection;
-using System.Text;
-
-namespace NBConfigBuilder;
-
-///
-/// 动态配置数据类型类,用于存储动态配置数据的相关信息。
-///
-public class DynamicConfigDataType
-{
- ///
- /// 配置数据对象,继承自 AProto 基类。
- ///
- public object ConfigData;
- ///
- /// 配置数据类型。
- ///
- public Type ConfigDataType;
- ///
- /// 配置类型。
- ///
- public Type ConfigType;
- ///
- /// 反射方法信息,用于调用特定方法。
- ///
- public MethodInfo Method;
- ///
- /// 配置数据对象实例。
- ///
- public object Obj;
- ///
- /// 用于生成 JSON 格式数据的字符串构建器。
- ///
- public StringBuilder Json = new StringBuilder();
-}
\ No newline at end of file
diff --git a/Tools/ConfigBuilder/NBConfigBuilder/Exporter/DynamicAssembly/OneDynamicAssembly.cs b/Tools/ConfigBuilder/NBConfigBuilder/Exporter/DynamicAssembly/OneDynamicAssembly.cs
deleted file mode 100644
index 03b7a99..0000000
--- a/Tools/ConfigBuilder/NBConfigBuilder/Exporter/DynamicAssembly/OneDynamicAssembly.cs
+++ /dev/null
@@ -1,69 +0,0 @@
-using System.Reflection;
-using Fantasy.Serialize;
-using Microsoft.CodeAnalysis;
-using Microsoft.CodeAnalysis.CSharp;
-using ProtoBuf;
-
-namespace NBConfigBuilder;
-
-public class OneDynamicAssembly
-{
- private readonly List _syntaxTreeList = new List();
-
- public void Load(string file)
- {
- using var fileStream = new StreamReader(file);
- var cSharp = CSharpSyntaxTree.ParseText(fileStream.ReadToEnd());
- _syntaxTreeList.Add(cSharp);
- }
-
- public Assembly Assembly
- {
- get
- {
- AssemblyMetadata assemblyMetadata;
- MetadataReference metadataReference;
- var currentDomain = AppDomain.CurrentDomain;
- var assemblyName = Path.GetRandomFileName();
- var assemblyArray = currentDomain.GetAssemblies();
- var metadataReferenceList = new List();
- // 注册引用
- foreach (var domainAssembly in assemblyArray)
- {
- if (string.IsNullOrEmpty(domainAssembly.Location))
- {
- continue;
- }
-
- assemblyMetadata = AssemblyMetadata.CreateFromFile(domainAssembly.Location);
- metadataReference = assemblyMetadata.GetReference();
- metadataReferenceList.Add(metadataReference);
- }
- // 添加ProtoEntity支持
- assemblyMetadata = AssemblyMetadata.CreateFromFile(typeof(ASerialize).Assembly.Location);
- metadataReference = assemblyMetadata.GetReference();
- metadataReferenceList.Add(metadataReference);
- // 添加MessagePack支持
- assemblyMetadata = AssemblyMetadata.CreateFromFile(typeof(ProtoMemberAttribute).Assembly.Location);
- metadataReference = assemblyMetadata.GetReference();
- metadataReferenceList.Add(metadataReference);
- CSharpCompilation compilation = CSharpCompilation.Create(assemblyName, _syntaxTreeList, metadataReferenceList, new CSharpCompilationOptions(OutputKind.DynamicallyLinkedLibrary));
-
- using var ms = new MemoryStream();
- var result = compilation.Emit(ms);
-
- if (!result.Success)
- {
- foreach (var resultDiagnostic in result.Diagnostics)
- {
- Log.Error(resultDiagnostic.GetMessage());
- }
-
- throw new Exception("failures");
- }
-
- ms.Seek(0, SeekOrigin.Begin);
- return Assembly.Load(ms.ToArray());
- }
- }
-}
\ No newline at end of file
diff --git a/Tools/ConfigBuilder/NBConfigBuilder/Exporter/ExcelExporter.cs b/Tools/ConfigBuilder/NBConfigBuilder/Exporter/ExcelExporter.cs
index fc0e943..9203adc 100644
--- a/Tools/ConfigBuilder/NBConfigBuilder/Exporter/ExcelExporter.cs
+++ b/Tools/ConfigBuilder/NBConfigBuilder/Exporter/ExcelExporter.cs
@@ -21,14 +21,14 @@ public sealed class ExcelExporter
public ExportType ExportType;
private readonly string _excelProgramPath;
private readonly string _versionFilePath;
-
+
// public VersionInfo VersionInfo; // 存储 Excel 文件的版本信息。
private readonly Regex _regexName = new Regex("^[a-zA-Z][a-zA-Z0-9_]*$"); // 用于验证 Excel 表名的正则表达式。
private readonly HashSet _loadFiles = [".xlsx", ".xlsm", ".csv"]; // 加载的支持文件扩展名。
-
+
private readonly ConcurrentDictionary _excelTables =
new ConcurrentDictionary(); // 存储解析后的 Excel 表。
-
+
///
/// 导表支持的数据类型集合。
///
@@ -635,6 +635,12 @@ public sealed class ExcelExporter
var colInfos = isServer ? table.ServerColInfos : table.ClientColInfos;
var exportPath = isServer ? App.Config.ServerPath : App.Config.ClientPath;
+ var csNamespace = isServer ? App.Config.ServerNamespace : App.Config.ClientNamespace;
+ if (string.IsNullOrEmpty(csNamespace))
+ {
+ csNamespace = "NB";
+ }
+
if (colInfos.Count <= 0)
{
return;
@@ -723,7 +729,7 @@ public sealed class ExcelExporter
FileHelper.CreateDirectory(exportPath);
}
- var content = template.Replace("(namespace)", "Fantasy")
+ var content = template.Replace("(namespace)", csNamespace)
.Replace("(ConfigName)", csName)
.Replace("(Fields)", fileBuilder.ToString());
File.WriteAllText(Path.Combine(exportPath, $"{csName}.cs"), content);
diff --git a/Tools/ConfigBuilder/NBConfigBuilder/Form1.Designer.cs b/Tools/ConfigBuilder/NBConfigBuilder/Form1.Designer.cs
index 43061d6..3723120 100644
--- a/Tools/ConfigBuilder/NBConfigBuilder/Form1.Designer.cs
+++ b/Tools/ConfigBuilder/NBConfigBuilder/Form1.Designer.cs
@@ -46,20 +46,24 @@
textBoxServerGenJsonPath = new TextBox();
label5 = new Label();
buttonSelectServerJsonPath = new Button();
+ textBoxClientNamespce = new TextBox();
+ textBoxServerNamespace = new TextBox();
+ label6 = new Label();
+ label7 = new Label();
SuspendLayout();
//
// textBoxExcelPath
//
- textBoxExcelPath.Location = new Point(84, 13);
+ textBoxExcelPath.Location = new Point(105, 13);
textBoxExcelPath.Name = "textBoxExcelPath";
- textBoxExcelPath.Size = new Size(322, 23);
+ textBoxExcelPath.Size = new Size(301, 23);
textBoxExcelPath.TabIndex = 0;
//
// buttonSelectExcelPath
//
buttonSelectExcelPath.Location = new Point(412, 13);
buttonSelectExcelPath.Name = "buttonSelectExcelPath";
- buttonSelectExcelPath.Size = new Size(75, 23);
+ buttonSelectExcelPath.Size = new Size(84, 23);
buttonSelectExcelPath.TabIndex = 1;
buttonSelectExcelPath.Text = "选择";
buttonSelectExcelPath.UseVisualStyleBackColor = true;
@@ -76,16 +80,16 @@
//
// textBoxClientGenPath
//
- textBoxClientGenPath.Location = new Point(84, 42);
+ textBoxClientGenPath.Location = new Point(105, 42);
textBoxClientGenPath.Name = "textBoxClientGenPath";
- textBoxClientGenPath.Size = new Size(318, 23);
+ textBoxClientGenPath.Size = new Size(301, 23);
textBoxClientGenPath.TabIndex = 3;
//
// buttonSelectClientPath
//
buttonSelectClientPath.Location = new Point(412, 42);
buttonSelectClientPath.Name = "buttonSelectClientPath";
- buttonSelectClientPath.Size = new Size(75, 23);
+ buttonSelectClientPath.Size = new Size(84, 23);
buttonSelectClientPath.TabIndex = 4;
buttonSelectClientPath.Text = "选择";
buttonSelectClientPath.UseVisualStyleBackColor = true;
@@ -96,7 +100,7 @@
checkBoxGenClient.AutoSize = true;
checkBoxGenClient.Checked = true;
checkBoxGenClient.CheckState = CheckState.Checked;
- checkBoxGenClient.Location = new Point(495, 44);
+ checkBoxGenClient.Location = new Point(412, 160);
checkBoxGenClient.Name = "checkBoxGenClient";
checkBoxGenClient.Size = new Size(87, 21);
checkBoxGenClient.TabIndex = 5;
@@ -114,9 +118,9 @@
//
// textBoxServerGenPath
//
- textBoxServerGenPath.Location = new Point(84, 100);
+ textBoxServerGenPath.Location = new Point(105, 100);
textBoxServerGenPath.Name = "textBoxServerGenPath";
- textBoxServerGenPath.Size = new Size(318, 23);
+ textBoxServerGenPath.Size = new Size(301, 23);
textBoxServerGenPath.TabIndex = 7;
//
// label3
@@ -133,18 +137,19 @@
checkBoxGenServer.AutoSize = true;
checkBoxGenServer.Checked = true;
checkBoxGenServer.CheckState = CheckState.Checked;
- checkBoxGenServer.Location = new Point(495, 16);
+ checkBoxGenServer.Location = new Point(412, 189);
checkBoxGenServer.Name = "checkBoxGenServer";
checkBoxGenServer.Size = new Size(87, 21);
checkBoxGenServer.TabIndex = 9;
checkBoxGenServer.Text = "生成服务端";
checkBoxGenServer.UseVisualStyleBackColor = true;
+ checkBoxGenServer.CheckedChanged += checkBoxGenServer_CheckedChanged;
//
// buttonSelectServerPath
//
buttonSelectServerPath.Location = new Point(412, 100);
buttonSelectServerPath.Name = "buttonSelectServerPath";
- buttonSelectServerPath.Size = new Size(75, 23);
+ buttonSelectServerPath.Size = new Size(84, 23);
buttonSelectServerPath.TabIndex = 10;
buttonSelectServerPath.Text = "选择";
buttonSelectServerPath.UseVisualStyleBackColor = true;
@@ -152,9 +157,9 @@
//
// buttonRun
//
- buttonRun.Location = new Point(495, 71);
+ buttonRun.Location = new Point(504, 13);
buttonRun.Name = "buttonRun";
- buttonRun.Size = new Size(80, 81);
+ buttonRun.Size = new Size(82, 195);
buttonRun.TabIndex = 12;
buttonRun.Text = "执行";
buttonRun.UseVisualStyleBackColor = true;
@@ -162,9 +167,9 @@
//
// textBoxClientGenJsonPath
//
- textBoxClientGenJsonPath.Location = new Point(84, 71);
+ textBoxClientGenJsonPath.Location = new Point(105, 71);
textBoxClientGenJsonPath.Name = "textBoxClientGenJsonPath";
- textBoxClientGenJsonPath.Size = new Size(318, 23);
+ textBoxClientGenJsonPath.Size = new Size(301, 23);
textBoxClientGenJsonPath.TabIndex = 13;
//
// label4
@@ -180,7 +185,7 @@
//
buttonSelectClientJsonPath.Location = new Point(412, 71);
buttonSelectClientJsonPath.Name = "buttonSelectClientJsonPath";
- buttonSelectClientJsonPath.Size = new Size(75, 23);
+ buttonSelectClientJsonPath.Size = new Size(84, 23);
buttonSelectClientJsonPath.TabIndex = 15;
buttonSelectClientJsonPath.Text = "选择";
buttonSelectClientJsonPath.UseVisualStyleBackColor = true;
@@ -188,9 +193,9 @@
//
// textBoxServerGenJsonPath
//
- textBoxServerGenJsonPath.Location = new Point(85, 129);
+ textBoxServerGenJsonPath.Location = new Point(105, 131);
textBoxServerGenJsonPath.Name = "textBoxServerGenJsonPath";
- textBoxServerGenJsonPath.Size = new Size(317, 23);
+ textBoxServerGenJsonPath.Size = new Size(301, 23);
textBoxServerGenJsonPath.TabIndex = 16;
//
// label5
@@ -206,17 +211,53 @@
//
buttonSelectServerJsonPath.Location = new Point(412, 129);
buttonSelectServerJsonPath.Name = "buttonSelectServerJsonPath";
- buttonSelectServerJsonPath.Size = new Size(75, 23);
+ buttonSelectServerJsonPath.Size = new Size(84, 23);
buttonSelectServerJsonPath.TabIndex = 18;
buttonSelectServerJsonPath.Text = "选择";
buttonSelectServerJsonPath.UseVisualStyleBackColor = true;
buttonSelectServerJsonPath.Click += buttonSelectServerJsonPath_Click;
//
+ // textBoxClientNamespce
+ //
+ textBoxClientNamespce.Location = new Point(105, 160);
+ textBoxClientNamespce.Name = "textBoxClientNamespce";
+ textBoxClientNamespce.Size = new Size(301, 23);
+ textBoxClientNamespce.TabIndex = 19;
+ //
+ // textBoxServerNamespace
+ //
+ textBoxServerNamespace.Location = new Point(105, 189);
+ textBoxServerNamespace.Name = "textBoxServerNamespace";
+ textBoxServerNamespace.Size = new Size(301, 23);
+ textBoxServerNamespace.TabIndex = 20;
+ //
+ // label6
+ //
+ label6.AutoSize = true;
+ label6.Location = new Point(7, 161);
+ label6.Name = "label6";
+ label6.Size = new Size(92, 17);
+ label6.TabIndex = 21;
+ label6.Text = "客户端命名空间";
+ //
+ // label7
+ //
+ label7.AutoSize = true;
+ label7.Location = new Point(7, 192);
+ label7.Name = "label7";
+ label7.Size = new Size(92, 17);
+ label7.TabIndex = 22;
+ label7.Text = "服务端命名空间";
+ //
// Form1
//
AutoScaleDimensions = new SizeF(7F, 17F);
AutoScaleMode = AutoScaleMode.Font;
- ClientSize = new Size(585, 161);
+ ClientSize = new Size(596, 216);
+ Controls.Add(label7);
+ Controls.Add(label6);
+ Controls.Add(textBoxServerNamespace);
+ Controls.Add(textBoxClientNamespce);
Controls.Add(buttonSelectServerJsonPath);
Controls.Add(label5);
Controls.Add(textBoxServerGenJsonPath);
@@ -261,5 +302,9 @@
private TextBox textBoxServerGenJsonPath;
private Label label5;
private Button buttonSelectServerJsonPath;
+ private TextBox textBoxClientNamespce;
+ private TextBox textBoxServerNamespace;
+ private Label label6;
+ private Label label7;
}
}
diff --git a/Tools/ConfigBuilder/NBConfigBuilder/Form1.cs b/Tools/ConfigBuilder/NBConfigBuilder/Form1.cs
index cf7eacc..c485b96 100644
--- a/Tools/ConfigBuilder/NBConfigBuilder/Form1.cs
+++ b/Tools/ConfigBuilder/NBConfigBuilder/Form1.cs
@@ -8,7 +8,7 @@ namespace NBConfigBuilder
// 配置文件路径
private readonly string configPath =
Path.Combine(Path.GetDirectoryName(Application.ExecutablePath) ?? string.Empty, "config.json");
-
+
// 保存原始标题
private string _originalTitle;
@@ -18,7 +18,7 @@ namespace NBConfigBuilder
// 设置窗口大小不可变
this.FormBorderStyle = FormBorderStyle.FixedSingle;
this.MaximizeBox = false;
-
+
// 保存原始标题
_originalTitle = this.Text;
@@ -36,14 +36,14 @@ namespace NBConfigBuilder
{
// 保存当前配置
SaveConfig();
-
+
// 创建导出器并设置进度回调
var exporter = new ExcelExporter(ExportType.AllExcel);
exporter.SetProgressCallback(UpdateProgress);
-
+
// 运行导出器
await Task.Run(() => exporter.Run());
-
+
// 显示成功消息
MessageBox.Show("配置导出完成!", "成功", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
@@ -73,7 +73,7 @@ namespace NBConfigBuilder
Invoke(new Action(UpdateProgress), message);
return;
}
-
+
// 更新标题栏显示进度
this.Text = $"{_originalTitle} - {message}";
}
@@ -150,6 +150,8 @@ namespace NBConfigBuilder
ServerJsonPath = textBoxServerGenJsonPath.Text,
GenClient = checkBoxGenClient.Checked,
GenServer = checkBoxGenServer.Checked,
+ ClientNamespace = textBoxClientNamespce.Text,
+ ServerNamespace = textBoxServerNamespace.Text
};
App.Config = config;
try
@@ -182,6 +184,8 @@ namespace NBConfigBuilder
checkBoxGenServer.Checked = config.GenServer;
textBoxClientGenJsonPath.Text = config.ClientJsonPath ?? "";
textBoxServerGenJsonPath.Text = config.ServerJsonPath ?? "";
+ textBoxClientNamespce.Text = config.ClientNamespace ?? "NB";
+ textBoxServerNamespace.Text = config.ServerNamespace ?? "NB";
}
}
catch (Exception ex)
@@ -189,5 +193,10 @@ namespace NBConfigBuilder
MessageBox.Show($"加载配置失败: {ex.Message}", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
+
+ private void checkBoxGenServer_CheckedChanged(object sender, EventArgs e)
+ {
+
+ }
}
}
\ No newline at end of file
diff --git a/Tools/ConfigBuilder/NBConfigBuilder/Form1.resx b/Tools/ConfigBuilder/NBConfigBuilder/Form1.resx
index 8b2ff64..af32865 100644
--- a/Tools/ConfigBuilder/NBConfigBuilder/Form1.resx
+++ b/Tools/ConfigBuilder/NBConfigBuilder/Form1.resx
@@ -1,7 +1,7 @@