using System.Collections.Generic; using System.Xml; using System.Xml.Linq; using UnityEditor.Animations; using UnityEngine.Tilemaps; namespace Data { public class TileDef : Define { public string texturePath = ""; public string name = ""; public override bool Init(XElement xmlDef) { base.Init(xmlDef); name = defName; return false; } } 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; } } }