mirror of
http://47.107.252.169:3000/Roguelite-Game-Developing-Team/Gen_Hack-and-Slash-Roguelite.git
synced 2025-11-20 03:07:12 +08:00
(client) feat:实现技能树界面,实现地图生成器,实现维度指定,实现规则瓦片定义,实现逃跑逻辑,实现消息定义,实现武器动画,实现受击动画 fix: 修复单攻击子弹击中多个目标,修复人物属性计算错误 (#56)
Co-authored-by: m0_75251201 <m0_75251201@noreply.gitcode.com> Reviewed-on: http://47.107.252.169:3000/Roguelite-Game-Developing-Team/Gen_Hack-and-Slash-Roguelite/pulls/56
This commit is contained in:
21
Client/Data/Core/Define/Map/Dimension.xml
Normal file
21
Client/Data/Core/Define/Map/Dimension.xml
Normal file
@@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Define>
|
||||
<DimensionDef>
|
||||
<defName>DefaultOutsideDimension</defName>
|
||||
<label>默认外部维度地图</label>
|
||||
<description>默认外部维度地图的描述</description>
|
||||
<mapGenerators>
|
||||
<li>DefaultMapGenerator</li>
|
||||
<li>TreeGenerator</li>
|
||||
</mapGenerators>
|
||||
</DimensionDef>
|
||||
<DimensionDef>
|
||||
<defName>DefaultInsideDimension</defName>
|
||||
<label>默认内部维度地图</label>
|
||||
<description>默认内部维度地图的描述</description>
|
||||
<mapGenerators>
|
||||
<li>DefaultMapGenerator2</li>
|
||||
<li>TreeGenerator</li>
|
||||
</mapGenerators>
|
||||
</DimensionDef>
|
||||
</Define>
|
||||
@@ -1,55 +1,334 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Define>
|
||||
<ImageDef>
|
||||
<defName>GrassDirt</defName>
|
||||
<path>Resources\Map\GrassSoild.png</path>
|
||||
<wCount>4</wCount>
|
||||
<hCount>4</hCount>
|
||||
<defName>tileMap</defName>
|
||||
<path>Resources\Map\tilemap_packed.png</path>
|
||||
<wCount>18</wCount>
|
||||
<hCount>11</hCount>
|
||||
</ImageDef>
|
||||
|
||||
<!-- 定义一个普通的草地瓦片 -->
|
||||
<TileDef>
|
||||
<defName>Grass</defName>
|
||||
<name>Grass</name>
|
||||
<label>草地</label>
|
||||
<description>地图上的基础草地瓦片,构成路边的背景。</description>
|
||||
<collider>None</collider>
|
||||
<texture>tileMap_0</texture>
|
||||
<rules>
|
||||
<rule>
|
||||
<neighborConditions>
|
||||
<li>Any</li><li>Any</li><li>Any</li>
|
||||
<li>Any</li> <li>Any</li>
|
||||
<li>Any</li><li>Any</li><li>Any</li>
|
||||
</neighborConditions>
|
||||
<outputType>Random</outputType>
|
||||
<animationTextures>
|
||||
<li>tileMap_0</li>
|
||||
<li>tileMap_1</li>
|
||||
<li>tileMap_2</li>
|
||||
</animationTextures>
|
||||
</rule>
|
||||
</rules>
|
||||
</TileDef>
|
||||
<!-- 定义水体 -->
|
||||
<TileDef>
|
||||
<defName>Dirt</defName>
|
||||
<name>Dirt</name>
|
||||
<defName>Water</defName>
|
||||
<label>水面</label>
|
||||
<description>地图上的水体瓦片,构成河流和湖泊的背景。</description>
|
||||
<collider>Grid</collider>
|
||||
<texture>tileMap_37</texture>
|
||||
<rules>
|
||||
<rule>
|
||||
<neighborConditions>
|
||||
<li>This</li><li>This</li><li>This</li>
|
||||
<li>This</li> <li>This</li>
|
||||
<li>This</li><li>This</li><li>This</li>
|
||||
</neighborConditions>
|
||||
<animationTextures>
|
||||
<li>tileMap_37</li>
|
||||
</animationTextures>
|
||||
<outputCollider>Grid</outputCollider>
|
||||
</rule>
|
||||
|
||||
|
||||
|
||||
<rule>
|
||||
<neighborConditions>
|
||||
<li>Any</li><li>NotThis</li><li>Any</li>
|
||||
<li>This</li> <li>This</li>
|
||||
<li>This</li><li>This</li><li>This</li>
|
||||
</neighborConditions>
|
||||
<animationTextures>
|
||||
<li>tileMap_19</li>
|
||||
</animationTextures>
|
||||
<outputCollider>Grid</outputCollider>
|
||||
</rule>
|
||||
<rule>
|
||||
<neighborConditions>
|
||||
<li>Any</li><li>This</li><li>This</li>
|
||||
<li>NotThis</li> <li>This</li>
|
||||
<li>Any</li><li>This</li><li>This</li>
|
||||
</neighborConditions>
|
||||
<animationTextures>
|
||||
<li>tileMap_36</li>
|
||||
</animationTextures>
|
||||
<outputCollider>Grid</outputCollider>
|
||||
</rule>
|
||||
<rule>
|
||||
<neighborConditions>
|
||||
<li>This</li><li>This</li><li>This</li>
|
||||
<li>This</li> <li>This</li>
|
||||
<li>Any</li><li>NotThis</li><li>Any</li>
|
||||
</neighborConditions>
|
||||
<animationTextures>
|
||||
<li>tileMap_55</li>
|
||||
</animationTextures>
|
||||
<outputCollider>Grid</outputCollider>
|
||||
</rule>
|
||||
<rule>
|
||||
<neighborConditions>
|
||||
<li>This</li><li>This</li><li>Any</li>
|
||||
<li>This</li> <li>NotThis</li>
|
||||
<li>This</li><li>This</li><li>Any</li>
|
||||
</neighborConditions>
|
||||
<animationTextures>
|
||||
<li>tileMap_38</li>
|
||||
</animationTextures>
|
||||
<outputCollider>Grid</outputCollider>
|
||||
</rule>
|
||||
|
||||
|
||||
|
||||
|
||||
<rule>
|
||||
<neighborConditions>
|
||||
<li>NotThis</li><li>NotThis</li><li>Any</li>
|
||||
<li>NotThis</li> <li>This</li>
|
||||
<li>Any</li><li>This</li><li>This</li>
|
||||
</neighborConditions>
|
||||
<animationTextures>
|
||||
<li>tileMap_18</li>
|
||||
</animationTextures>
|
||||
<outputCollider>Grid</outputCollider>
|
||||
</rule>
|
||||
<rule>
|
||||
<neighborConditions>
|
||||
<li>Any</li><li>NotThis</li><li>NotThis</li>
|
||||
<li>This</li> <li>NotThis</li>
|
||||
<li>This</li><li>This</li><li>Any</li>
|
||||
</neighborConditions>
|
||||
<animationTextures>
|
||||
<li>tileMap_20</li>
|
||||
</animationTextures>
|
||||
<outputCollider>Grid</outputCollider>
|
||||
</rule>
|
||||
<rule>
|
||||
<neighborConditions>
|
||||
<li>This</li><li>This</li><li>Any</li>
|
||||
<li>This</li> <li>NotThis</li>
|
||||
<li>Any</li><li>NotThis</li><li>NotThis</li>
|
||||
</neighborConditions>
|
||||
<animationTextures>
|
||||
<li>tileMap_56</li>
|
||||
</animationTextures>
|
||||
<outputCollider>Grid</outputCollider>
|
||||
</rule>
|
||||
<rule>
|
||||
<neighborConditions>
|
||||
<li>Any</li><li>This</li><li>This</li>
|
||||
<li>NotThis</li> <li>This</li>
|
||||
<li>NotThis</li><li>NotThis</li><li>Any</li>
|
||||
</neighborConditions>
|
||||
<animationTextures>
|
||||
<li>tileMap_54</li>
|
||||
</animationTextures>
|
||||
<outputCollider>Grid</outputCollider>
|
||||
</rule>
|
||||
|
||||
|
||||
|
||||
<rule>
|
||||
<neighborConditions>
|
||||
<li>NotThis</li><li>NotThis</li><li>Any</li>
|
||||
<li>NotThis</li> <li>This</li>
|
||||
<li>Any</li><li>This</li><li>NotThis</li>
|
||||
</neighborConditions>
|
||||
<animationTextures>
|
||||
<li>tileMap_4</li>
|
||||
</animationTextures>
|
||||
<outputCollider>Grid</outputCollider>
|
||||
</rule>
|
||||
<rule>
|
||||
<neighborConditions>
|
||||
<li>Any</li><li>NotThis</li><li>NotThis</li>
|
||||
<li>This</li> <li>NotThis</li>
|
||||
<li>NotThis</li><li>This</li><li>Any</li>
|
||||
</neighborConditions>
|
||||
<animationTextures>
|
||||
<li>tileMap_5</li>
|
||||
</animationTextures>
|
||||
<outputCollider>Grid</outputCollider>
|
||||
</rule>
|
||||
<rule>
|
||||
<neighborConditions>
|
||||
<li>NotThis</li><li>This</li><li>Any</li>
|
||||
<li>This</li> <li>NotThis</li>
|
||||
<li>Any</li><li>NotThis</li><li>NotThis</li>
|
||||
</neighborConditions>
|
||||
<animationTextures>
|
||||
<li>tileMap_22</li>
|
||||
</animationTextures>
|
||||
<outputCollider>Grid</outputCollider>
|
||||
</rule>
|
||||
<rule>
|
||||
<neighborConditions>
|
||||
<li>Any</li><li>This</li><li>NotThis</li>
|
||||
<li>NotThis</li> <li>This</li>
|
||||
<li>NotThis</li><li>NotThis</li><li>Any</li>
|
||||
</neighborConditions>
|
||||
<animationTextures>
|
||||
<li>tileMap_21</li>
|
||||
</animationTextures>
|
||||
<outputCollider>Grid</outputCollider>
|
||||
</rule>
|
||||
|
||||
|
||||
|
||||
<rule>
|
||||
<neighborConditions>
|
||||
<li>NotThis</li><li>This</li><li>This</li>
|
||||
<li>This</li> <li>This</li>
|
||||
<li>This</li><li>This</li><li>This</li>
|
||||
</neighborConditions>
|
||||
<animationTextures>
|
||||
<li>tileMap_90</li>
|
||||
</animationTextures>
|
||||
<outputCollider>Grid</outputCollider>
|
||||
</rule>
|
||||
<rule>
|
||||
<neighborConditions>
|
||||
<li>This</li><li>This</li><li>NotThis</li>
|
||||
<li>This</li> <li>This</li>
|
||||
<li>This</li><li>This</li><li>This</li>
|
||||
</neighborConditions>
|
||||
<animationTextures>
|
||||
<li>tileMap_91</li>
|
||||
</animationTextures>
|
||||
<outputCollider>Grid</outputCollider>
|
||||
</rule>
|
||||
<rule>
|
||||
<neighborConditions>
|
||||
<li>This</li><li>This</li><li>This</li>
|
||||
<li>This</li> <li>This</li>
|
||||
<li>This</li><li>This</li><li>NotThis</li>
|
||||
</neighborConditions>
|
||||
<animationTextures>
|
||||
<li>tileMap_92</li>
|
||||
</animationTextures>
|
||||
<outputCollider>Grid</outputCollider>
|
||||
</rule>
|
||||
<rule>
|
||||
<neighborConditions>
|
||||
<li>This</li><li>This</li><li>This</li>
|
||||
<li>This</li> <li>This</li>
|
||||
<li>NotThis</li><li>This</li><li>This</li>
|
||||
</neighborConditions>
|
||||
<animationTextures>
|
||||
<li>tileMap_93</li>
|
||||
</animationTextures>
|
||||
<outputCollider>Grid</outputCollider>
|
||||
</rule>
|
||||
|
||||
|
||||
<rule>
|
||||
<neighborConditions>
|
||||
<li>NotThis</li><li>This</li><li>This</li>
|
||||
<li>This</li> <li>This</li>
|
||||
<li>NotThis</li><li>This</li><li>This</li>
|
||||
</neighborConditions>
|
||||
<animationTextures>
|
||||
<li>tileMap_74</li>
|
||||
</animationTextures>
|
||||
<outputCollider>Grid</outputCollider>
|
||||
</rule>
|
||||
<rule>
|
||||
<neighborConditions>
|
||||
<li>This</li><li>This</li><li>NotThis</li>
|
||||
<li>This</li> <li>This</li>
|
||||
<li>This</li><li>This</li><li>NotThis</li>
|
||||
</neighborConditions>
|
||||
<animationTextures>
|
||||
<li>tileMap_72</li>
|
||||
</animationTextures>
|
||||
<outputCollider>Grid</outputCollider>
|
||||
</rule>
|
||||
<rule>
|
||||
<neighborConditions>
|
||||
<li>This</li><li>This</li><li>This</li>
|
||||
<li>This</li> <li>This</li>
|
||||
<li>NotThis</li><li>This</li><li>NotThis</li>
|
||||
</neighborConditions>
|
||||
<animationTextures>
|
||||
<li>tileMap_39</li>
|
||||
</animationTextures>
|
||||
<outputCollider>Grid</outputCollider>
|
||||
</rule>
|
||||
<rule>
|
||||
<neighborConditions>
|
||||
<li>NotThis</li><li>This</li><li>NotThis</li>
|
||||
<li>This</li> <li>This</li>
|
||||
<li>This</li><li>This</li><li>This</li>
|
||||
</neighborConditions>
|
||||
<animationTextures>
|
||||
<li>tileMap_75</li>
|
||||
</animationTextures>
|
||||
<outputCollider>Grid</outputCollider>
|
||||
</rule>
|
||||
|
||||
<rule>
|
||||
<neighborConditions>
|
||||
<li>Any</li><li>NotThis</li><li>Any</li>
|
||||
<li>This</li> <li>This</li>
|
||||
<li>Any</li><li>NotThis</li><li>Any</li>
|
||||
</neighborConditions>
|
||||
<animationTextures>
|
||||
<li>tileMap_73</li>
|
||||
</animationTextures>
|
||||
<outputCollider>Grid</outputCollider>
|
||||
</rule>
|
||||
<rule>
|
||||
<neighborConditions>
|
||||
<li>Any</li><li>This</li><li>Any</li>
|
||||
<li>NotThis</li> <li>NotThis</li>
|
||||
<li>Any</li><li>This</li><li>Any</li>
|
||||
</neighborConditions>
|
||||
<animationTextures>
|
||||
<li>tileMap_57</li>
|
||||
</animationTextures>
|
||||
<outputCollider>Grid</outputCollider>
|
||||
</rule>
|
||||
</rules>
|
||||
</TileDef>
|
||||
|
||||
<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_1"/>
|
||||
<!-- 1 + (0 * 4) = 1 -->
|
||||
<Grass_Dirt_Grass_Dirt value="GrassDirt_11"/>
|
||||
<!-- 3 + (2 * 4) = 11 -->
|
||||
<Dirt_Dirt_Grass_Grass value="GrassDirt_3"/>
|
||||
<!-- 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_2"/>
|
||||
<!-- 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>
|
||||
<TileDef>
|
||||
<defName>Tree</defName>
|
||||
<label>树</label>
|
||||
<description>地图上的基础树木瓦片,构成森林。</description>
|
||||
<collider>Sprite</collider>
|
||||
<texture>tileMap_94</texture>
|
||||
<rules>
|
||||
<rule>
|
||||
<neighborConditions>
|
||||
<li>Any</li><li>Any</li><li>Any</li>
|
||||
<li>Any</li> <li>Any</li>
|
||||
<li>Any</li><li>Any</li><li>Any</li>
|
||||
</neighborConditions>
|
||||
<outputType>Random</outputType>
|
||||
<animationTextures>
|
||||
<li>tileMap_94</li>
|
||||
<li>tileMap_112</li>
|
||||
</animationTextures>
|
||||
<collider>Sprite</collider>
|
||||
</rule>
|
||||
</rules>
|
||||
</TileDef>
|
||||
</Define>
|
||||
|
||||
70
Client/Data/Core/Define/Map/MapGenerator.xml
Normal file
70
Client/Data/Core/Define/Map/MapGenerator.xml
Normal file
@@ -0,0 +1,70 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Define>
|
||||
<MapGeneratorDef>
|
||||
<defName>DefaultMapGenerator</defName>
|
||||
<label>默认地图生成器</label>
|
||||
<description>一个简单的默认地图生成器,填充地图为草地</description>
|
||||
<workClass>BasicTerrainMapGenerator</workClass>
|
||||
<value>
|
||||
{
|
||||
"tileDefName":"Water",
|
||||
"elseTileDefName":"Grass",
|
||||
"mapCellSizeX":100,
|
||||
"mapCellSizeY":100,
|
||||
"threshold":0,
|
||||
"Scale":7
|
||||
}
|
||||
</value>
|
||||
</MapGeneratorDef>
|
||||
|
||||
<MapGeneratorDef>
|
||||
<defName>DefaultMapGenerator2</defName>
|
||||
<label>默认地图生成器2</label>
|
||||
<description>一个简单的默认地图生成器2,填充地图为草地</description>
|
||||
<workClass>BasicTerrainMapGenerator</workClass>
|
||||
<value>
|
||||
{
|
||||
"tileDefName":"Water",
|
||||
"elseTileDefName":"Grass",
|
||||
"mapCellSizeX":100,
|
||||
"mapCellSizeY":100,
|
||||
"threshold":0.3,
|
||||
"Scale":2,
|
||||
"offsetX":100,
|
||||
"offsetY":0
|
||||
}
|
||||
</value>
|
||||
</MapGeneratorDef>
|
||||
<!-- <MapGeneratorDef>
|
||||
<defName>WaterMapGenerator</defName>
|
||||
<label>水面地图生成器</label>
|
||||
<description>一个简单的水面地图生成器,填充地图为水面</description>
|
||||
<workClass>BasicTerrainMapGenerator</workClass>
|
||||
<value>
|
||||
{
|
||||
"tileDefName":"Water",
|
||||
"mapCellSizeX":100,
|
||||
"mapCellSizeY":100,
|
||||
"threshold":0,
|
||||
"Scale":10
|
||||
}
|
||||
</value>
|
||||
</MapGeneratorDef> -->
|
||||
<MapGeneratorDef>
|
||||
<defName>TreeGenerator</defName>
|
||||
<label>树木地图生成器</label>
|
||||
<description>一个简单的树木地图生成器,填充地图为树木</description>
|
||||
<workClass>PlantMapGenerator</workClass>
|
||||
<value>
|
||||
{
|
||||
"tileDefName":"Tree",
|
||||
"mapCellSizeX":100,
|
||||
"mapCellSizeY":100,
|
||||
"requiredBaseTileDefName":"Grass",
|
||||
"density":0.2,
|
||||
"threshold":0,
|
||||
"Scale":5
|
||||
}
|
||||
</value>
|
||||
</MapGeneratorDef>
|
||||
</Define>
|
||||
Reference in New Issue
Block a user