From d6385e8b7bda7a0fe766a4b7c2a04771b7a3d779 Mon Sep 17 00:00:00 2001 From: m0_75251201 Date: Mon, 14 Jul 2025 21:08:53 +0800 Subject: [PATCH] =?UTF-8?q?(client)=20feat:=E5=AE=9A=E4=B9=89=E7=93=A6?= =?UTF-8?q?=E7=89=87=E5=9C=B0=E5=9B=BE=E6=98=A0=E5=B0=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Client/Assets/Scenes/Test.unity | 2 +- Client/Assets/Scripts/Data/MapDefine.cs | 40 ++++++++++++++++++++ Client/Assets/Scripts/Data/MapDefine.cs.meta | 3 ++ Client/Data/Core/Define/Map/Map.xml | 39 +++++++++++++++++++ 4 files changed, 83 insertions(+), 1 deletion(-) create mode 100644 Client/Assets/Scripts/Data/MapDefine.cs create mode 100644 Client/Assets/Scripts/Data/MapDefine.cs.meta create mode 100644 Client/Data/Core/Define/Map/Map.xml diff --git a/Client/Assets/Scenes/Test.unity b/Client/Assets/Scenes/Test.unity index ebaa11f..4907eac 100644 --- a/Client/Assets/Scenes/Test.unity +++ b/Client/Assets/Scenes/Test.unity @@ -667,7 +667,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!114 &2104915507 MonoBehaviour: m_ObjectHideFlags: 0 diff --git a/Client/Assets/Scripts/Data/MapDefine.cs b/Client/Assets/Scripts/Data/MapDefine.cs new file mode 100644 index 0000000..0484eda --- /dev/null +++ b/Client/Assets/Scripts/Data/MapDefine.cs @@ -0,0 +1,40 @@ +using System.Collections.Generic; +using System.Xml; +using System.Xml.Linq; +using UnityEditor.Animations; +using UnityEngine.Tilemaps; + +namespace Data +{ + public class TileDef : Define + { + + } + + public class TileMappingTableDef : Define + { + public Dictionary tileDict = new(); + public override bool Init(XElement xmlDef) + { + base.Init(xmlDef); + // 清空字典以确保没有遗留数据 + tileDict.Clear(); + // 检查 xmlDef 是否为空 + if (xmlDef == null) + return false; + foreach (var element in xmlDef.Elements()) + { + // 获取子元素的名称作为键 + var key = element.Name.LocalName; + // 获取子元素的 value 属性作为值 + var value = element.Attribute("value")?.Value; + // 检查 value 是否存在 + if (!string.IsNullOrEmpty(value)) + { + tileDict[key] = value; + } + } + return true; + } + } +} \ No newline at end of file diff --git a/Client/Assets/Scripts/Data/MapDefine.cs.meta b/Client/Assets/Scripts/Data/MapDefine.cs.meta new file mode 100644 index 0000000..4b41e18 --- /dev/null +++ b/Client/Assets/Scripts/Data/MapDefine.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 67d4d2ac30e641189cdf018ad6769f0e +timeCreated: 1752496329 \ No newline at end of file diff --git a/Client/Data/Core/Define/Map/Map.xml b/Client/Data/Core/Define/Map/Map.xml new file mode 100644 index 0000000..2c9384d --- /dev/null +++ b/Client/Data/Core/Define/Map/Map.xml @@ -0,0 +1,39 @@ + + + + GrassDirtTable + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file