Files
Gen_Hack-and-Slash-Roguelit…/Client/Assets/Scripts/Data/MapDefine.cs
2025-07-17 15:42:24 +08:00

51 lines
1.3 KiB
C#

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