docs: 更新 API 文档并补充技能级局部更新说明

新增技能级 PATCH 接口说明,明确 PUT 浅合并规则与 PATCH 局部更新的适用场景
调整智能体操作流程,补充顶层字段与技能级的不同修改方式指引
This commit is contained in:
panFD
2026-10-06 00:11:05 +08:00
parent 04cea0fbb2
commit 4be5252cc4
5 changed files with 1556 additions and 307 deletions

View File

@@ -34,7 +34,7 @@
<key>spriteSourceSize</key>
<string>{672,378}</string>
<key>textureRect</key>
<string>{{1349,1095},{616,182}}</string>
<string>{{675,1669},{616,182}}</string>
<key>textureRotated</key>
<false/>
</dict>
@@ -51,7 +51,7 @@
<key>spriteSourceSize</key>
<string>{672,378}</string>
<key>textureRect</key>
<string>{{675,1775},{672,92}}</string>
<string>{{675,1853},{672,92}}</string>
<key>textureRotated</key>
<false/>
</dict>
@@ -68,9 +68,9 @@
<key>spriteSourceSize</key>
<string>{672,378}</string>
<key>textureRect</key>
<string>{{675,1869},{672,76}}</string>
<string>{{1931,675},{672,76}}</string>
<key>textureRotated</key>
<false/>
<true/>
</dict>
<key>0l5_mountains.png</key>
<dict>
@@ -102,7 +102,7 @@
<key>spriteSourceSize</key>
<string>{672,378}</string>
<key>textureRect</key>
<string>{{1,1589},{672,162}}</string>
<string>{{675,1193},{672,162}}</string>
<key>textureRotated</key>
<false/>
</dict>
@@ -119,9 +119,9 @@
<key>spriteSourceSize</key>
<string>{672,378}</string>
<key>textureRect</key>
<string>{{675,1507},{672,138}}</string>
<string>{{1663,675},{672,138}}</string>
<key>textureRotated</key>
<false/>
<true/>
</dict>
<key>0l8_ground.png</key>
<dict>
@@ -136,9 +136,9 @@
<key>spriteSourceSize</key>
<string>{672,378}</string>
<key>textureRect</key>
<string>{{1349,381},{672,216}}</string>
<string>{{1729,1},{672,216}}</string>
<key>textureRotated</key>
<false/>
<true/>
</dict>
<key>1l1_wall.png</key>
<dict>
@@ -221,9 +221,9 @@
<key>spriteSourceSize</key>
<string>{672,378}</string>
<key>textureRect</key>
<string>{{1349,1279},{662,90}}</string>
<string>{{1349,1349},{662,90}}</string>
<key>textureRotated</key>
<true/>
<false/>
</dict>
<key>1l6_ground.png</key>
<dict>
@@ -238,9 +238,9 @@
<key>spriteSourceSize</key>
<string>{672,378}</string>
<key>textureRect</key>
<string>{{1441,1279},{672,76}}</string>
<string>{{1293,1699},{672,76}}</string>
<key>textureRotated</key>
<true/>
<false/>
</dict>
<key>3l1_sky.png</key>
<dict>
@@ -272,9 +272,9 @@
<key>spriteSourceSize</key>
<string>{672,378}</string>
<key>textureRect</key>
<string>{{675,1353},{672,152}}</string>
<string>{{1509,675},{672,152}}</string>
<key>textureRotated</key>
<false/>
<true/>
</dict>
<key>3l3_pyramid.png</key>
<dict>
@@ -289,9 +289,9 @@
<key>spriteSourceSize</key>
<string>{672,378}</string>
<key>textureRect</key>
<string>{{1621,1279},{528,154}}</string>
<string>{{1349,1543},{528,154}}</string>
<key>textureRotated</key>
<true/>
<false/>
</dict>
<key>3l4_bg-ground01.png</key>
<dict>
@@ -306,7 +306,7 @@
<key>spriteSourceSize</key>
<string>{672,378}</string>
<key>textureRect</key>
<string>{{1,1753},{672,156}}</string>
<string>{{675,1357},{672,156}}</string>
<key>textureRotated</key>
<false/>
</dict>
@@ -323,7 +323,7 @@
<key>spriteSourceSize</key>
<string>{672,378}</string>
<key>textureRect</key>
<string>{{1349,599},{672,180}}</string>
<string>{{1,1589},{672,180}}</string>
<key>textureRotated</key>
<false/>
</dict>
@@ -340,9 +340,9 @@
<key>spriteSourceSize</key>
<string>{672,378}</string>
<key>textureRect</key>
<string>{{675,1647},{672,126}}</string>
<string>{{1803,675},{672,126}}</string>
<key>textureRotated</key>
<false/>
<true/>
</dict>
<key>3l7_ground.png</key>
<dict>
@@ -357,7 +357,24 @@
<key>spriteSourceSize</key>
<string>{672,378}</string>
<key>textureRect</key>
<string>{{1349,941},{672,152}}</string>
<string>{{675,1515},{672,152}}</string>
<key>textureRotated</key>
<false/>
</dict>
<key>Icon_Battle.png</key>
<dict>
<key>aliases</key>
<array/>
<key>anchor</key>
<string>{0.5,0.5}</string>
<key>spriteOffset</key>
<string>{0,0}</string>
<key>spriteSize</key>
<string>{64,57}</string>
<key>spriteSourceSize</key>
<string>{64,57}</string>
<key>textureRect</key>
<string>{{1349,1894},{64,57}}</string>
<key>textureRotated</key>
<false/>
</dict>
@@ -374,9 +391,9 @@
<key>spriteSourceSize</key>
<string>{68,51}</string>
<key>textureRect</key>
<string>{{1777,1626},{68,51}}</string>
<string>{{1879,1629},{68,51}}</string>
<key>textureRotated</key>
<false/>
<true/>
</dict>
<key>Stone_A_04.png</key>
<dict>
@@ -391,9 +408,9 @@
<key>spriteSourceSize</key>
<string>{60,51}</string>
<key>textureRect</key>
<string>{{1850,1562},{60,51}}</string>
<string>{{1293,1777},{60,51}}</string>
<key>textureRotated</key>
<false/>
<true/>
</dict>
<key>Stone_A_07.png</key>
<dict>
@@ -408,9 +425,9 @@
<key>spriteSourceSize</key>
<string>{107,51}</string>
<key>textureRect</key>
<string>{{1621,1809},{107,51}}</string>
<string>{{1947,1},{107,51}}</string>
<key>textureRotated</key>
<false/>
<true/>
</dict>
<key>Stone_B_01.png</key>
<dict>
@@ -425,7 +442,7 @@
<key>spriteSourceSize</key>
<string>{68,70}</string>
<key>textureRect</key>
<string>{{1519,1865},{68,70}}</string>
<string>{{1935,1441},{68,70}}</string>
<key>textureRotated</key>
<false/>
</dict>
@@ -442,7 +459,7 @@
<key>spriteSourceSize</key>
<string>{66,45}</string>
<key>textureRect</key>
<string>{{1777,1679},{66,45}}</string>
<string>{{1415,1894},{66,45}}</string>
<key>textureRotated</key>
<false/>
</dict>
@@ -459,7 +476,7 @@
<key>spriteSourceSize</key>
<string>{35,22}</string>
<key>textureRect</key>
<string>{{1730,1809},{35,22}}</string>
<string>{{1293,1669},{35,22}}</string>
<key>textureRotated</key>
<false/>
</dict>
@@ -476,9 +493,9 @@
<key>spriteSourceSize</key>
<string>{71,62}</string>
<key>textureRect</key>
<string>{{1777,1562},{71,62}}</string>
<string>{{1899,1777},{71,62}}</string>
<key>textureRotated</key>
<false/>
<true/>
</dict>
<key>Stone_B_05.png</key>
<dict>
@@ -493,7 +510,7 @@
<key>spriteSourceSize</key>
<string>{84,43}</string>
<key>textureRect</key>
<string>{{1967,1095},{84,43}}</string>
<string>{{1879,1543},{84,43}}</string>
<key>textureRotated</key>
<true/>
</dict>
@@ -510,7 +527,7 @@
<key>spriteSourceSize</key>
<string>{31,15}</string>
<key>textureRect</key>
<string>{{1519,1937},{31,15}}</string>
<string>{{1947,110},{31,15}}</string>
<key>textureRotated</key>
<false/>
</dict>
@@ -527,7 +544,41 @@
<key>spriteSourceSize</key>
<string>{44,16}</string>
<key>textureRect</key>
<string>{{1,1911},{44,16}}</string>
<string>{{1,1931},{44,16}}</string>
<key>textureRotated</key>
<false/>
</dict>
<key>Title_01_NoDeco_Orange.Png</key>
<dict>
<key>aliases</key>
<array/>
<key>anchor</key>
<string>{0.5,0.5}</string>
<key>spriteOffset</key>
<string>{0,0}</string>
<key>spriteSize</key>
<string>{273,115}</string>
<key>spriteSourceSize</key>
<string>{273,115}</string>
<key>textureRect</key>
<string>{{1349,1777},{273,115}}</string>
<key>textureRotated</key>
<false/>
</dict>
<key>Title_01_NoDeco_Tangerine.Png</key>
<dict>
<key>aliases</key>
<array/>
<key>anchor</key>
<string>{0.5,0.5}</string>
<key>spriteOffset</key>
<string>{0,0}</string>
<key>spriteSize</key>
<string>{273,115}</string>
<key>spriteSourceSize</key>
<string>{273,115}</string>
<key>textureRect</key>
<string>{{1624,1777},{273,115}}</string>
<key>textureRotated</key>
<false/>
</dict>
@@ -546,7 +597,7 @@
<key>textureRect</key>
<string>{{1349,1},{672,378}}</string>
<key>textureRotated</key>
<false/>
<true/>
</dict>
<key>l2_mountains.png</key>
<dict>
@@ -578,9 +629,9 @@
<key>spriteSourceSize</key>
<string>{672,378}</string>
<key>textureRect</key>
<string>{{1519,1279},{584,100}}</string>
<string>{{1349,1441},{584,100}}</string>
<key>textureRotated</key>
<true/>
<false/>
</dict>
<key>l4_bg-ground01.png</key>
<dict>
@@ -595,9 +646,9 @@
<key>spriteSourceSize</key>
<string>{672,378}</string>
<key>textureRect</key>
<string>{{675,1193},{672,158}}</string>
<string>{{1349,675},{672,158}}</string>
<key>textureRotated</key>
<false/>
<true/>
</dict>
<key>l5_bg-ground02.png</key>
<dict>
@@ -612,7 +663,7 @@
<key>spriteSourceSize</key>
<string>{672,378}</string>
<key>textureRect</key>
<string>{{1349,781},{672,158}}</string>
<string>{{1,1771},{672,158}}</string>
<key>textureRotated</key>
<false/>
</dict>
@@ -633,23 +684,6 @@
<key>textureRotated</key>
<false/>
</dict>
<key>logo2.png</key>
<dict>
<key>aliases</key>
<array/>
<key>anchor</key>
<string>{0.5,0.5}</string>
<key>spriteOffset</key>
<string>{1,2}</string>
<key>spriteSize</key>
<string>{281,231}</string>
<key>spriteSourceSize</key>
<string>{307,307}</string>
<key>textureRect</key>
<string>{{1777,1279},{281,231}}</string>
<key>textureRotated</key>
<true/>
</dict>
</dict>
<key>metadata</key>
<dict>
@@ -662,9 +696,9 @@
<key>realTextureFileName</key>
<string>mps.png</string>
<key>size</key>
<string>{2022,1953}</string>
<string>{2012,1952}</string>
<key>smartupdate</key>
<string>$TexturePacker:SmartUpdate:c995e79e2727f3d5b64d2e4345b903e7:ff13e6153e38a1ee043318ccbb0a835f:4c0e3901f0d5fcb2cf0cd4dcba1c7f8b$</string>
<string>$TexturePacker:SmartUpdate:afc599cf42d3db8475edd4bf42d848d7:62891583945cafa92fc112c0ecd848ee:4c0e3901f0d5fcb2cf0cd4dcba1c7f8b$</string>
<key>textureFileName</key>
<string>mps.png</string>
</dict>

View File

@@ -7,6 +7,52 @@
".json"
],
"subMetas": {
"57674": {
"importer": "sprite-frame",
"uuid": "81af97ed-7940-45e6-91a1-21bd0df1a343@57674",
"displayName": "",
"id": "57674",
"name": "Icon_Battle",
"userData": {
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 1349,
"trimY": 1894,
"width": 64,
"height": 57,
"rawWidth": 64,
"rawHeight": 57,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"packable": true,
"pixelsToUnit": 100,
"pivotX": 0.5,
"pivotY": 0.5,
"meshType": 0,
"vertices": {
"rawPosition": [],
"indexes": [],
"uv": [],
"nuv": [],
"minPos": [],
"maxPos": []
},
"isUuid": true,
"imageUuidOrDatabaseUri": "ca2b26a5-8d54-49ec-bdaf-e9f777afc9cb@6c48a",
"atlasUuid": "81af97ed-7940-45e6-91a1-21bd0df1a343",
"trimType": "auto"
},
"ver": "1.0.12",
"imported": true,
"files": [
".json"
],
"subMetas": {}
},
"58094": {
"importer": "sprite-frame",
"uuid": "81af97ed-7940-45e6-91a1-21bd0df1a343@58094",
@@ -53,6 +99,98 @@
],
"subMetas": {}
},
"63222": {
"importer": "sprite-frame",
"uuid": "81af97ed-7940-45e6-91a1-21bd0df1a343@63222",
"displayName": "",
"id": "63222",
"name": "Title_01_NoDeco_Tangerine",
"userData": {
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 1624,
"trimY": 1777,
"width": 273,
"height": 115,
"rawWidth": 273,
"rawHeight": 115,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"packable": true,
"pixelsToUnit": 100,
"pivotX": 0.5,
"pivotY": 0.5,
"meshType": 0,
"vertices": {
"rawPosition": [],
"indexes": [],
"uv": [],
"nuv": [],
"minPos": [],
"maxPos": []
},
"isUuid": true,
"imageUuidOrDatabaseUri": "ca2b26a5-8d54-49ec-bdaf-e9f777afc9cb@6c48a",
"atlasUuid": "81af97ed-7940-45e6-91a1-21bd0df1a343",
"trimType": "auto"
},
"ver": "1.0.12",
"imported": true,
"files": [
".json"
],
"subMetas": {}
},
"86850": {
"importer": "sprite-frame",
"uuid": "81af97ed-7940-45e6-91a1-21bd0df1a343@86850",
"displayName": "",
"id": "86850",
"name": "Title_01_NoDeco_Orange",
"userData": {
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 1349,
"trimY": 1777,
"width": 273,
"height": 115,
"rawWidth": 273,
"rawHeight": 115,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 135,
"borderRight": 138,
"packable": true,
"pixelsToUnit": 100,
"pivotX": 0.5,
"pivotY": 0.5,
"meshType": 0,
"vertices": {
"rawPosition": [],
"indexes": [],
"uv": [],
"nuv": [],
"minPos": [],
"maxPos": []
},
"isUuid": true,
"imageUuidOrDatabaseUri": "ca2b26a5-8d54-49ec-bdaf-e9f777afc9cb@6c48a",
"atlasUuid": "81af97ed-7940-45e6-91a1-21bd0df1a343",
"trimType": "auto"
},
"ver": "1.0.12",
"imported": true,
"files": [
".json"
],
"subMetas": {}
},
"4f746": {
"importer": "sprite-frame",
"uuid": "81af97ed-7940-45e6-91a1-21bd0df1a343@4f746",
@@ -110,8 +248,8 @@
"rotated": false,
"offsetX": -4,
"offsetY": 82,
"trimX": 1349,
"trimY": 1095,
"trimX": 675,
"trimY": 1669,
"width": 616,
"height": 182,
"rawWidth": 672,
@@ -157,7 +295,7 @@
"offsetX": 0,
"offsetY": -3,
"trimX": 675,
"trimY": 1775,
"trimY": 1853,
"width": 672,
"height": 92,
"rawWidth": 672,
@@ -199,11 +337,11 @@
"name": "0l4_clouds02",
"userData": {
"trimThreshold": 1,
"rotated": false,
"rotated": true,
"offsetX": 0,
"offsetY": 122,
"trimX": 675,
"trimY": 1869,
"trimX": 1931,
"trimY": 675,
"width": 672,
"height": 76,
"rawWidth": 672,
@@ -294,8 +432,8 @@
"rotated": false,
"offsetX": 0,
"offsetY": -108,
"trimX": 1,
"trimY": 1589,
"trimX": 675,
"trimY": 1193,
"width": 672,
"height": 162,
"rawWidth": 672,
@@ -337,11 +475,11 @@
"name": "0l7_ground02",
"userData": {
"trimThreshold": 1,
"rotated": false,
"rotated": true,
"offsetX": 0,
"offsetY": -120,
"trimX": 675,
"trimY": 1507,
"trimX": 1663,
"trimY": 675,
"width": 672,
"height": 138,
"rawWidth": 672,
@@ -383,11 +521,11 @@
"name": "0l8_ground",
"userData": {
"trimThreshold": 1,
"rotated": false,
"rotated": true,
"offsetX": 0,
"offsetY": -81,
"trimX": 1349,
"trimY": 381,
"trimX": 1729,
"trimY": 1,
"width": 672,
"height": 216,
"rawWidth": 672,
@@ -613,11 +751,11 @@
"name": "1l5_crystals",
"userData": {
"trimThreshold": 1,
"rotated": true,
"rotated": false,
"offsetX": -2,
"offsetY": -85,
"trimX": 1349,
"trimY": 1279,
"trimY": 1349,
"width": 662,
"height": 90,
"rawWidth": 672,
@@ -659,11 +797,11 @@
"name": "1l6_ground",
"userData": {
"trimThreshold": 1,
"rotated": true,
"rotated": false,
"offsetX": 0,
"offsetY": -151,
"trimX": 1441,
"trimY": 1279,
"trimX": 1293,
"trimY": 1699,
"width": 672,
"height": 76,
"rawWidth": 672,
@@ -705,11 +843,11 @@
"name": "3l2_clouds",
"userData": {
"trimThreshold": 1,
"rotated": false,
"rotated": true,
"offsetX": 0,
"offsetY": -48,
"trimX": 675,
"trimY": 1353,
"trimX": 1509,
"trimY": 675,
"width": 672,
"height": 152,
"rawWidth": 672,
@@ -751,11 +889,11 @@
"name": "3l3_pyramid",
"userData": {
"trimThreshold": 1,
"rotated": true,
"rotated": false,
"offsetX": 2,
"offsetY": -7,
"trimX": 1621,
"trimY": 1279,
"trimX": 1349,
"trimY": 1543,
"width": 528,
"height": 154,
"rawWidth": 672,
@@ -800,8 +938,8 @@
"rotated": false,
"offsetX": 0,
"offsetY": -111,
"trimX": 1,
"trimY": 1753,
"trimX": 675,
"trimY": 1357,
"width": 672,
"height": 156,
"rawWidth": 672,
@@ -846,8 +984,8 @@
"rotated": false,
"offsetX": 0,
"offsetY": -99,
"trimX": 1349,
"trimY": 599,
"trimX": 1,
"trimY": 1589,
"width": 672,
"height": 180,
"rawWidth": 672,
@@ -889,11 +1027,11 @@
"name": "3l6_bg-ground03",
"userData": {
"trimThreshold": 1,
"rotated": false,
"rotated": true,
"offsetX": 0,
"offsetY": -126,
"trimX": 675,
"trimY": 1647,
"trimX": 1803,
"trimY": 675,
"width": 672,
"height": 126,
"rawWidth": 672,
@@ -938,8 +1076,8 @@
"rotated": false,
"offsetX": 0,
"offsetY": -113,
"trimX": 1349,
"trimY": 941,
"trimX": 675,
"trimY": 1515,
"width": 672,
"height": 152,
"rawWidth": 672,
@@ -981,11 +1119,11 @@
"name": "Stone_A_01",
"userData": {
"trimThreshold": 1,
"rotated": false,
"rotated": true,
"offsetX": 0,
"offsetY": 0,
"trimX": 1777,
"trimY": 1626,
"trimX": 1879,
"trimY": 1629,
"width": 68,
"height": 51,
"rawWidth": 68,
@@ -1027,11 +1165,11 @@
"name": "Stone_A_04",
"userData": {
"trimThreshold": 1,
"rotated": false,
"rotated": true,
"offsetX": 0,
"offsetY": 0,
"trimX": 1850,
"trimY": 1562,
"trimX": 1293,
"trimY": 1777,
"width": 60,
"height": 51,
"rawWidth": 60,
@@ -1073,11 +1211,11 @@
"name": "Stone_A_07",
"userData": {
"trimThreshold": 1,
"rotated": false,
"rotated": true,
"offsetX": 0,
"offsetY": 0,
"trimX": 1621,
"trimY": 1809,
"trimX": 1947,
"trimY": 1,
"width": 107,
"height": 51,
"rawWidth": 107,
@@ -1122,8 +1260,8 @@
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 1519,
"trimY": 1865,
"trimX": 1935,
"trimY": 1441,
"width": 68,
"height": 70,
"rawWidth": 68,
@@ -1168,8 +1306,8 @@
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 1777,
"trimY": 1679,
"trimX": 1415,
"trimY": 1894,
"width": 66,
"height": 45,
"rawWidth": 66,
@@ -1214,8 +1352,8 @@
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 1730,
"trimY": 1809,
"trimX": 1293,
"trimY": 1669,
"width": 35,
"height": 22,
"rawWidth": 35,
@@ -1257,11 +1395,11 @@
"name": "Stone_B_04",
"userData": {
"trimThreshold": 1,
"rotated": false,
"rotated": true,
"offsetX": 0,
"offsetY": 0,
"trimX": 1777,
"trimY": 1562,
"trimX": 1899,
"trimY": 1777,
"width": 71,
"height": 62,
"rawWidth": 71,
@@ -1306,8 +1444,8 @@
"rotated": true,
"offsetX": 0,
"offsetY": 0,
"trimX": 1967,
"trimY": 1095,
"trimX": 1879,
"trimY": 1543,
"width": 84,
"height": 43,
"rawWidth": 84,
@@ -1352,8 +1490,8 @@
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 1519,
"trimY": 1937,
"trimX": 1947,
"trimY": 110,
"width": 31,
"height": 15,
"rawWidth": 31,
@@ -1399,7 +1537,7 @@
"offsetX": 0,
"offsetY": 0,
"trimX": 1,
"trimY": 1911,
"trimY": 1931,
"width": 44,
"height": 16,
"rawWidth": 44,
@@ -1441,7 +1579,7 @@
"name": "l1_sky",
"userData": {
"trimThreshold": 1,
"rotated": false,
"rotated": true,
"offsetX": 0,
"offsetY": 0,
"trimX": 1349,
@@ -1533,11 +1671,11 @@
"name": "l3_clouds",
"userData": {
"trimThreshold": 1,
"rotated": true,
"rotated": false,
"offsetX": -6,
"offsetY": 89,
"trimX": 1519,
"trimY": 1279,
"trimX": 1349,
"trimY": 1441,
"width": 584,
"height": 100,
"rawWidth": 672,
@@ -1579,11 +1717,11 @@
"name": "l4_bg-ground01",
"userData": {
"trimThreshold": 1,
"rotated": false,
"rotated": true,
"offsetX": 0,
"offsetY": -110,
"trimX": 675,
"trimY": 1193,
"trimX": 1349,
"trimY": 675,
"width": 672,
"height": 158,
"rawWidth": 672,
@@ -1628,8 +1766,8 @@
"rotated": false,
"offsetX": 0,
"offsetY": -110,
"trimX": 1349,
"trimY": 781,
"trimX": 1,
"trimY": 1771,
"width": 672,
"height": 158,
"rawWidth": 672,
@@ -1708,52 +1846,6 @@
".json"
],
"subMetas": {}
},
"14c74": {
"importer": "sprite-frame",
"uuid": "81af97ed-7940-45e6-91a1-21bd0df1a343@14c74",
"displayName": "",
"id": "14c74",
"name": "logo2",
"userData": {
"trimThreshold": 1,
"rotated": true,
"offsetX": 1,
"offsetY": 2,
"trimX": 1777,
"trimY": 1279,
"width": 281,
"height": 231,
"rawWidth": 307,
"rawHeight": 307,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"packable": true,
"pixelsToUnit": 100,
"pivotX": 0.5,
"pivotY": 0.5,
"meshType": 0,
"vertices": {
"rawPosition": [],
"indexes": [],
"uv": [],
"nuv": [],
"minPos": [],
"maxPos": []
},
"isUuid": true,
"imageUuidOrDatabaseUri": "ca2b26a5-8d54-49ec-bdaf-e9f777afc9cb@6c48a",
"atlasUuid": "81af97ed-7940-45e6-91a1-21bd0df1a343",
"trimType": "auto"
},
"ver": "1.0.12",
"imported": true,
"files": [
".json"
],
"subMetas": {}
}
},
"userData": {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 469 KiB

After

Width:  |  Height:  |  Size: 396 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -221,7 +221,7 @@ Content-Type: application/json
}
```
> **注意**:`PUT` 是浅合并。若修改 `skills` 数组,必须传入**完整的新数组**(不能只传被修改的技能对象)。
> **注意**:`PUT` 是**顶层字段浅合并**。若修改 `skills` 数组,必须传入**完整的新数组**(不能只传被修改的技能对象)。若只需改某个技能的局部字段,请用 `PATCH /api/heroes/:uuid/skills/:skillUuid`(见 §4.7)。
### 4.6 删除英雄
@@ -229,6 +229,41 @@ Content-Type: application/json
DELETE /api/heroes/5011
```
### 4.7 技能级局部更新(推荐智能体使用)
当只需要修改某个技能的局部字段(如调整 lv8 档位的 ap 值)时,使用技能级 PATCH,避免整表替换 `skills` 数组。
**合并规则**:
- `name`/`cd`/`cdExpr`/`desc`:存在则直接覆盖
- `overrides`:与现有 `overrides` **浅合并**(不是替换)
- `lv_entries`:按 `lv` 合并——同 `lv` 更新该档(`overrides` 浅合并),不同 `lv` 新增
```http
PATCH /api/heroes/5011/skills/6200
Content-Type: application/json
{
"overrides": { "ap": 280 },
"lv_entries": [
{ "lv": 8, "overrides": { "ap": 320 } },
{ "lv": 20, "s_lv": 4, "overrides": { "ap": 500 }, "desc": "造成{ap}%伤害" }
]
}
```
**效果**:
- 基础 `overrides.ap` 从 250 变为 280
- `lv_entries` 中 `lv:8` 档的 `overrides.ap` 从 300 变为 320(其他字段保留)
- `lv_entries` 中新增 `lv:20` 档
**对比:三种修改方式的选择**
| 场景 | 推荐接口 | 原因 |
|---|---|---|
| 只改英雄名/稀有度/statBase 等顶层字段 | `PUT /api/heroes/:uuid` | 简单直接,不涉及 skills |
| 改某个技能的 name/cd/desc/overrides 或某一档 lv_entry | `PATCH /api/heroes/:uuid/skills/:skillUuid` | 避免整表替换 skills,最安全 |
| 新增/删除技能、改技能 uuid、大规模重构 | `POST /api/heroes/:uuid`(全量覆盖) | 结构变动大,整表替换更清晰 |
---
## 5. 智能体操作流程(推荐)
@@ -238,7 +273,8 @@ DELETE /api/heroes/5011
3. **构造英雄对象**:严格遵循 §3 结构,空组写 `{}`,空数组写 `[]`
4. **提交**:
- 新增/覆盖:`POST /api/heroes/:uuid`
- 局部修改:`PUT /api/heroes/:uuid`(传完整修改字段)
- 顶层字段局部修改:`PUT /api/heroes/:uuid`
- 技能级局部修改:`PATCH /api/heroes/:uuid/skills/:skillUuid`
5. **验证**:`GET /api/heroes/:uuid` 确认数据已写入
6. **(开发版)应用**:`POST /api/apply` 将 heroes.json 渲染进 `heroSet.ts`(线上设计版无此权限)