From d7c4342915645a76c3b723b787c1415d5acf2732 Mon Sep 17 00:00:00 2001 From: m0_75251201 Date: Sat, 12 Jul 2025 11:35:41 +0800 Subject: [PATCH 1/5] =?UTF-8?q?(client)=20chore:=E8=AE=A9Define=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E5=AD=98=E5=82=A8packID?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Client/Assets/Scripts/Data/Define.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/Client/Assets/Scripts/Data/Define.cs b/Client/Assets/Scripts/Data/Define.cs index 5490d4b..69ac7f6 100644 --- a/Client/Assets/Scripts/Data/Define.cs +++ b/Client/Assets/Scripts/Data/Define.cs @@ -8,6 +8,7 @@ namespace Data public string defName; public string label; public string discription; + public string packID; /// /// 初始化方法,根据传入的 XML 元素 () 进行处理。 /// From 70356bcd3659cbb6f8218f8f0d876cf82a60f431 Mon Sep 17 00:00:00 2001 From: m0_75251201 Date: Sat, 12 Jul 2025 11:53:21 +0800 Subject: [PATCH 2/5] =?UTF-8?q?(client)=20feat:=E6=B7=BB=E5=8A=A0=E5=B0=86?= =?UTF-8?q?XML=E8=AF=BB=E5=8F=96=E4=B8=BAXML=E7=BB=84=E4=BB=B6=E7=9A=84?= =?UTF-8?q?=E5=87=BD=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Client/Assets/Scripts/Data/DefineManager.cs | 2 +- Client/Assets/Scripts/Utils/FileHandler.cs | 36 ++++++++++++++++++++- 2 files changed, 36 insertions(+), 2 deletions(-) diff --git a/Client/Assets/Scripts/Data/DefineManager.cs b/Client/Assets/Scripts/Data/DefineManager.cs index 3e26eb7..80c1422 100644 --- a/Client/Assets/Scripts/Data/DefineManager.cs +++ b/Client/Assets/Scripts/Data/DefineManager.cs @@ -19,7 +19,7 @@ namespace Data public void Init() { // 加载所有 XML 文件路径 - var xmlFilePaths = FileHandler.LoadXmlFilesFromPaths(dataSetFilePath); + var xmlFilePaths = FileHandler.GetXmlFilePathsFromPaths(dataSetFilePath); // 遍历并加载每个 XML 文件 foreach (var xmlFilePath in xmlFilePaths) diff --git a/Client/Assets/Scripts/Utils/FileHandler.cs b/Client/Assets/Scripts/Utils/FileHandler.cs index 3e97b41..ac0ee43 100644 --- a/Client/Assets/Scripts/Utils/FileHandler.cs +++ b/Client/Assets/Scripts/Utils/FileHandler.cs @@ -1,8 +1,10 @@ using System; using System.Collections.Generic; using System.IO; +using System.Xml; using Newtonsoft.Json; using UnityEngine; +using Formatting = Newtonsoft.Json.Formatting; namespace Utils { @@ -158,7 +160,7 @@ namespace Utils /// /// 文件夹路径 /// - public static List LoadXmlFilesFromPaths(string[] paths) + public static List GetXmlFilePathsFromPaths(string[] paths) { var xmlFilePaths = new List(); @@ -194,6 +196,38 @@ namespace Utils return xmlFilePaths; } + + /// + /// 从指定路径加载所有 XML 文件并解析为 XmlDocument 对象。 + /// + /// 文件夹路径数组。 + /// 包含所有解析后的 XmlDocument 对象的列表。 + public static List LoadXmlFromPaths(string[] paths) + { + var xmlDocuments = new List(); + var xmlFilePaths = GetXmlFilePathsFromPaths(paths); + + foreach (var filePath in xmlFilePaths) + { + try + { + // 创建一个新的 XmlDocument 实例 + var xmlDoc = new XmlDocument(); + + // 加载 XML 文件内容 + xmlDoc.Load(filePath); + + // 将解析后的 XmlDocument 添加到结果列表中 + xmlDocuments.Add(xmlDoc); + } + catch (Exception ex) + { + Console.Error.WriteLine($"加载 XML 文件 {filePath} 时发生错误: {ex.Message}"); + } + } + + return xmlDocuments; + } } } \ No newline at end of file From c624fd15b2864da0c4f02572ddac9ef0094b6b0c Mon Sep 17 00:00:00 2001 From: m0_75251201 Date: Sat, 12 Jul 2025 11:54:19 +0800 Subject: [PATCH 3/5] =?UTF-8?q?(client)=20fix:=E4=BF=AE=E6=94=B9Define?= =?UTF-8?q?=E9=80=9A=E8=BF=87=E5=8C=85=E4=B8=BA=E5=8D=95=E4=BD=8D=E5=8A=A0?= =?UTF-8?q?=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Client/Assets/Scripts/Data/DefinePack.cs | 22 +++++++++++++++++++ ...eSourceData.cs.meta => DefinePack.cs.meta} | 0 .../Assets/Scripts/Data/DefineSourceData.cs | 12 ---------- 3 files changed, 22 insertions(+), 12 deletions(-) create mode 100644 Client/Assets/Scripts/Data/DefinePack.cs rename Client/Assets/Scripts/Data/{DefineSourceData.cs.meta => DefinePack.cs.meta} (100%) delete mode 100644 Client/Assets/Scripts/Data/DefineSourceData.cs diff --git a/Client/Assets/Scripts/Data/DefinePack.cs b/Client/Assets/Scripts/Data/DefinePack.cs new file mode 100644 index 0000000..3e03d1f --- /dev/null +++ b/Client/Assets/Scripts/Data/DefinePack.cs @@ -0,0 +1,22 @@ +using System.Collections.Generic; + +namespace Data +{ + public struct PackAbout + { + public string name; + public string description; + public string author; + } + public class DefinePack + { + public string packID; + public PackAbout packAbout; + public List defines; + + public void LoadPack(string packPath) + { + + } + } +} \ No newline at end of file diff --git a/Client/Assets/Scripts/Data/DefineSourceData.cs.meta b/Client/Assets/Scripts/Data/DefinePack.cs.meta similarity index 100% rename from Client/Assets/Scripts/Data/DefineSourceData.cs.meta rename to Client/Assets/Scripts/Data/DefinePack.cs.meta diff --git a/Client/Assets/Scripts/Data/DefineSourceData.cs b/Client/Assets/Scripts/Data/DefineSourceData.cs deleted file mode 100644 index 233d3f0..0000000 --- a/Client/Assets/Scripts/Data/DefineSourceData.cs +++ /dev/null @@ -1,12 +0,0 @@ -namespace Data -{ - public class DefineSourceData - { - public string className; - public string defName; - public string label; - public string discription; - - - } -} \ No newline at end of file From 601701cfa1d6911a5de5a16f6ec72ad053e6d139 Mon Sep 17 00:00:00 2001 From: m0_75251201 Date: Sat, 12 Jul 2025 11:57:04 +0800 Subject: [PATCH 4/5] =?UTF-8?q?(client)=20feat:=E5=AF=B9xml=E5=8A=A0?= =?UTF-8?q?=E8=BD=BD=E5=87=BD=E6=95=B0=E6=B7=BB=E5=8A=A0=E5=8D=95=E8=B7=AF?= =?UTF-8?q?=E5=BE=84=E7=9A=84=E9=87=8D=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Client/Assets/Scripts/Utils/FileHandler.cs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/Client/Assets/Scripts/Utils/FileHandler.cs b/Client/Assets/Scripts/Utils/FileHandler.cs index ac0ee43..9253f5f 100644 --- a/Client/Assets/Scripts/Utils/FileHandler.cs +++ b/Client/Assets/Scripts/Utils/FileHandler.cs @@ -228,6 +228,24 @@ namespace Utils return xmlDocuments; } + /// + /// 获取指定单个路径下的所有 XML 文件。 + /// + /// 文件夹路径。 + /// 包含所有 XML 文件路径的列表。 + public static List GetXmlFilePathsFromPath(string path) + { + return GetXmlFilePathsFromPaths(new[] { path }); + } + /// + /// 从指定单个路径加载所有 XML 文件并解析为 XmlDocument 对象。 + /// + /// 文件夹路径。 + /// 包含所有解析后的 XmlDocument 对象的列表。 + public static List LoadXmlFromPath(string path) + { + return LoadXmlFromPaths(new[] { path }); + } } } \ No newline at end of file From dbc236688a82c1453a1f98a94d5443e2e2d3a670 Mon Sep 17 00:00:00 2001 From: m0_75251201 Date: Sat, 12 Jul 2025 12:04:59 +0800 Subject: [PATCH 5/5] =?UTF-8?q?(client)=20feat:=E6=B7=BB=E5=8A=A0=E6=9F=A5?= =?UTF-8?q?=E6=89=BE=E6=8C=87=E5=AE=9A=E6=96=87=E6=A1=A3=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E5=87=BD=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Client/Assets/Scripts/Data/DefinePack.cs | 34 ++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/Client/Assets/Scripts/Data/DefinePack.cs b/Client/Assets/Scripts/Data/DefinePack.cs index 3e03d1f..e14972d 100644 --- a/Client/Assets/Scripts/Data/DefinePack.cs +++ b/Client/Assets/Scripts/Data/DefinePack.cs @@ -1,4 +1,6 @@ +using System; using System.Collections.Generic; +using System.Xml; namespace Data { @@ -16,7 +18,39 @@ namespace Data public void LoadPack(string packPath) { + var packDatas=Utils.FileHandler.LoadXmlFromPath(packPath); } + /// + /// 从 ListXmlDocument 中查找指定根元素名称的文档。 + /// + /// XML 文档列表。 + /// 目标根元素名称。 + /// 符合条件的 XML 文档列表。 + public static List FindDocumentsWithRootName(List xmlDocuments, string rootName) + { + var result = new List(); + + foreach (var xmlDoc in xmlDocuments) + { + try + { + // 获取根节点 + var root = xmlDoc.DocumentElement; + + if (root != null && root.Name == rootName) + { + // 如果根节点名称匹配,则添加到结果列表 + result.Add(xmlDoc); + } + } + catch (Exception ex) + { + Console.Error.WriteLine($"处理 XML 文档时发生错误: {ex.Message}"); + } + } + + return result; + } } } \ No newline at end of file