(client) feat:定义瓦片地图映射

This commit is contained in:
m0_75251201
2025-07-14 21:08:53 +08:00
parent 30d908a316
commit d6385e8b7b
4 changed files with 83 additions and 1 deletions

View File

@ -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

View File

@ -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<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;
}
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 67d4d2ac30e641189cdf018ad6769f0e
timeCreated: 1752496329

View File

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8"?>
<Define>
<TileMappingTableDef>
<defName>GrassDirtTable</defName>
<Grass_Grass_Grass_Grass value="GrassDirt_6"/>
<!-- 2 + (1 * 4) = 6 -->
<Dirt_Dirt_Dirt_Grass value="GrassDirt_13"/>
<!-- 1 + (3 * 4) = 13 -->
<Dirt_Dirt_Grass_Dirt value="GrassDirt_0"/>
<!-- 0 + (0 * 4) = 0 -->
<Dirt_Grass_Dirt_Dirt value="GrassDirt_8"/>
<!-- 0 + (2 * 4) = 8 -->
<Grass_Dirt_Dirt_Dirt value="GrassDirt_15"/>
<!-- 3 + (3 * 4) = 15 -->
<Dirt_Grass_Dirt_Grass value="GrassDirt_4"/>
<!-- 1 + (0 * 4) = 1 -->
<Grass_Dirt_Grass_Dirt value="GrassDirt_11"/>
<!-- 3 + (2 * 4) = 11 -->
<Dirt_Dirt_Grass_Grass value="GrassDirt_12"/>
<!-- 3 + (0 * 4) = 3 -->
<Grass_Grass_Dirt_Dirt value="GrassDirt_9"/>
<!-- 1 + (2 * 4) = 9 -->
<Dirt_Grass_Grass_Grass value="GrassDirt_5"/>
<!-- 1 + (1 * 4) = 5 -->
<Grass_Dirt_Grass_Grass value="GrassDirt_8"/>
<!-- 2 + (0 * 4) = 2 -->
<Grass_Grass_Dirt_Grass value="GrassDirt_10"/>
<!-- 2 + (2 * 4) = 10 -->
<Grass_Grass_Grass_Dirt value="GrassDirt_7"/>
<!-- 3 + (1 * 4) = 7 -->
<Dirt_Grass_Grass_Dirt value="GrassDirt_14"/>
<!-- 2 + (3 * 4) = 14 -->
<Grass_Dirt_Dirt_Grass value="GrassDirt_4"/>
<!-- 0 + (1 * 4) = 4 -->
<Dirt_Dirt_Dirt_Dirt value="GrassDirt_12"/>
<!-- 0 + (3 * 4) = 12 -->
</TileMappingTableDef>
</Define>