Forráskód Böngészése

Merge branch 'master' of http://118.178.135.110:3000/fish/tower_client

wujia 6 hónapja
szülő
commit
0e6c26ae5c
45 módosított fájl, 4058 hozzáadás és 887 törlés
  1. 544 0
      assets/package/prefab/ui/tower/hero/enemy102.prefab
  2. 13 0
      assets/package/prefab/ui/tower/hero/enemy102.prefab.meta
  3. 5 5
      assets/package/prefab/ui/tower/hero/npc001.prefab
  4. 43 34
      assets/package/prefab/ui/tower/hero/npc003.prefab
  5. 159 173
      assets/package/prefab/ui/tower/tower.prefab
  6. 9 0
      assets/package/spine/zongxiong.meta
  7. 181 0
      assets/package/spine/zongxiong/zongxiong.atlas
  8. 12 0
      assets/package/spine/zongxiong/zongxiong.atlas.meta
  9. 1531 0
      assets/package/spine/zongxiong/zongxiong.json
  10. 11 0
      assets/package/spine/zongxiong/zongxiong.json.meta
  11. BIN
      assets/package/spine/zongxiong/zongxiong.png
  12. 134 0
      assets/package/spine/zongxiong/zongxiong.png.meta
  13. BIN
      assets/package/texture/tower/map3.png
  14. BIN
      assets/package/texture/tower/ui/任务.png
  15. 10 10
      assets/package/texture/tower/ui/任务.png.meta
  16. BIN
      assets/package/texture/tower/ui/关卡进度-1.png
  17. 10 10
      assets/package/texture/tower/ui/关卡进度-1.png.meta
  18. BIN
      assets/package/texture/tower/ui/关卡进度-2.png
  19. 15 15
      assets/package/texture/tower/ui/关卡进度-2.png.meta
  20. BIN
      assets/package/texture/tower/ui/关卡进度.png
  21. 10 10
      assets/package/texture/tower/ui/关卡进度.png.meta
  22. BIN
      assets/package/texture/tower/ui/商城.png
  23. 10 10
      assets/package/texture/tower/ui/商城.png.meta
  24. BIN
      assets/package/texture/tower/ui/底座.png
  25. 14 0
      assets/script/framework/config/L_1Conf.ts
  26. 1 1
      assets/script/framework/config/L_1Conf.ts.meta
  27. 0 261
      assets/script/framework/config/LanguageConf.ts
  28. 21 2
      assets/script/framework/util/StringUtil.ts
  29. 4 0
      assets/script/game/common/InterfaceAddEnum.ts
  30. 8 0
      assets/script/game/manager/MailManager.ts
  31. 63 81
      assets/script/game/ui/tower/TowerUI.ts
  32. 480 0
      assets/script/game/ui/tower/conf/BattlesConf.ts
  33. 1 1
      assets/script/game/ui/tower/conf/BattlesConf.ts.meta
  34. 229 134
      assets/script/game/ui/tower/conf/MapConf.ts
  35. 408 0
      assets/script/game/ui/tower/conf/RoleConf.ts
  36. 9 0
      assets/script/game/ui/tower/conf/RoleConf.ts.meta
  37. 0 42
      assets/script/game/ui/tower/conf/Uptype2Conf.ts
  38. 15 12
      assets/script/game/ui/tower/conf/UptypeConf.ts
  39. 9 4
      assets/script/game/ui/tower/control/BattleControl.ts
  40. 1 1
      assets/script/game/ui/tower/control/EnemyControl.ts
  41. 4 4
      assets/script/game/ui/tower/data/EnemyData.ts
  42. 84 67
      assets/script/game/ui/tower/data/MapData.ts
  43. 2 2
      assets/script/game/ui/tower/node/Hero.ts
  44. 2 2
      settings/v2/packages/cocos-service.json
  45. 6 6
      settings/v2/packages/information.json

+ 544 - 0
assets/package/prefab/ui/tower/hero/enemy102.prefab

@@ -0,0 +1,544 @@
+[
+  {
+    "__type__": "cc.Prefab",
+    "_name": "enemy102",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_native": "",
+    "data": {
+      "__id__": 1
+    },
+    "optimizationPolicy": 0,
+    "persistent": false
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "enemy102",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_parent": null,
+    "_children": [
+      {
+        "__id__": 2
+      },
+      {
+        "__id__": 8
+      },
+      {
+        "__id__": 14
+      }
+    ],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 20
+      },
+      {
+        "__id__": 22
+      }
+    ],
+    "_prefab": {
+      "__id__": 24
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_mobility": 0,
+    "_layer": 33554432,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "npc",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_parent": {
+      "__id__": 1
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 3
+      },
+      {
+        "__id__": 5
+      }
+    ],
+    "_prefab": {
+      "__id__": 7
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 1.879000000000019,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1.2,
+      "y": 1.2,
+      "z": 1
+    },
+    "_mobility": 0,
+    "_layer": 33554432,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 2
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 4
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 109.9000015258789,
+      "height": 83.9800033569336
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.48152863907362076,
+      "y": 0.10883543674648036
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "f8KHflhM1PeIDj1XQ62cBS"
+  },
+  {
+    "__type__": "sp.Skeleton",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 2
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 6
+    },
+    "_customMaterial": null,
+    "_srcBlendFactor": 2,
+    "_dstBlendFactor": 4,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_skeletonData": {
+      "__uuid__": "6d6d1322-957e-40a0-b866-6e9b696bb91d",
+      "__expectedType__": "sp.SkeletonData"
+    },
+    "defaultSkin": "default",
+    "defaultAnimation": "",
+    "_premultipliedAlpha": true,
+    "_timeScale": 1,
+    "_preCacheMode": 0,
+    "_cacheMode": 0,
+    "_sockets": [],
+    "_useTint": false,
+    "_debugMesh": false,
+    "_debugBones": false,
+    "_debugSlots": false,
+    "_enableBatch": false,
+    "loop": true,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "52WroRaIBNka8/WnnQJpLb"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "11ZJ/AhbVFVLnP8sbSEUMl",
+    "instance": null,
+    "targetOverrides": null,
+    "nestedPrefabInstanceRoots": null
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "SpriteSplash",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_parent": {
+      "__id__": 1
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 9
+      },
+      {
+        "__id__": 11
+      }
+    ],
+    "_prefab": {
+      "__id__": 13
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 99.06200000000001,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_mobility": 0,
+    "_layer": 33554432,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 8
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 10
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 40,
+      "height": 5
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "a44rVwBdJBkITe0wd2DuOb"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 8
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 12
+    },
+    "_customMaterial": null,
+    "_srcBlendFactor": 2,
+    "_dstBlendFactor": 4,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 102,
+      "g": 102,
+      "b": 102,
+      "a": 255
+    },
+    "_spriteFrame": {
+      "__uuid__": "7d8f9b89-4fd1-4c9f-a3ab-38ec7cded7ca@f9941",
+      "__expectedType__": "cc.SpriteFrame"
+    },
+    "_type": 0,
+    "_fillType": 0,
+    "_sizeMode": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_useGrayscale": false,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "51vtW3mZ5NmZSZrocTIyq6"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "28AMyTGnNECKOnIvBig2Rk",
+    "instance": null,
+    "targetOverrides": null,
+    "nestedPrefabInstanceRoots": null
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "SpriteSplash-001",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_parent": {
+      "__id__": 1
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 15
+      },
+      {
+        "__id__": 17
+      }
+    ],
+    "_prefab": {
+      "__id__": 19
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": -20.278999999999996,
+      "y": 99.06200000000001,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_mobility": 0,
+    "_layer": 33554432,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 14
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 16
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 40,
+      "height": 5
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "43Zjs0hN1GeZkgsA+UaOPu"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 14
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 18
+    },
+    "_customMaterial": null,
+    "_srcBlendFactor": 2,
+    "_dstBlendFactor": 4,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 0,
+      "b": 0,
+      "a": 255
+    },
+    "_spriteFrame": {
+      "__uuid__": "7d8f9b89-4fd1-4c9f-a3ab-38ec7cded7ca@f9941",
+      "__expectedType__": "cc.SpriteFrame"
+    },
+    "_type": 0,
+    "_fillType": 0,
+    "_sizeMode": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_useGrayscale": false,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "daLl7sh6lKP44p4ZRGh3H3"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "bbbs/syWpEsKXjvj0yOm3b",
+    "instance": null,
+    "targetOverrides": null,
+    "nestedPrefabInstanceRoots": null
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 21
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 80,
+      "height": 80
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "8aSZLkTb5IlbYsuQWXYtz+"
+  },
+  {
+    "__type__": "05c8dk9oWpKRbuHdPR1zlZZ",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 23
+    },
+    "modelSpine": {
+      "__id__": 5
+    },
+    "lifeNode": {
+      "__id__": 14
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "8d9QifaW9FP7Z6hMd7P9mk"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "92NXWroWxGR7vuXxjt1CcO",
+    "instance": null,
+    "targetOverrides": null
+  }
+]

+ 13 - 0
assets/package/prefab/ui/tower/hero/enemy102.prefab.meta

@@ -0,0 +1,13 @@
+{
+  "ver": "1.1.50",
+  "importer": "prefab",
+  "imported": true,
+  "uuid": "f3621e0d-bba1-475f-9e19-7a56ed245391",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {
+    "syncNodeName": "enemy102"
+  }
+}

+ 5 - 5
assets/package/prefab/ui/tower/hero/npc001.prefab

@@ -136,13 +136,13 @@
     },
     "_contentSize": {
       "__type__": "cc.Size",
-      "width": 841.5800170898438,
-      "height": 600.7100219726562
+      "width": 431.95001220703125,
+      "height": 597.7100219726562
     },
     "_anchorPoint": {
       "__type__": "cc.Vec2",
-      "x": 0.40551104123618853,
-      "y": 0.32784537503582845
+      "x": 0.5119110750509851,
+      "y": 0.32949088220310246
     },
     "_id": ""
   },
@@ -177,7 +177,7 @@
       "__expectedType__": "sp.SkeletonData"
     },
     "defaultSkin": "default",
-    "defaultAnimation": "",
+    "defaultAnimation": "show",
     "_premultipliedAlpha": false,
     "_timeScale": 1,
     "_preCacheMode": 0,

+ 43 - 34
assets/package/prefab/ui/tower/hero/npc003.prefab

@@ -22,26 +22,26 @@
         "__id__": 2
       },
       {
-        "__id__": 8
+        "__id__": 9
       },
       {
-        "__id__": 14
+        "__id__": 15
       },
       {
-        "__id__": 18
+        "__id__": 19
       }
     ],
     "_active": true,
     "_components": [
       {
-        "__id__": 22
+        "__id__": 23
       },
       {
-        "__id__": 24
+        "__id__": 25
       }
     ],
     "_prefab": {
-      "__id__": 26
+      "__id__": 27
     },
     "_lpos": {
       "__type__": "cc.Vec3",
@@ -91,7 +91,7 @@
       }
     ],
     "_prefab": {
-      "__id__": 7
+      "__id__": 8
     },
     "_lpos": {
       "__type__": "cc.Vec3",
@@ -108,8 +108,8 @@
     },
     "_lscale": {
       "__type__": "cc.Vec3",
-      "x": 0.7,
-      "y": 0.7,
+      "x": 0.5,
+      "y": 0.5,
       "z": 1
     },
     "_mobility": 0,
@@ -136,8 +136,8 @@
     },
     "_contentSize": {
       "__type__": "cc.Size",
-      "width": 200.88999938964844,
-      "height": 233
+      "width": 191.5,
+      "height": 238
     },
     "_anchorPoint": {
       "__type__": "cc.Vec2",
@@ -173,16 +173,20 @@
       "a": 255
     },
     "_skeletonData": {
-      "__uuid__": "3edda31b-9168-43f9-a212-1df27f56441d",
+      "__uuid__": "6d70d1a2-07f3-4cf8-a149-a1fbfd7f02a4",
       "__expectedType__": "sp.SkeletonData"
     },
     "defaultSkin": "default",
-    "defaultAnimation": "show",
+    "defaultAnimation": "stand_right",
     "_premultipliedAlpha": false,
     "_timeScale": 1,
     "_preCacheMode": 0,
     "_cacheMode": 0,
-    "_sockets": [],
+    "_sockets": [
+      {
+        "__id__": 7
+      }
+    ],
     "_useTint": false,
     "_debugMesh": false,
     "_debugBones": false,
@@ -195,6 +199,11 @@
     "__type__": "cc.CompPrefabInfo",
     "fileId": "5f0h48yVBGZY0ahBHmjV3e"
   },
+  {
+    "__type__": "sp.Skeleton.SpineSocket",
+    "path": "",
+    "target": null
+  },
   {
     "__type__": "cc.PrefabInfo",
     "root": {
@@ -220,14 +229,14 @@
     "_active": true,
     "_components": [
       {
-        "__id__": 9
+        "__id__": 10
       },
       {
-        "__id__": 11
+        "__id__": 12
       }
     ],
     "_prefab": {
-      "__id__": 13
+      "__id__": 14
     },
     "_lpos": {
       "__type__": "cc.Vec3",
@@ -264,11 +273,11 @@
     "_objFlags": 0,
     "__editorExtras__": {},
     "node": {
-      "__id__": 8
+      "__id__": 9
     },
     "_enabled": true,
     "__prefab": {
-      "__id__": 10
+      "__id__": 11
     },
     "_contentSize": {
       "__type__": "cc.Size",
@@ -292,11 +301,11 @@
     "_objFlags": 0,
     "__editorExtras__": {},
     "node": {
-      "__id__": 8
+      "__id__": 9
     },
     "_enabled": true,
     "__prefab": {
-      "__id__": 12
+      "__id__": 13
     },
     "_customMaterial": null,
     "_srcBlendFactor": 2,
@@ -382,11 +391,11 @@
     "_active": true,
     "_components": [
       {
-        "__id__": 15
+        "__id__": 16
       }
     ],
     "_prefab": {
-      "__id__": 17
+      "__id__": 18
     },
     "_lpos": {
       "__type__": "cc.Vec3",
@@ -423,11 +432,11 @@
     "_objFlags": 0,
     "__editorExtras__": {},
     "node": {
-      "__id__": 14
+      "__id__": 15
     },
     "_enabled": true,
     "__prefab": {
-      "__id__": 16
+      "__id__": 17
     },
     "_contentSize": {
       "__type__": "cc.Size",
@@ -470,11 +479,11 @@
     "_active": true,
     "_components": [
       {
-        "__id__": 19
+        "__id__": 20
       }
     ],
     "_prefab": {
-      "__id__": 21
+      "__id__": 22
     },
     "_lpos": {
       "__type__": "cc.Vec3",
@@ -511,11 +520,11 @@
     "_objFlags": 0,
     "__editorExtras__": {},
     "node": {
-      "__id__": 18
+      "__id__": 19
     },
     "_enabled": true,
     "__prefab": {
-      "__id__": 20
+      "__id__": 21
     },
     "_contentSize": {
       "__type__": "cc.Size",
@@ -556,7 +565,7 @@
     },
     "_enabled": true,
     "__prefab": {
-      "__id__": 23
+      "__id__": 24
     },
     "_contentSize": {
       "__type__": "cc.Size",
@@ -584,19 +593,19 @@
     },
     "_enabled": true,
     "__prefab": {
-      "__id__": 25
+      "__id__": 26
     },
     "modelSpine": {
       "__id__": 5
     },
     "levelLabel": {
-      "__id__": 11
+      "__id__": 12
     },
     "gunNode": {
-      "__id__": 14
+      "__id__": 15
     },
     "clickBox": {
-      "__id__": 19
+      "__id__": 20
     },
     "_id": ""
   },

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 159 - 173
assets/package/prefab/ui/tower/tower.prefab


+ 9 - 0
assets/package/spine/zongxiong.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "1.2.0",
+  "importer": "directory",
+  "imported": true,
+  "uuid": "fb027013-77da-467c-9d63-acaaa505adc4",
+  "files": [],
+  "subMetas": {},
+  "userData": {}
+}

+ 181 - 0
assets/package/spine/zongxiong/zongxiong.atlas

@@ -0,0 +1,181 @@
+
+zongxiong.png
+size: 1024,256
+format: RGBA8888
+filter: Linear,Linear
+repeat: none
+baodian_02_00
+  rotate: false
+  xy: 162, 34
+  size: 164, 220
+  orig: 165, 247
+  offset: 0, 0
+  index: -1
+baodian_02_01
+  rotate: false
+  xy: 2, 9
+  size: 158, 245
+  orig: 165, 247
+  offset: 4, 1
+  index: -1
+baodian_02_02
+  rotate: true
+  xy: 328, 115
+  size: 139, 243
+  orig: 165, 247
+  offset: 12, 4
+  index: -1
+baodian_02_03
+  rotate: true
+  xy: 573, 173
+  size: 81, 192
+  orig: 165, 247
+  offset: 39, 55
+  index: -1
+body
+  rotate: false
+  xy: 900, 168
+  size: 115, 86
+  orig: 117, 88
+  offset: 1, 1
+  index: -1
+ear1
+  rotate: false
+  xy: 419, 3
+  size: 44, 39
+  orig: 46, 41
+  offset: 1, 1
+  index: -1
+ear2
+  rotate: true
+  xy: 526, 22
+  size: 37, 41
+  orig: 39, 43
+  offset: 1, 1
+  index: -1
+eye1
+  rotate: false
+  xy: 653, 51
+  size: 24, 20
+  orig: 26, 22
+  offset: 1, 1
+  index: -1
+eye2
+  rotate: true
+  xy: 750, 155
+  size: 16, 13
+  orig: 18, 15
+  offset: 1, 1
+  index: -1
+gun
+  rotate: false
+  xy: 328, 44
+  size: 152, 69
+  orig: 154, 71
+  offset: 1, 1
+  index: -1
+hair
+  rotate: false
+  xy: 328, 2
+  size: 39, 40
+  orig: 41, 42
+  offset: 1, 1
+  index: -1
+head
+  rotate: false
+  xy: 767, 134
+  size: 131, 120
+  orig: 133, 122
+  offset: 1, 1
+  index: -1
+left arm1
+  rotate: false
+  xy: 264, 5
+  size: 43, 27
+  orig: 45, 29
+  offset: 1, 1
+  index: -1
+left arm2
+  rotate: false
+  xy: 706, 75
+  size: 41, 47
+  orig: 43, 49
+  offset: 1, 1
+  index: -1
+left feet
+  rotate: true
+  xy: 482, 21
+  size: 38, 42
+  orig: 40, 44
+  offset: 1, 1
+  index: -1
+left hand
+  rotate: false
+  xy: 900, 134
+  size: 50, 32
+  orig: 52, 34
+  offset: 1, 1
+  index: -1
+mouth
+  rotate: false
+  xy: 369, 5
+  size: 48, 37
+  orig: 50, 39
+  offset: 1, 1
+  index: -1
+right arm1
+  rotate: false
+  xy: 612, 33
+  size: 39, 38
+  orig: 41, 40
+  offset: 1, 1
+  index: -1
+right arm2
+  rotate: true
+  xy: 569, 22
+  size: 37, 41
+  orig: 39, 43
+  offset: 1, 1
+  index: -1
+right feet
+  rotate: false
+  xy: 706, 124
+  size: 42, 47
+  orig: 44, 49
+  offset: 1, 1
+  index: -1
+right hand
+  rotate: false
+  xy: 952, 129
+  size: 43, 37
+  orig: 45, 39
+  offset: 1, 1
+  index: -1
+shadow
+  rotate: false
+  xy: 162, 10
+  size: 100, 22
+  orig: 102, 24
+  offset: 1, 1
+  index: -1
+trousers
+  rotate: false
+  xy: 482, 61
+  size: 128, 52
+  orig: 130, 54
+  offset: 1, 1
+  index: -1
+weijin1
+  rotate: false
+  xy: 573, 117
+  size: 131, 54
+  orig: 133, 56
+  offset: 1, 1
+  index: -1
+weijjin2
+  rotate: true
+  xy: 612, 73
+  size: 42, 92
+  orig: 44, 94
+  offset: 1, 1
+  index: -1

+ 12 - 0
assets/package/spine/zongxiong/zongxiong.atlas.meta

@@ -0,0 +1,12 @@
+{
+  "ver": "1.0.0",
+  "importer": "*",
+  "imported": true,
+  "uuid": "557f30cd-a559-45d5-930c-bdc0b5144f3d",
+  "files": [
+    ".atlas",
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

+ 1531 - 0
assets/package/spine/zongxiong/zongxiong.json

@@ -0,0 +1,1531 @@
+{
+"skeleton": { "hash": "9TGp6/6HXwlkTJDqTIm7VwX/D4M", "spine": "3.6.53", "width": 191.5, "height": 238, "images": "./images/" },
+"bones": [
+	{ "name": "root" },
+	{ "name": "all", "parent": "root" },
+	{ "name": "bone_left", "parent": "all", "x": 0.68, "y": -48.04, "color": "7efc02ff" },
+	{ "name": "bone_left2", "parent": "bone_left", "x": -9.06, "y": 97.23, "color": "7efc02ff" },
+	{ "name": "gun", "parent": "bone_left2", "length": 112.56, "x": 62.24, "y": 55.32, "color": "7efc02ff" },
+	{ "name": "K2", "parent": "gun", "x": -119.43, "y": -42.02, "color": "fc0101ff" },
+	{ "name": "body", "parent": "bone_left2", "length": 39.14, "rotation": 92.44, "x": 4.16, "y": 18.3, "color": "7efc02ff" },
+	{ "name": "bone_left4", "parent": "gun", "rotation": -0.76, "x": -51.92, "y": -45.73, "color": "fc0c01ff" },
+	{ "name": "head", "parent": "body", "length": 49.09, "rotation": -2.44, "x": 45.79, "y": -0.28, "color": "7efc02ff" },
+	{ "name": "ear1", "parent": "head", "length": 18.25, "rotation": -27.25, "x": 80.7, "y": -32.45, "color": "7efc02ff" },
+	{ "name": "ear2", "parent": "head", "length": 23.56, "rotation": 47.86, "x": 65.73, "y": 33.28, "color": "7efc02ff" },
+	{ "name": "eye1", "parent": "head", "length": 17.31, "rotation": -54.78, "x": 56.58, "y": -9.15, "color": "7efc02ff" },
+	{ "name": "eye2", "parent": "head", "length": 16.85, "rotation": 57.09, "x": 43.26, "y": 40.77, "color": "7efc02ff" },
+	{ "name": "hair", "parent": "head", "length": 27, "rotation": 33.69, "x": 75.71, "y": 8.32, "color": "7efc02ff" },
+	{ "name": "left arm2", "parent": "body", "length": 32, "rotation": 154.73, "x": 32.21, "y": 42.2, "color": "7efc02ff" },
+	{ "name": "left hand", "parent": "left arm2", "x": 33.81, "y": -0.9, "color": "7efc02ff" },
+	{ "name": "left feet", "parent": "bone_left2", "length": 30.33, "rotation": -88.15, "x": -24.3, "y": -14.74, "color": "7efc02ff" },
+	{ "name": "mouth", "parent": "head", "x": 36.61, "y": 19.97, "color": "7efc02ff" },
+	{ "name": "right arm2", "parent": "body", "length": 31.7, "rotation": -160.9, "x": 37.5, "y": -34.14, "color": "7efc02ff" },
+	{ "name": "right arm1", "parent": "right arm2", "length": 26.89, "rotation": -65.37, "x": 31.13, "y": -1.44, "color": "7efc02ff" },
+	{ "name": "right hand", "parent": "right arm1", "length": 13.75, "rotation": -29.78, "x": 26.31, "y": -1.63, "color": "7efc02ff" },
+	{ "name": "right feet", "parent": "bone_left2", "length": 36.29, "rotation": -75.96, "x": 36.83, "y": -10.34, "color": "7efc02ff" },
+	{ "name": "shown", "parent": "all", "x": -2.06, "y": -4.93, "color": "060606ff" },
+	{ "name": "tx", "parent": "bone_left4", "rotation": 90.32, "x": -129.33, "y": 26.12, "color": "7efc02ff" },
+	{ "name": "weijjin2", "parent": "head", "length": 28.69, "rotation": -150.46, "x": 1.66, "y": -52.42, "color": "7efc02ff" },
+	{ "name": "weijjin3", "parent": "weijjin2", "length": 29.26, "rotation": -14.71, "x": 28.69, "color": "7efc02ff" },
+	{ "name": "weijjin4", "parent": "weijjin3", "length": 21.63, "rotation": 7.79, "x": 29.26, "color": "7efc02ff" },
+	{ "name": "weijjin5", "parent": "weijjin4", "x": 386.11, "y": -336.64, "color": "7efc02ff" }
+],
+"slots": [
+	{ "name": "shadow", "bone": "shown", "attachment": "shadow" },
+	{ "name": "right feet", "bone": "right feet", "attachment": "right feet" },
+	{ "name": "left feet", "bone": "left feet", "attachment": "left feet" },
+	{ "name": "left arm2", "bone": "left arm2", "attachment": "left arm2" },
+	{ "name": "body", "bone": "body", "attachment": "body" },
+	{ "name": "trousers", "bone": "bone_left2", "attachment": "trousers" },
+	{ "name": "weijjin2", "bone": "weijjin2", "attachment": "weijjin2" },
+	{ "name": "right arm2", "bone": "right arm2", "attachment": "right arm2" },
+	{ "name": "ear2", "bone": "ear2", "attachment": "ear2" },
+	{ "name": "head", "bone": "head", "attachment": "head" },
+	{ "name": "hair", "bone": "hair", "attachment": "hair" },
+	{ "name": "ear1", "bone": "ear1", "attachment": "ear1" },
+	{ "name": "eye2", "bone": "eye2", "attachment": "eye2" },
+	{ "name": "mouth", "bone": "mouth", "attachment": "mouth" },
+	{ "name": "eye1", "bone": "eye1", "attachment": "eye1" },
+	{ "name": "left arm1", "bone": "K2", "attachment": "left arm1" },
+	{ "name": "weijin1", "bone": "body", "attachment": "weijin1" },
+	{ "name": "gun", "bone": "bone_left4", "attachment": "gun" },
+	{ "name": "left hand", "bone": "K2", "attachment": "left hand" },
+	{ "name": "right hand", "bone": "right hand", "attachment": "right hand" },
+	{ "name": "right arm1", "bone": "right arm1", "attachment": "right arm1" },
+	{ "name": "tx", "bone": "tx", "blend": "additive" }
+],
+"ik": [
+	{
+		"name": "K1",
+		"order": 0,
+		"bones": [ "right arm1", "right hand" ],
+		"target": "bone_left4",
+		"bendPositive": false
+	},
+	{
+		"name": "K2",
+		"order": 1,
+		"bones": [ "left arm2", "left hand" ],
+		"target": "K2"
+	}
+],
+"skins": {
+	"default": {
+		"body": {
+			"body": {
+				"type": "mesh",
+				"uvs": [ 0.09584, 0.15079, 0.21482, 0.05061, 0.38138, 0, 0.67485, 0, 0.9009, 0.09279, 0.98022, 0.27734, 1, 0.49879, 0.99079, 0.77977, 0.88639, 0.92651, 0.7104, 1, 0.5523, 1, 0.29876, 0.99789, 0.11382, 0.94634, 0, 0.7996, 0, 0.55371, 0.00345, 0.28403, 0.2391, 0.72821, 0.18242, 0.51802, 0.21523, 0.29196, 0.42404, 0.16109, 0.68057, 0.20471, 0.73128, 0.51802, 0.72233, 0.7877, 0.48668, 0.83132, 0.34648, 0.4387, 0.48071, 0.36731, 0.36438, 0.61717, 0.62688, 0.57751, 0.89832, 0.73614, 0.86253, 0.50215 ],
+				"triangles": [ 8, 9, 22, 11, 23, 10, 9, 10, 22, 10, 23, 22, 12, 16, 11, 11, 16, 23, 12, 13, 16, 8, 28, 7, 8, 22, 28, 16, 26, 23, 23, 27, 22, 23, 26, 27, 16, 14, 17, 16, 13, 14, 22, 21, 28, 21, 29, 28, 22, 27, 21, 7, 28, 6, 28, 29, 6, 16, 17, 26, 17, 24, 26, 26, 25, 27, 26, 24, 25, 27, 25, 21, 14, 15, 17, 29, 21, 20, 17, 18, 24, 17, 15, 18, 21, 25, 20, 29, 5, 6, 29, 20, 5, 24, 18, 25, 18, 19, 25, 25, 19, 20, 15, 0, 18, 0, 1, 18, 18, 1, 19, 20, 4, 5, 19, 3, 20, 20, 3, 4, 1, 2, 19, 19, 2, 3 ],
+				"vertices": [ 2, 3, -37.59, 51.05, 0.13419, 6, 34.49, 40.32, 0.86581, 2, 3, -23.67, 59.87, 0.04372, 6, 42.71, 26.04, 0.95628, 2, 3, -4.18, 64.32, 0.00126, 6, 46.33, 6.38, 0.99874, 1, 6, 44.87, -27.93, 1, 2, 3, 56.6, 56.15, 0.01587, 6, 35.59, -54.01, 0.98413, 2, 3, 65.88, 39.91, 0.06198, 6, 18.97, -62.59, 0.93802, 2, 3, 68.2, 20.43, 0.16948, 6, -0.6, -64.07, 0.83052, 2, 3, 67.12, -4.3, 0.3473, 6, -25.26, -61.94, 0.6527, 2, 3, 54.91, -17.21, 0.46606, 6, -37.64, -49.19, 0.53394, 2, 3, 34.31, -23.68, 0.67522, 6, -43.23, -28.34, 0.32478, 2, 3, 15.82, -23.68, 0.89452, 6, -42.44, -9.86, 0.10548, 2, 3, -13.85, -23.5, 0.99786, 6, -41, 19.77, 0.00214, 2, 3, -35.49, -18.96, 0.91644, 6, -35.54, 41.19, 0.08356, 2, 3, -48.8, -6.05, 0.79406, 6, -22.08, 53.95, 0.20594, 2, 3, -48.8, 15.59, 0.53072, 6, -0.46, 53.03, 0.46928, 2, 3, -48.4, 39.32, 0.24506, 6, 23.24, 51.62, 0.75494, 2, 3, -20.83, 0.24, 0.81645, 6, -16.99, 25.73, 0.18355, 2, 3, -27.46, 18.73, 0.43099, 6, 1.77, 31.57, 0.56901, 2, 3, -23.62, 38.63, 0.13101, 6, 21.49, 26.89, 0.86899, 2, 3, 0.81, 50.14, 6.1E-4, 6, 31.95, 1.99, 0.99939, 2, 3, 30.82, 46.3, 0.00485, 6, 26.84, -27.83, 0.99515, 2, 3, 36.76, 18.73, 0.16901, 6, -0.96, -32.59, 0.83099, 2, 3, 35.71, -5, 0.5211, 6, -24.62, -30.53, 0.4789, 2, 3, 8.14, -8.84, 0.93771, 6, -27.29, -2.82, 0.06229, 2, 3, -8.26, 25.71, 0.11209, 6, 7.93, 12.1, 0.88791, 1, 6, 13.54, -3.86, 1, 2, 3, -6.17, 10.01, 0.52785, 6, -7.85, 10.67, 0.47215, 2, 3, 24.54, 13.5, 0.23196, 6, -5.67, -20.16, 0.76804, 2, 3, 56.3, -0.46, 0.35191, 6, -20.97, -51.3, 0.64809, 2, 3, 52.11, 20.13, 0.16743, 6, -0.21, -47.99, 0.83257 ],
+				"hull": 16,
+				"edges": [ 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 14, 14, 16, 16, 18, 18, 20, 20, 22, 22, 24, 24, 26, 26, 28, 28, 30, 0, 30 ],
+				"width": 117,
+				"height": 88
+			}
+		},
+		"ear1": {
+			"ear1": {
+				"type": "mesh",
+				"uvs": [ 0.00868, 0.55296, 0.05955, 0.71942, 0.19096, 0.87161, 0.35205, 0.98576, 0.77172, 1, 0.92433, 0.91442, 0.99215, 0.72893, 1, 0.43405, 0.91161, 0.16296, 0.74204, 0.05357, 0.55128, 0, 0.28422, 0, 0.08074, 0.12491, 2.0E-4, 0.33418, 0.21215, 0.61479, 0.27574, 0.36271, 0.47922, 0.80979, 0.31813, 0.71942, 0.69965, 0.61003, 0.84378, 0.36271, 0.46226, 0.44832, 0.62335, 0.22003, 0.33933, 0.16771, 0.72933, 0.87637 ],
+				"triangles": [ 2, 17, 3, 3, 16, 4, 2, 1, 14, 1, 0, 14, 2, 14, 17, 3, 17, 16, 16, 23, 4, 4, 23, 5, 5, 23, 6, 16, 18, 23, 23, 18, 6, 18, 16, 20, 6, 18, 7, 7, 18, 19, 16, 17, 20, 17, 14, 20, 14, 15, 20, 14, 0, 15, 18, 20, 19, 19, 20, 21, 0, 13, 15, 15, 22, 20, 20, 22, 21, 19, 8, 7, 13, 12, 15, 15, 12, 22, 19, 21, 8, 8, 21, 9, 22, 10, 21, 21, 10, 9, 12, 11, 22, 22, 11, 10 ],
+				"vertices": [ 2, 9, -4.4, 19.24, 0.168, 8, 85.6, -13.33, 0.832, 2, 9, -9.66, 14.3, 0.192, 8, 78.66, -15.31, 0.808, 2, 9, -12.87, 6.23, 0.096, 8, 72.11, -21.02, 0.904, 2, 9, -14.1, -2.45, 0.096, 8, 67.05, -28.17, 0.904, 2, 9, -6.71, -20.29, 0.224, 8, 65.45, -47.42, 0.776, 1, 9, -0.63, -25.26, 1, 1, 9, 7.58, -24.98, 1, 1, 9, 18.76, -20.35, 1, 1, 9, 27.23, -12.08, 1, 1, 9, 28.11, -3.13, 1, 1, 9, 26.52, 5.78, 1, 1, 9, 21.47, 16.98, 1, 1, 9, 12.96, 23.41, 1, 1, 9, 3.62, 23.27, 1, 2, 9, -2.87, 9.66, 0.472, 8, 82.57, -22.55, 0.528, 1, 9, 7.75, 11.23, 1, 2, 9, -5.12, -4.82, 0.448, 8, 73.94, -34.39, 0.552, 2, 9, -4.78, 3.45, 0.456, 8, 78.03, -27.19, 0.544, 1, 9, 6.51, -10.71, 1, 1, 9, 18.48, -12.6, 1, 1, 9, 8.07, 1.97, 1, 1, 9, 19.65, -0.95, 1, 1, 9, 16.24, 11.85, 1, 2, 9, -2.89, -16.44, 0.416, 8, 70.61, -45.74, 0.584 ],
+				"hull": 14,
+				"edges": [ 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 14, 14, 16, 16, 18, 18, 20, 20, 22, 22, 24, 24, 26, 0, 26 ],
+				"width": 46,
+				"height": 41
+			}
+		},
+		"ear2": {
+			"ear2": { "x": 9.02, "y": 2.73, "rotation": -137.86, "width": 39, "height": 43 }
+		},
+		"eye1": {
+			"eye1": { "x": 1.9, "y": -1.73, "rotation": -35.22, "width": 26, "height": 22 }
+		},
+		"eye2": {
+			"eye2": { "x": 6.54, "y": 0.07, "rotation": -147.09, "width": 18, "height": 15 }
+		},
+		"gun": {
+			"gun": { "x": -34.73, "y": 18.92, "width": 154, "height": 71 }
+		},
+		"hair": {
+			"hair": {
+				"type": "mesh",
+				"uvs": [ 0.15615, 0, 0.40347, 0.02315, 0.54362, 0.13581, 0.69201, 0.03119, 0.90635, 0.04729, 0.98054, 0.24848, 1, 0.47381, 1, 0.74743, 0.8981, 0.91643, 0.74971, 1, 0.48591, 1, 0.14791, 0.94862, 0, 0.76353, 0, 0.57843, 0, 0.26457, 0.38699, 0.77158, 0.30455, 0.54624, 0.2386, 0.24043, 0.5766, 0.32091, 0.68377, 0.49796, 0.75796, 0.72329 ],
+				"triangles": [ 9, 10, 20, 8, 9, 20, 8, 20, 7, 20, 6, 7, 17, 0, 1, 17, 1, 2, 14, 0, 17, 18, 2, 3, 17, 2, 18, 18, 5, 19, 3, 5, 18, 4, 5, 3, 19, 5, 6, 16, 17, 18, 16, 18, 19, 13, 14, 17, 13, 17, 16, 20, 19, 6, 12, 13, 16, 15, 16, 19, 15, 19, 20, 12, 16, 15, 11, 12, 15, 10, 15, 20, 11, 15, 10 ],
+				"vertices": [ 1, 13, 37.94, 1.84, 1, 1, 13, 31.5, -6.06, 1, 1, 13, 24.38, -8.21, 1, 1, 13, 24.66, -15.71, 1, 1, 13, 19.22, -22.65, 1, 1, 13, 10.5, -20.49, 1, 2, 13, 2.19, -15.91, 0.216, 8, 86.36, -3.7, 0.784, 2, 13, -7.37, -9.53, 0.024, 8, 74.86, -3.7, 0.976, 2, 13, -10.96, -2.12, 0.104, 8, 67.77, 0.48, 0.896, 2, 13, -10.51, 4.89, 0.08, 8, 64.26, 6.56, 0.92, 2, 13, -4.51, 13.89, 0.24, 8, 64.26, 17.38, 0.76, 1, 13, 4.97, 24.22, 1, 1, 13, 14.81, 24.96, 1, 1, 13, 21.27, 20.64, 1, 1, 13, 32.24, 13.33, 1, 1, 13, 5.72, 11.94, 1, 1, 13, 15.47, 9.51, 1, 1, 13, 27.66, 4.63, 1, 1, 13, 17.16, -5.02, 1, 1, 13, 8.54, -4.56, 1, 1, 13, -1.03, -1.84, 1 ],
+				"hull": 15,
+				"edges": [ 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 14, 14, 16, 16, 18, 18, 20, 20, 22, 22, 24, 24, 26, 26, 28, 0, 28 ],
+				"width": 41,
+				"height": 42
+			}
+		},
+		"head": {
+			"head": { "x": 33.26, "y": -7.2, "rotation": -90, "width": 133, "height": 122 }
+		},
+		"left arm1": {
+			"left arm1": { "x": 0.37, "y": 3.1, "rotation": -0.76, "width": 45, "height": 29 }
+		},
+		"left arm2": {
+			"left arm2": {
+				"type": "mesh",
+				"uvs": [ 0.15222, 0.29437, 0.2961, 0.10771, 0.48377, 0, 0.65894, 0.0089, 0.8904, 0.08576, 1, 0.19555, 1, 0.35476, 0.93419, 0.54141, 0.85912, 0.75002, 0.70898, 1, 0.49003, 1, 0.14596, 0.9202, 0, 0.75002, 0.03961, 0.492, 0.30861, 0.68414, 0.45249, 0.45357, 0.57761, 0.20653, 0.57761, 0.79943, 0.70273, 0.50298, 0.84036, 0.28888 ],
+				"triangles": [ 10, 17, 9, 9, 17, 8, 11, 14, 10, 10, 14, 17, 11, 12, 14, 14, 15, 17, 17, 18, 8, 17, 15, 18, 8, 18, 7, 12, 13, 14, 14, 13, 15, 15, 13, 0, 18, 19, 7, 7, 19, 6, 15, 16, 18, 18, 16, 19, 0, 1, 15, 15, 1, 16, 19, 5, 6, 16, 3, 19, 19, 4, 5, 19, 3, 4, 1, 2, 16, 16, 2, 3 ],
+				"vertices": [ 2, 14, 15.82, -14.91, 0.91711, 15, -17.62, -14.49, 0.08289, 2, 14, 4.99, -12.76, 0.99738, 15, -28.5, -12.62, 0.00262, 1, 14, -3.01, -7.37, 1, 1, 14, -5.53, -0.26, 1, 1, 14, -5.92, 10.37, 1, 1, 14, -2.79, 16.8, 1, 1, 14, 4.4, 19.83, 1, 1, 14, 13.93, 20.77, 1, 2, 14, 24.6, 21.76, 0.99035, 15, -9.81, 22.41, 0.00965, 2, 14, 38.39, 20.57, 0.85148, 15, 4.01, 21.58, 0.14852, 2, 14, 42.05, 11.89, 0.61649, 15, 7.89, 13, 0.38351, 2, 14, 44.19, -3.26, 2.5E-4, 15, 10.43, -2.09, 0.99975, 2, 14, 38.94, -12.28, 0.02239, 15, 5.42, -11.25, 0.97761, 2, 14, 26.62, -15.62, 0.5656, 15, -6.8, -14.91, 0.4344, 2, 14, 30.81, -1.3, 0.85064, 15, -2.99, -0.49, 0.14936, 1, 14, 18, 0.01, 1, 1, 14, 4.75, 0.27, 1, 2, 14, 31.53, 11.55, 0.90071, 15, -2.61, 12.38, 0.09929, 1, 14, 16.05, 10.87, 1, 1, 14, 4.09, 12.25, 1 ],
+				"hull": 14,
+				"edges": [ 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 14, 14, 16, 16, 18, 18, 20, 20, 22, 22, 24, 24, 26, 0, 26 ],
+				"width": 43,
+				"height": 49
+			}
+		},
+		"left feet": {
+			"left feet": { "x": 16.92, "y": -1.05, "rotation": 88.15, "width": 40, "height": 44 }
+		},
+		"left hand": {
+			"left hand": { "x": -3.47, "y": 6.06, "rotation": -2.94, "width": 52, "height": 34 }
+		},
+		"mouth": {
+			"mouth": { "x": -0.85, "y": 0.33, "rotation": -90, "width": 50, "height": 39 }
+		},
+		"right arm1": {
+			"right arm1": { "x": 13.13, "y": 2.81, "rotation": 133.83, "width": 41, "height": 40 }
+		},
+		"right arm2": {
+			"right arm2": { "x": 15.8, "y": -1.91, "rotation": 68.46, "width": 39, "height": 43 }
+		},
+		"right feet": {
+			"right feet": { "x": 19.58, "y": -3.48, "rotation": 75.96, "width": 44, "height": 49 }
+		},
+		"right hand": {
+			"right hand": { "x": 6.02, "y": 0.38, "rotation": 163.61, "width": 45, "height": 39 }
+		},
+		"shadow": {
+			"shadow": { "x": 1.96, "y": -0.24, "width": 102, "height": 24 }
+		},
+		"trousers": {
+			"trousers": {
+				"type": "mesh",
+				"uvs": [ 0.04676, 0.04928, 0.10798, 0.11335, 0.24106, 0.20305, 0.3518, 0.21921, 0.50455, 0.2415, 0.74409, 0.20305, 0.85705, 0.08308, 0.92507, 0.01083, 1, 0, 1, 0.18071, 0.99155, 0.40108, 0.99155, 0.58108, 0.98947, 0.81608, 0.9136, 0.9348, 0.75225, 1, 0.46351, 1, 0.38708, 0.96205, 0.24554, 0.98931, 0.0304, 0.88028, 0.01059, 0.53954, 0, 0.28057, 0, 0.06931, 0.24679, 0.57962, 0.49594, 0.55036, 0.37136, 0.7186, 0.75725, 0.55768, 0.88486, 0.54305, 0.48682, 0.75518, 0.35921, 0.41138, 0.23463, 0.74786, 0.23159, 0.38212, 0.36529, 0.53573 ],
+				"triangles": [ 9, 5, 6, 30, 2, 3, 15, 27, 14, 14, 27, 25, 14, 25, 13, 25, 27, 23, 15, 16, 27, 18, 29, 17, 17, 29, 16, 29, 24, 16, 16, 24, 27, 13, 25, 12, 12, 25, 26, 18, 19, 29, 12, 26, 11, 27, 24, 23, 29, 22, 24, 29, 19, 22, 22, 31, 24, 24, 31, 23, 26, 10, 11, 19, 30, 22, 31, 30, 28, 31, 22, 30, 23, 4, 25, 25, 5, 26, 4, 23, 28, 26, 5, 10, 19, 20, 30, 23, 31, 28, 30, 3, 28, 28, 3, 4, 10, 5, 9, 30, 20, 2, 20, 1, 2, 1, 21, 0, 1, 20, 21, 6, 7, 9, 7, 8, 9, 4, 5, 25 ],
+				"vertices": [ 2, 3, -51.26, 11.89, 0.888, 6, -4.05, 55.64, 0.112, 2, 3, -43.3, 8.43, 0.824, 6, -7.85, 47.84, 0.176, 2, 3, -26, 3.59, 0.152, 6, -13.42, 30.76, 0.848, 2, 3, -11.61, 2.71, 0.168, 6, -14.91, 16.41, 0.832, 2, 3, 8.25, 1.51, 0.448, 6, -16.95, -3.37, 0.552, 2, 3, 39.39, 3.59, 0.192, 6, -16.2, -34.57, 0.808, 2, 3, 54.08, 10.06, 0.416, 6, -10.35, -49.52, 0.584, 2, 3, 62.92, 13.97, 0.52, 6, -6.83, -58.52, 0.48, 2, 3, 72.66, 14.55, 0.544, 6, -6.66, -68.28, 0.456, 2, 3, 72.66, 4.79, 0.872, 6, -16.41, -67.86, 0.128, 2, 3, 71.56, -7.11, 0.928, 6, -28.25, -66.26, 0.072, 1, 3, 71.56, -16.83, 1, 1, 3, 71.29, -29.52, 1, 1, 3, 61.43, -35.93, 1, 1, 3, 40.45, -39.45, 1, 1, 3, 2.92, -39.45, 1, 1, 3, -7.02, -37.4, 1, 1, 3, -25.42, -38.87, 1, 1, 3, -53.39, -32.98, 1, 2, 3, -55.96, -14.58, 0.984, 6, -30.3, 61.47, 0.016, 2, 3, -57.34, -0.6, 0.952, 6, -16.27, 62.25, 0.048, 2, 3, -57.34, 10.81, 0.816, 6, -4.88, 61.76, 0.184, 2, 3, -25.26, -16.75, 0.976, 6, -33.77, 30.88, 0.024, 2, 3, 7.13, -15.17, 0.904, 6, -33.57, -1.55, 0.096, 1, 3, -9.06, -24.25, 1, 2, 3, 41.1, -15.56, 0.92, 6, -35.41, -35.47, 0.08, 2, 3, 57.69, -14.77, 0.888, 6, -35.32, -52.08, 0.112, 1, 3, 5.95, -26.23, 1, 2, 3, -10.64, -7.66, 0.888, 6, -25.32, 15.89, 0.112, 1, 3, -26.84, -25.83, 1, 2, 3, -27.23, -6.08, 0.928, 6, -23.03, 32.4, 0.072, 2, 3, -9.85, -14.38, 0.928, 6, -32.06, 15.39, 0.072 ],
+				"hull": 22,
+				"edges": [ 0, 2, 2, 4, 8, 10, 14, 16, 16, 18, 18, 20, 20, 22, 22, 24, 24, 26, 26, 28, 28, 30, 30, 32, 32, 34, 34, 36, 36, 38, 38, 40, 40, 42, 0, 42, 4, 6, 6, 8, 10, 12, 12, 14 ],
+				"width": 130,
+				"height": 54
+			}
+		},
+		"tx": {
+			"baodian_02_00": { "width": 165, "height": 247 },
+			"baodian_02_01": { "width": 165, "height": 247 },
+			"baodian_02_02": { "width": 165, "height": 247 },
+			"baodian_02_03": { "width": 165, "height": 247 }
+		},
+		"weijin1": {
+			"weijin1": { "x": 41.74, "y": -7.32, "rotation": -92.44, "width": 133, "height": 56 }
+		},
+		"weijjin2": {
+			"weijjin2": {
+				"type": "mesh",
+				"uvs": [ 0, 0.15766, 0.02146, 0.04627, 0.12437, 0, 0.33019, 0, 0.49742, 0.07938, 0.64535, 0.19379, 0.72824, 0.28197, 0.78685, 0.34432, 0.85791, 0.44998, 0.89619, 0.5069, 0.94933, 0.6097, 0.99267, 0.69355, 0.98624, 0.8772, 0.90906, 0.96752, 0.70967, 1, 0.61319, 0.93441, 0.51671, 0.74775, 0.47619, 0.69084, 0.4376, 0.63665, 0.38808, 0.56711, 0.32842, 0.4917, 0.25944, 0.40453, 0.18949, 0.33511, 0.09865, 0.24497 ],
+				"triangles": [ 2, 0, 1, 23, 0, 2, 23, 2, 3, 23, 3, 4, 22, 23, 4, 22, 4, 5, 21, 22, 5, 21, 5, 6, 20, 21, 6, 20, 6, 7, 19, 20, 7, 19, 7, 8, 18, 19, 8, 18, 8, 9, 17, 18, 9, 17, 9, 10, 16, 17, 10, 16, 10, 11, 11, 15, 16, 12, 15, 11, 13, 15, 12, 14, 15, 13 ],
+				"vertices": [ 1, 24, 1.99, -11.15, 1, 1, 24, -6.65, -5.16, 1, 1, 24, -8.2, 0.92, 1, 1, 24, -3.74, 8.8, 1, 1, 24, 6.38, 11.52, 1, 2, 24, 18.95, 11.89, 0.99326, 25, -12.44, 9.02, 0.00674, 2, 24, 27.96, 10.97, 0.6746, 25, -3.49, 10.43, 0.3254, 2, 24, 34.33, 10.33, 0.20618, 25, 2.83, 11.42, 0.79382, 3, 24, 44.51, 8.15, 1.8E-4, 25, 13.23, 11.9, 0.99891, 26, -14.27, 13.96, 9.1E-4, 2, 25, 18.84, 12.16, 0.96255, 26, -8.68, 13.46, 0.03745, 2, 25, 28.78, 11.95, 0.50771, 26, 1.14, 11.9, 0.49229, 2, 25, 36.88, 11.77, 0.07608, 26, 9.15, 10.63, 0.92392, 1, 26, 24.97, 3.73, 1, 1, 26, 31.5, -2.67, 1, 1, 26, 30.95, -11.94, 1, 1, 26, 23.62, -13.49, 1, 2, 25, 36.45, -9.78, 0.08538, 26, 5.8, -10.66, 0.91462, 2, 25, 30.82, -10.13, 0.43936, 26, 0.17, -10.25, 0.56064, 2, 25, 25.46, -10.47, 0.84969, 26, -5.18, -9.86, 0.15031, 3, 24, 43.9, -15.26, 0.00131, 25, 18.59, -10.9, 0.9968, 26, -12.06, -9.35, 0.00189, 2, 24, 36.44, -14.05, 0.07465, 25, 11.06, -11.63, 0.92535, 2, 24, 27.81, -12.65, 0.50836, 25, 2.36, -12.46, 0.49164, 2, 24, 20.62, -12.12, 0.90053, 25, -4.73, -13.77, 0.09947, 2, 24, 11.27, -11.42, 0.99987, 25, -13.95, -15.46, 1.3E-4 ],
+				"hull": 24,
+				"edges": [ 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 22, 24, 24, 26, 26, 28, 28, 30, 30, 32, 0, 46, 46, 8, 42, 44, 44, 46, 44, 10, 10, 12, 12, 14, 42, 12, 38, 40, 40, 42, 40, 14, 14, 16, 16, 18, 38, 16, 36, 38, 36, 18, 32, 34, 34, 36, 18, 20, 20, 22, 34, 20, 32, 22 ],
+				"width": 44,
+				"height": 94
+			}
+		}
+	}
+},
+"events": {
+	"hit1": {}
+},
+"animations": {
+	"attack_left": {
+		"slots": {
+			"tx": {
+				"color": [
+					{ "time": 0.2, "color": "fffffffe" }
+				],
+				"attachment": [
+					{ "time": 0.2, "name": "baodian_02_00" },
+					{ "time": 0.2333, "name": "baodian_02_01" },
+					{ "time": 0.2667, "name": "baodian_02_02" },
+					{ "time": 0.3, "name": "baodian_02_03" },
+					{ "time": 0.3333, "name": null }
+				]
+			}
+		},
+		"bones": {
+			"bone_left2": {
+				"translate": [
+					{ "time": 0, "x": 0, "y": 0 }
+				]
+			},
+			"left feet": {
+				"translate": [
+					{ "time": 0, "x": 0, "y": 0 }
+				]
+			},
+			"right feet": {
+				"translate": [
+					{ "time": 0, "x": 0, "y": 0 }
+				]
+			},
+			"body": {
+				"rotate": [
+					{ "time": 0, "angle": 0.07, "curve": "stepped" },
+					{ "time": 0.1667, "angle": 0.07 },
+					{ "time": 0.2333, "angle": -5.67 },
+					{ "time": 0.3, "angle": 8.94 },
+					{ "time": 0.3667, "angle": 0.07 }
+				],
+				"translate": [
+					{ "time": 0, "x": 0, "y": 0 },
+					{ "time": 0.1667, "x": 0, "y": 2.34 },
+					{ "time": 0.2333, "x": 7.43, "y": 2.93 },
+					{ "time": 0.3, "x": -7.83, "y": 5.07 },
+					{ "time": 0.3667, "x": 0, "y": 0 }
+				]
+			},
+			"head": {
+				"rotate": [
+					{
+						"time": 0,
+						"angle": 0.44,
+						"curve": [ 0.382, 0.57, 0.735, 1 ]
+					},
+					{ "time": 0.1667, "angle": -0.98 },
+					{ "time": 0.2333, "angle": -8.73 },
+					{ "time": 0.3333, "angle": -0.54 },
+					{ "time": 0.3667, "angle": 0.44 }
+				],
+				"translate": [
+					{ "time": 0, "x": 0, "y": 0 },
+					{ "time": 0.1333, "x": 1.56, "y": -0.07 },
+					{ "time": 0.3, "x": 1.88, "y": 3.03 },
+					{ "time": 0.3667, "x": 0, "y": 0 }
+				]
+			},
+			"eye1": {
+				"rotate": [
+					{ "time": 0, "angle": 6.31 },
+					{ "time": 0.0667, "angle": 0 },
+					{ "time": 0.2333, "angle": 3.63 },
+					{ "time": 0.3, "angle": -5.55 },
+					{ "time": 0.3667, "angle": 6.31 }
+				],
+				"translate": [
+					{ "time": 0, "x": 0, "y": 0 }
+				]
+			},
+			"eye2": {
+				"rotate": [
+					{ "time": 0, "angle": -6.4 },
+					{ "time": 0.0667, "angle": 0 },
+					{ "time": 0.2333, "angle": -12.31 },
+					{ "time": 0.3, "angle": 5.76 },
+					{ "time": 0.3667, "angle": -6.4 }
+				],
+				"translate": [
+					{ "time": 0, "x": 0, "y": 0 }
+				]
+			},
+			"ear2": {
+				"rotate": [
+					{ "time": 0, "angle": 5.57 },
+					{ "time": 0.0333, "angle": -5.26 },
+					{
+						"time": 0.1,
+						"angle": -0.85,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{ "time": 0.2667, "angle": -10.76 },
+					{ "time": 0.3333, "angle": 16.4 },
+					{ "time": 0.3667, "angle": 5.57 }
+				]
+			},
+			"hair": {
+				"rotate": [
+					{ "time": 0, "angle": 0.8 },
+					{ "time": 0.0333, "angle": -5.38 },
+					{
+						"time": 0.1,
+						"angle": -0.62,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{ "time": 0.2667, "angle": -6.96 },
+					{ "time": 0.3333, "angle": 6.98 },
+					{ "time": 0.3667, "angle": 0.8 }
+				]
+			},
+			"ear1": {
+				"rotate": [
+					{ "time": 0, "angle": 1.15 },
+					{ "time": 0.0333, "angle": 7.67 },
+					{
+						"time": 0.1,
+						"angle": 1.34,
+						"curve": [ 0.375, 0.62, 0.716, 1 ]
+					},
+					{ "time": 0.2667, "angle": 7.31 },
+					{ "time": 0.3333, "angle": -5.38 },
+					{ "time": 0.3667, "angle": 1.15 }
+				]
+			},
+			"weijjin2": {
+				"rotate": [
+					{ "time": 0, "angle": 1.81 },
+					{ "time": 0.1667, "angle": -2.9 },
+					{ "time": 0.2333, "angle": 1.46 },
+					{ "time": 0.3, "angle": -2.76 },
+					{ "time": 0.3667, "angle": 1.81 }
+				]
+			},
+			"weijjin3": {
+				"rotate": [
+					{
+						"time": 0,
+						"angle": -6.85,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 0.0667,
+						"angle": 0.84,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 0.2333,
+						"angle": -6.18,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 0.3,
+						"angle": 0.35,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{ "time": 0.3667, "angle": -6.85 }
+				]
+			},
+			"weijjin4": {
+				"rotate": [
+					{ "time": 0, "angle": -12.95 },
+					{ "time": 0.0333, "angle": -18.64 },
+					{ "time": 0.1, "angle": -12.9 },
+					{ "time": 0.2667, "angle": -19.8 },
+					{ "time": 0.3333, "angle": -7.26 },
+					{ "time": 0.3667, "angle": -12.95 }
+				]
+			},
+			"K2": {
+				"rotate": [
+					{ "time": 0, "angle": 0, "curve": "stepped" },
+					{ "time": 0.1333, "angle": 0, "curve": "stepped" },
+					{ "time": 0.2, "angle": 0, "curve": "stepped" },
+					{ "time": 0.2667, "angle": 0, "curve": "stepped" },
+					{ "time": 0.3667, "angle": 0 }
+				],
+				"translate": [
+					{
+						"time": 0,
+						"x": 0,
+						"y": 0,
+						"curve": [ 0.29, 0, 0.629, 0.38 ]
+					},
+					{
+						"time": 0.1333,
+						"x": 0,
+						"y": 3.12,
+						"curve": [ 0.321, 0.28, 0.655, 0.62 ]
+					},
+					{
+						"time": 0.2,
+						"x": 24.15,
+						"y": -21.01,
+						"curve": [ 0.325, 0.3, 0.659, 0.64 ]
+					},
+					{
+						"time": 0.2667,
+						"x": -10.63,
+						"y": 15.49,
+						"curve": [ 0.327, 0.31, 0.662, 0.65 ]
+					},
+					{ "time": 0.3667, "x": 0, "y": 0 }
+				]
+			},
+			"bone_left4": {
+				"rotate": [
+					{ "time": 0, "angle": 0, "curve": "stepped" },
+					{ "time": 0.1333, "angle": 0, "curve": "stepped" },
+					{ "time": 0.2, "angle": 0, "curve": "stepped" },
+					{ "time": 0.2667, "angle": 0, "curve": "stepped" },
+					{ "time": 0.3667, "angle": 0 }
+				],
+				"translate": [
+					{
+						"time": 0,
+						"x": 0,
+						"y": 0,
+						"curve": [ 0.261, 0, 0.618, 0.44 ]
+					},
+					{
+						"time": 0.1333,
+						"x": 0,
+						"y": 3.12,
+						"curve": [ 0.327, 0.31, 0.665, 0.66 ]
+					},
+					{
+						"time": 0.2,
+						"x": 24.15,
+						"y": -21.35,
+						"curve": [ 0.342, 0.36, 0.681, 0.71 ]
+					},
+					{
+						"time": 0.2667,
+						"x": -11.43,
+						"y": 14.98,
+						"curve": [ 0.381, 0.59, 0.727, 1 ]
+					},
+					{ "time": 0.3667, "x": 0, "y": 0 }
+				]
+			},
+			"right hand": {
+				"translate": [
+					{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
+					{ "time": 0.3667, "x": 0, "y": 0 }
+				]
+			},
+			"tx": {
+				"rotate": [
+					{ "time": 0.2, "angle": -5.03 }
+				],
+				"translate": [
+					{ "time": 0.2, "x": -70.7, "y": 13.8 },
+					{ "time": 0.2667, "x": -94.89, "y": 14.58 },
+					{ "time": 0.3333, "x": -131.24, "y": 20.69 }
+				]
+			}
+		},
+		"events": [
+			{ "time": 0.2, "name": "hit1" }
+		]
+	},
+	"attack_right": {
+		"slots": {
+			"tx": {
+				"color": [
+					{ "time": 0.2, "color": "fffffffe" }
+				],
+				"attachment": [
+					{ "time": 0.2, "name": "baodian_02_00" },
+					{ "time": 0.2333, "name": "baodian_02_01" },
+					{ "time": 0.2667, "name": "baodian_02_02" },
+					{ "time": 0.3, "name": "baodian_02_03" },
+					{ "time": 0.3333, "name": null }
+				]
+			}
+		},
+		"bones": {
+			"bone_left2": {
+				"translate": [
+					{ "time": 0, "x": 0, "y": 0 }
+				]
+			},
+			"left feet": {
+				"translate": [
+					{ "time": 0, "x": 0, "y": 0 }
+				]
+			},
+			"right feet": {
+				"translate": [
+					{ "time": 0, "x": 0, "y": 0 }
+				]
+			},
+			"body": {
+				"rotate": [
+					{ "time": 0, "angle": 0.07, "curve": "stepped" },
+					{ "time": 0.1667, "angle": 0.07 },
+					{ "time": 0.2333, "angle": -5.67 },
+					{ "time": 0.3, "angle": 8.94 },
+					{ "time": 0.3667, "angle": 0.07 }
+				],
+				"translate": [
+					{ "time": 0, "x": 0, "y": 0 },
+					{ "time": 0.1667, "x": 0, "y": 2.34 },
+					{ "time": 0.2333, "x": 7.43, "y": 2.93 },
+					{ "time": 0.3, "x": -7.83, "y": 5.07 },
+					{ "time": 0.3667, "x": 0, "y": 0 }
+				]
+			},
+			"head": {
+				"rotate": [
+					{
+						"time": 0,
+						"angle": 0.44,
+						"curve": [ 0.382, 0.57, 0.735, 1 ]
+					},
+					{ "time": 0.1667, "angle": -0.98 },
+					{ "time": 0.2333, "angle": -8.73 },
+					{ "time": 0.3333, "angle": -0.54 },
+					{ "time": 0.3667, "angle": 0.44 }
+				],
+				"translate": [
+					{ "time": 0, "x": 0, "y": 0 },
+					{ "time": 0.1333, "x": 1.56, "y": -0.07 },
+					{ "time": 0.3, "x": 1.88, "y": 3.03 },
+					{ "time": 0.3667, "x": 0, "y": 0 }
+				]
+			},
+			"eye1": {
+				"rotate": [
+					{ "time": 0, "angle": 6.31 },
+					{ "time": 0.0667, "angle": 0 },
+					{ "time": 0.2333, "angle": 3.63 },
+					{ "time": 0.3, "angle": -5.55 },
+					{ "time": 0.3667, "angle": 6.31 }
+				],
+				"translate": [
+					{ "time": 0, "x": 0, "y": 0 }
+				]
+			},
+			"eye2": {
+				"rotate": [
+					{ "time": 0, "angle": -6.4 },
+					{ "time": 0.0667, "angle": 0 },
+					{ "time": 0.2333, "angle": -12.31 },
+					{ "time": 0.3, "angle": 5.76 },
+					{ "time": 0.3667, "angle": -6.4 }
+				],
+				"translate": [
+					{ "time": 0, "x": 0, "y": 0 }
+				]
+			},
+			"ear2": {
+				"rotate": [
+					{ "time": 0, "angle": 5.57 },
+					{ "time": 0.0333, "angle": -5.26 },
+					{
+						"time": 0.1,
+						"angle": -0.85,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{ "time": 0.2667, "angle": -10.76 },
+					{ "time": 0.3333, "angle": 16.4 },
+					{ "time": 0.3667, "angle": 5.57 }
+				]
+			},
+			"hair": {
+				"rotate": [
+					{ "time": 0, "angle": 0.8 },
+					{ "time": 0.0333, "angle": -5.38 },
+					{
+						"time": 0.1,
+						"angle": -0.62,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{ "time": 0.2667, "angle": -6.96 },
+					{ "time": 0.3333, "angle": 6.98 },
+					{ "time": 0.3667, "angle": 0.8 }
+				]
+			},
+			"ear1": {
+				"rotate": [
+					{ "time": 0, "angle": 1.15 },
+					{ "time": 0.0333, "angle": 7.67 },
+					{
+						"time": 0.1,
+						"angle": 1.34,
+						"curve": [ 0.375, 0.62, 0.716, 1 ]
+					},
+					{ "time": 0.2667, "angle": 7.31 },
+					{ "time": 0.3333, "angle": -5.38 },
+					{ "time": 0.3667, "angle": 1.15 }
+				]
+			},
+			"weijjin2": {
+				"rotate": [
+					{ "time": 0, "angle": 1.81 },
+					{ "time": 0.1667, "angle": -2.9 },
+					{ "time": 0.2333, "angle": 1.46 },
+					{ "time": 0.3, "angle": -2.76 },
+					{ "time": 0.3667, "angle": 1.81 }
+				]
+			},
+			"weijjin3": {
+				"rotate": [
+					{
+						"time": 0,
+						"angle": -6.85,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 0.0667,
+						"angle": 0.84,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 0.2333,
+						"angle": -6.18,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 0.3,
+						"angle": 0.35,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{ "time": 0.3667, "angle": -6.85 }
+				]
+			},
+			"weijjin4": {
+				"rotate": [
+					{ "time": 0, "angle": -12.95 },
+					{ "time": 0.0333, "angle": -18.64 },
+					{ "time": 0.1, "angle": -12.9 },
+					{ "time": 0.2667, "angle": -19.8 },
+					{ "time": 0.3333, "angle": -7.26 },
+					{ "time": 0.3667, "angle": -12.95 }
+				]
+			},
+			"K2": {
+				"rotate": [
+					{ "time": 0, "angle": 0, "curve": "stepped" },
+					{ "time": 0.1333, "angle": 0, "curve": "stepped" },
+					{ "time": 0.2, "angle": 0, "curve": "stepped" },
+					{ "time": 0.2667, "angle": 0, "curve": "stepped" },
+					{ "time": 0.3667, "angle": 0 }
+				],
+				"translate": [
+					{
+						"time": 0,
+						"x": 0,
+						"y": 0,
+						"curve": [ 0.29, 0, 0.629, 0.38 ]
+					},
+					{
+						"time": 0.1333,
+						"x": 0,
+						"y": 3.12,
+						"curve": [ 0.321, 0.28, 0.655, 0.62 ]
+					},
+					{
+						"time": 0.2,
+						"x": 24.15,
+						"y": -21.01,
+						"curve": [ 0.325, 0.3, 0.659, 0.64 ]
+					},
+					{
+						"time": 0.2667,
+						"x": -10.63,
+						"y": 15.49,
+						"curve": [ 0.327, 0.31, 0.662, 0.65 ]
+					},
+					{ "time": 0.3667, "x": 0, "y": 0 }
+				]
+			},
+			"bone_left4": {
+				"rotate": [
+					{ "time": 0, "angle": 0, "curve": "stepped" },
+					{ "time": 0.1333, "angle": 0, "curve": "stepped" },
+					{ "time": 0.2, "angle": 0, "curve": "stepped" },
+					{ "time": 0.2667, "angle": 0, "curve": "stepped" },
+					{ "time": 0.3667, "angle": 0 }
+				],
+				"translate": [
+					{
+						"time": 0,
+						"x": 0,
+						"y": 0,
+						"curve": [ 0.261, 0, 0.618, 0.44 ]
+					},
+					{
+						"time": 0.1333,
+						"x": 0,
+						"y": 3.12,
+						"curve": [ 0.327, 0.31, 0.665, 0.66 ]
+					},
+					{
+						"time": 0.2,
+						"x": 24.15,
+						"y": -21.35,
+						"curve": [ 0.342, 0.36, 0.681, 0.71 ]
+					},
+					{
+						"time": 0.2667,
+						"x": -11.43,
+						"y": 14.98,
+						"curve": [ 0.381, 0.59, 0.727, 1 ]
+					},
+					{ "time": 0.3667, "x": 0, "y": 0 }
+				]
+			},
+			"right hand": {
+				"translate": [
+					{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
+					{ "time": 0.3667, "x": 0, "y": 0 }
+				]
+			},
+			"tx": {
+				"rotate": [
+					{ "time": 0.2, "angle": -5.03 }
+				],
+				"translate": [
+					{ "time": 0.2, "x": -70.7, "y": 13.8 },
+					{ "time": 0.2667, "x": -94.89, "y": 14.58 },
+					{ "time": 0.3333, "x": -131.24, "y": 20.69 }
+				]
+			},
+			"bone_left": {
+				"scale": [
+					{ "time": 0, "x": -1, "y": 1 }
+				]
+			}
+		},
+		"events": [
+			{ "time": 0.2, "name": "hit1" }
+		]
+	},
+	"show": {
+		"bones": {
+			"bone_left": {
+				"translate": [
+					{ "time": 0, "x": -0.78, "y": 62.32 },
+					{ "time": 0.1, "x": -1.56, "y": 2.34 },
+					{ "time": 0.1667, "x": -1.56, "y": -1.56 }
+				],
+				"scale": [
+					{ "time": 0, "x": -1, "y": 1 }
+				]
+			},
+			"body": {
+				"rotate": [
+					{
+						"time": 0,
+						"angle": 0,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 0.1,
+						"angle": 3.44,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 0.1667,
+						"angle": 5.22,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 0.3,
+						"angle": 0.48,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{ "time": 0.3667, "angle": -1.17 }
+				],
+				"translate": [
+					{ "time": 0, "x": 0, "y": 0 },
+					{ "time": 0.1, "x": -1.56, "y": -7.01, "curve": "stepped" },
+					{ "time": 0.1667, "x": -1.56, "y": -7.01 },
+					{ "time": 0.3, "x": -2.34, "y": -4.67 },
+					{ "time": 0.3667, "x": -2.34, "y": -0.78 }
+				]
+			},
+			"head": {
+				"rotate": [
+					{
+						"time": 0,
+						"angle": 0,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 0.1333,
+						"angle": -0.86,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 0.2,
+						"angle": 2.91,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{ "time": 0.3667, "angle": 0.69 }
+				],
+				"translate": [
+					{ "time": 0, "x": 0, "y": 0 },
+					{ "time": 0.1333, "x": -5.32, "y": 1.42, "curve": "stepped" },
+					{ "time": 0.2, "x": -5.32, "y": 1.42 },
+					{ "time": 0.3667, "x": -3.77, "y": 1.38 }
+				]
+			},
+			"bone_left4": {
+				"translate": [
+					{ "time": 0, "x": 0, "y": 0 },
+					{ "time": 0.1333, "x": 3.12, "y": -7.01 },
+					{ "time": 0.2, "x": -1.56, "y": -3.12 },
+					{ "time": 0.3667, "x": 2.34, "y": -7.79 }
+				]
+			},
+			"K2": {
+				"translate": [
+					{ "time": 0, "x": 0, "y": 0 },
+					{ "time": 0.1333, "x": 6.23, "y": -3.12 },
+					{ "time": 0.2, "x": -1.56, "y": -3.12 },
+					{ "time": 0.3667, "x": 2.34, "y": -7.79 }
+				]
+			},
+			"weijjin2": {
+				"rotate": [
+					{
+						"time": 0,
+						"angle": 1.71,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 0.1333,
+						"angle": -2.02,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 0.2,
+						"angle": 0.76,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{ "time": 0.3667, "angle": -2.42 }
+				]
+			},
+			"weijjin3": {
+				"rotate": [
+					{
+						"time": 0,
+						"angle": 2.92,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 0.2,
+						"angle": -5.29,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 0.2667,
+						"angle": 4.43,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{ "time": 0.3667, "angle": -3.78 }
+				]
+			},
+			"weijjin4": {
+				"rotate": [
+					{
+						"time": 0,
+						"angle": 3.28,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 0.2333,
+						"angle": -10.46,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 0.3,
+						"angle": 3.77,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{ "time": 0.3667, "angle": -13.6 }
+				]
+			},
+			"eye1": {
+				"rotate": [
+					{ "time": 0, "angle": 0 },
+					{ "time": 0.1333, "angle": 6.53 },
+					{ "time": 0.2, "angle": -11.29 },
+					{ "time": 0.3667, "angle": 0 }
+				],
+				"translate": [
+					{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
+					{ "time": 0.1333, "x": 0, "y": 0, "curve": "stepped" },
+					{ "time": 0.2, "x": 0, "y": 0, "curve": "stepped" },
+					{ "time": 0.3667, "x": 0, "y": 0 }
+				]
+			},
+			"eye2": {
+				"rotate": [
+					{
+						"time": 0,
+						"angle": 6.34,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 0.0667,
+						"angle": 0,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 0.2,
+						"angle": -5.98,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 0.2667,
+						"angle": 15.86,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{ "time": 0.3667, "angle": 6.34 }
+				],
+				"translate": [
+					{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
+					{ "time": 0.1333, "x": 0, "y": 0, "curve": "stepped" },
+					{ "time": 0.2, "x": 0, "y": 0, "curve": "stepped" },
+					{ "time": 0.3667, "x": 0, "y": 0 }
+				]
+			},
+			"hair": {
+				"rotate": [
+					{ "time": 0, "angle": 7.31 },
+					{ "time": 0.1333, "angle": 0 },
+					{ "time": 0.2667, "angle": -5.22 },
+					{ "time": 0.3333, "angle": 9.14 },
+					{ "time": 0.3667, "angle": 7.31 }
+				],
+				"translate": [
+					{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
+					{ "time": 0.1333, "x": 0, "y": 0, "curve": "stepped" },
+					{ "time": 0.2, "x": 0, "y": 0, "curve": "stepped" },
+					{ "time": 0.3667, "x": 0, "y": 0 }
+				]
+			},
+			"ear2": {
+				"rotate": [
+					{ "time": 0, "angle": 12.16 },
+					{ "time": 0.1333, "angle": 0 },
+					{ "time": 0.2667, "angle": -7.81 },
+					{ "time": 0.3333, "angle": 15.2 },
+					{ "time": 0.3667, "angle": 12.16 }
+				],
+				"translate": [
+					{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
+					{ "time": 0.1333, "x": 0, "y": 0, "curve": "stepped" },
+					{ "time": 0.2, "x": 0, "y": 0, "curve": "stepped" },
+					{ "time": 0.3667, "x": 0, "y": 0 }
+				]
+			},
+			"ear1": {
+				"rotate": [
+					{ "time": 0, "angle": 0 },
+					{ "time": 0.1333, "angle": 6.77 },
+					{ "time": 0.2, "angle": -9.58 },
+					{ "time": 0.3667, "angle": 0 }
+				],
+				"translate": [
+					{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
+					{ "time": 0.1333, "x": 0, "y": 0, "curve": "stepped" },
+					{ "time": 0.2, "x": 0, "y": 0, "curve": "stepped" },
+					{ "time": 0.3667, "x": 0, "y": 0 }
+				]
+			}
+		}
+	},
+	"stand_left": {
+		"bones": {
+			"bone_left2": {
+				"translate": [
+					{
+						"time": 0,
+						"x": 0,
+						"y": 0,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 0.5,
+						"x": 0,
+						"y": -2.98,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{ "time": 1, "x": 0, "y": 0 }
+				]
+			},
+			"left feet": {
+				"translate": [
+					{ "time": 0, "x": 0, "y": 0 },
+					{ "time": 0.5, "x": 0, "y": 2.71 },
+					{ "time": 1, "x": 0, "y": 0 }
+				]
+			},
+			"right feet": {
+				"translate": [
+					{ "time": 0, "x": 0, "y": 0 },
+					{
+						"time": 0.5,
+						"x": 0,
+						"y": 2.98,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{ "time": 1, "x": 0, "y": 0 }
+				]
+			},
+			"body": {
+				"rotate": [
+					{
+						"time": 0,
+						"angle": 0.07,
+						"curve": [ 0.366, 0.63, 0.703, 1 ]
+					},
+					{
+						"time": 0.0667,
+						"angle": 0,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 0.5667,
+						"angle": 1.06,
+						"curve": [ 0.244, 0, 0.7, 0.79 ]
+					},
+					{ "time": 1, "angle": 0.07 }
+				]
+			},
+			"head": {
+				"rotate": [
+					{
+						"time": 0,
+						"angle": 0.44,
+						"curve": [ 0.382, 0.57, 0.735, 1 ]
+					},
+					{
+						"time": 0.1667,
+						"angle": 0,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 0.6667,
+						"angle": 1.57,
+						"curve": [ 0.243, 0, 0.649, 0.6 ]
+					},
+					{ "time": 1, "angle": 0.44 }
+				]
+			},
+			"eye1": {
+				"rotate": [
+					{ "time": 0, "angle": 0 },
+					{ "time": 0.5, "angle": 5.17 },
+					{ "time": 1, "angle": 0 }
+				],
+				"translate": [
+					{ "time": 0, "x": 0, "y": 0 },
+					{ "time": 0.5, "x": 1.66, "y": -0.06 },
+					{ "time": 1, "x": 0, "y": 0 }
+				]
+			},
+			"eye2": {
+				"rotate": [
+					{ "time": 0, "angle": 0 },
+					{ "time": 0.5, "angle": -5.8 },
+					{ "time": 1, "angle": 0 }
+				],
+				"translate": [
+					{ "time": 0, "x": 0, "y": 0 },
+					{ "time": 0.5, "x": 1.66, "y": -0.06 },
+					{ "time": 1, "x": 0, "y": 0 }
+				]
+			},
+			"ear2": {
+				"rotate": [
+					{
+						"time": 0,
+						"angle": -0.85,
+						"curve": [ 0.375, 0.62, 0.716, 1 ]
+					},
+					{
+						"time": 0.1,
+						"angle": 0,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 0.6,
+						"angle": -6.55,
+						"curve": [ 0.243, 0, 0.68, 0.71 ]
+					},
+					{ "time": 1, "angle": -0.85 }
+				]
+			},
+			"hair": {
+				"rotate": [
+					{
+						"time": 0,
+						"angle": -0.62,
+						"curve": [ 0.366, 0.63, 0.703, 1 ]
+					},
+					{
+						"time": 0.0667,
+						"angle": 0,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 0.5667,
+						"angle": -8.99,
+						"curve": [ 0.244, 0, 0.7, 0.79 ]
+					},
+					{ "time": 1, "angle": -0.62 }
+				]
+			},
+			"ear1": {
+				"rotate": [
+					{
+						"time": 0,
+						"angle": 1.34,
+						"curve": [ 0.375, 0.62, 0.716, 1 ]
+					},
+					{
+						"time": 0.1,
+						"angle": 0,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 0.6,
+						"angle": 10.29,
+						"curve": [ 0.243, 0, 0.68, 0.71 ]
+					},
+					{ "time": 1, "angle": 1.34 }
+				]
+			},
+			"weijjin2": {
+				"rotate": [
+					{
+						"time": 0,
+						"angle": -0.86,
+						"curve": [ 0.382, 0.57, 0.735, 1 ]
+					},
+					{
+						"time": 0.1667,
+						"angle": 0,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 0.6667,
+						"angle": -3.04,
+						"curve": [ 0.243, 0, 0.649, 0.6 ]
+					},
+					{ "time": 1, "angle": -0.86 }
+				]
+			},
+			"weijjin3": {
+				"rotate": [
+					{
+						"time": 0,
+						"angle": -3.81,
+						"curve": [ 0.372, 0.48, 0.752, 1 ]
+					},
+					{
+						"time": 0.2667,
+						"angle": 0,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 0.7667,
+						"angle": -7.01,
+						"curve": [ 0.252, 0, 0.622, 0.48 ]
+					},
+					{ "time": 1, "angle": -3.81 }
+				]
+			},
+			"weijjin4": {
+				"rotate": [
+					{
+						"time": 0,
+						"angle": -14.36,
+						"curve": [ 0.337, 0.35, 0.758, 1 ]
+					},
+					{
+						"time": 0.3667,
+						"angle": 0,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 0.8667,
+						"angle": -18.01,
+						"curve": [ 0.273, 0, 0.62, 0.41 ]
+					},
+					{ "time": 1, "angle": -14.36 }
+				]
+			},
+			"K2": {
+				"rotate": [
+					{
+						"time": 0,
+						"angle": 0,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 0.5,
+						"angle": 2.6,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{ "time": 1, "angle": 0 }
+				],
+				"translate": [
+					{
+						"time": 0,
+						"x": 0,
+						"y": 0,
+						"curve": [ 0.252, 0, 0.622, 0.48 ]
+					},
+					{
+						"time": 0.5,
+						"x": 2.81,
+						"y": -5.44,
+						"curve": [ 0.361, 0.43, 0.729, 0.89 ]
+					},
+					{ "time": 1, "x": 0, "y": 0 }
+				]
+			},
+			"bone_left4": {
+				"translate": [
+					{
+						"time": 0,
+						"x": 0,
+						"y": 0,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 0.5,
+						"x": 2.81,
+						"y": -5.44,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{ "time": 1, "x": 0, "y": 0 }
+				]
+			}
+		}
+	},
+	"stand_right": {
+		"bones": {
+			"bone_left2": {
+				"translate": [
+					{
+						"time": 0,
+						"x": 0,
+						"y": 0,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 0.5,
+						"x": 0,
+						"y": -2.98,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{ "time": 1, "x": 0, "y": 0 }
+				]
+			},
+			"left feet": {
+				"translate": [
+					{ "time": 0, "x": 0, "y": 0 },
+					{ "time": 0.5, "x": 0, "y": 2.71 },
+					{ "time": 1, "x": 0, "y": 0 }
+				]
+			},
+			"right feet": {
+				"translate": [
+					{ "time": 0, "x": 0, "y": 0 },
+					{
+						"time": 0.5,
+						"x": 0,
+						"y": 2.98,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{ "time": 1, "x": 0, "y": 0 }
+				]
+			},
+			"body": {
+				"rotate": [
+					{
+						"time": 0,
+						"angle": 0.07,
+						"curve": [ 0.366, 0.63, 0.703, 1 ]
+					},
+					{
+						"time": 0.0667,
+						"angle": 0,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 0.5667,
+						"angle": 1.06,
+						"curve": [ 0.244, 0, 0.7, 0.79 ]
+					},
+					{ "time": 1, "angle": 0.07 }
+				]
+			},
+			"head": {
+				"rotate": [
+					{
+						"time": 0,
+						"angle": 0.44,
+						"curve": [ 0.382, 0.57, 0.735, 1 ]
+					},
+					{
+						"time": 0.1667,
+						"angle": 0,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 0.6667,
+						"angle": 1.57,
+						"curve": [ 0.243, 0, 0.649, 0.6 ]
+					},
+					{ "time": 1, "angle": 0.44 }
+				]
+			},
+			"eye1": {
+				"rotate": [
+					{ "time": 0, "angle": 0 },
+					{ "time": 0.5, "angle": 5.17 },
+					{ "time": 1, "angle": 0 }
+				],
+				"translate": [
+					{ "time": 0, "x": 0, "y": 0 },
+					{ "time": 0.5, "x": 1.66, "y": -0.06 },
+					{ "time": 1, "x": 0, "y": 0 }
+				]
+			},
+			"eye2": {
+				"rotate": [
+					{ "time": 0, "angle": 0 },
+					{ "time": 0.5, "angle": -5.8 },
+					{ "time": 1, "angle": 0 }
+				],
+				"translate": [
+					{ "time": 0, "x": 0, "y": 0 },
+					{ "time": 0.5, "x": 1.66, "y": -0.06 },
+					{ "time": 1, "x": 0, "y": 0 }
+				]
+			},
+			"ear2": {
+				"rotate": [
+					{
+						"time": 0,
+						"angle": -0.85,
+						"curve": [ 0.375, 0.62, 0.716, 1 ]
+					},
+					{
+						"time": 0.1,
+						"angle": 0,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 0.6,
+						"angle": -6.55,
+						"curve": [ 0.243, 0, 0.68, 0.71 ]
+					},
+					{ "time": 1, "angle": -0.85 }
+				]
+			},
+			"hair": {
+				"rotate": [
+					{
+						"time": 0,
+						"angle": -0.62,
+						"curve": [ 0.366, 0.63, 0.703, 1 ]
+					},
+					{
+						"time": 0.0667,
+						"angle": 0,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 0.5667,
+						"angle": -8.99,
+						"curve": [ 0.244, 0, 0.7, 0.79 ]
+					},
+					{ "time": 1, "angle": -0.62 }
+				]
+			},
+			"ear1": {
+				"rotate": [
+					{
+						"time": 0,
+						"angle": 1.34,
+						"curve": [ 0.375, 0.62, 0.716, 1 ]
+					},
+					{
+						"time": 0.1,
+						"angle": 0,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 0.6,
+						"angle": 10.29,
+						"curve": [ 0.243, 0, 0.68, 0.71 ]
+					},
+					{ "time": 1, "angle": 1.34 }
+				]
+			},
+			"weijjin2": {
+				"rotate": [
+					{
+						"time": 0,
+						"angle": -0.86,
+						"curve": [ 0.382, 0.57, 0.735, 1 ]
+					},
+					{
+						"time": 0.1667,
+						"angle": 0,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 0.6667,
+						"angle": -3.04,
+						"curve": [ 0.243, 0, 0.649, 0.6 ]
+					},
+					{ "time": 1, "angle": -0.86 }
+				]
+			},
+			"weijjin3": {
+				"rotate": [
+					{
+						"time": 0,
+						"angle": -3.81,
+						"curve": [ 0.372, 0.48, 0.752, 1 ]
+					},
+					{
+						"time": 0.2667,
+						"angle": 0,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 0.7667,
+						"angle": -7.01,
+						"curve": [ 0.252, 0, 0.622, 0.48 ]
+					},
+					{ "time": 1, "angle": -3.81 }
+				]
+			},
+			"weijjin4": {
+				"rotate": [
+					{
+						"time": 0,
+						"angle": -14.36,
+						"curve": [ 0.337, 0.35, 0.758, 1 ]
+					},
+					{
+						"time": 0.3667,
+						"angle": 0,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 0.8667,
+						"angle": -18.01,
+						"curve": [ 0.273, 0, 0.62, 0.41 ]
+					},
+					{ "time": 1, "angle": -14.36 }
+				]
+			},
+			"K2": {
+				"rotate": [
+					{
+						"time": 0,
+						"angle": 0,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 0.5,
+						"angle": 2.6,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{ "time": 1, "angle": 0 }
+				],
+				"translate": [
+					{
+						"time": 0,
+						"x": 0,
+						"y": 0,
+						"curve": [ 0.252, 0, 0.622, 0.48 ]
+					},
+					{
+						"time": 0.5,
+						"x": 2.81,
+						"y": -5.44,
+						"curve": [ 0.361, 0.43, 0.729, 0.89 ]
+					},
+					{ "time": 1, "x": 0, "y": 0 }
+				]
+			},
+			"bone_left4": {
+				"translate": [
+					{
+						"time": 0,
+						"x": 0,
+						"y": 0,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{
+						"time": 0.5,
+						"x": 2.81,
+						"y": -5.44,
+						"curve": [ 0.25, 0, 0.75, 1 ]
+					},
+					{ "time": 1, "x": 0, "y": 0 }
+				]
+			},
+			"bone_left": {
+				"scale": [
+					{ "time": 0, "x": -1, "y": 1 }
+				]
+			}
+		}
+	}
+}
+}

+ 11 - 0
assets/package/spine/zongxiong/zongxiong.json.meta

@@ -0,0 +1,11 @@
+{
+  "ver": "1.2.6",
+  "importer": "spine-data",
+  "imported": true,
+  "uuid": "6d70d1a2-07f3-4cf8-a149-a1fbfd7f02a4",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

BIN
assets/package/spine/zongxiong/zongxiong.png


+ 134 - 0
assets/package/spine/zongxiong/zongxiong.png.meta

@@ -0,0 +1,134 @@
+{
+  "ver": "1.0.27",
+  "importer": "image",
+  "imported": true,
+  "uuid": "7761e5de-ee40-453e-b6e1-0d3c455d3b34",
+  "files": [
+    ".json",
+    ".png"
+  ],
+  "subMetas": {
+    "6c48a": {
+      "importer": "texture",
+      "uuid": "7761e5de-ee40-453e-b6e1-0d3c455d3b34@6c48a",
+      "displayName": "zongxiong",
+      "id": "6c48a",
+      "name": "texture",
+      "userData": {
+        "wrapModeS": "clamp-to-edge",
+        "wrapModeT": "clamp-to-edge",
+        "imageUuidOrDatabaseUri": "7761e5de-ee40-453e-b6e1-0d3c455d3b34",
+        "isUuid": true,
+        "visible": false,
+        "minfilter": "linear",
+        "magfilter": "linear",
+        "mipfilter": "none",
+        "anisotropy": 0
+      },
+      "ver": "1.0.22",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    },
+    "f9941": {
+      "importer": "sprite-frame",
+      "uuid": "7761e5de-ee40-453e-b6e1-0d3c455d3b34@f9941",
+      "displayName": "zongxiong",
+      "id": "f9941",
+      "name": "spriteFrame",
+      "userData": {
+        "trimType": "auto",
+        "trimThreshold": 1,
+        "rotated": false,
+        "offsetX": -3.5,
+        "offsetY": 0,
+        "trimX": 2,
+        "trimY": 2,
+        "width": 1013,
+        "height": 252,
+        "rawWidth": 1024,
+        "rawHeight": 256,
+        "borderTop": 0,
+        "borderBottom": 0,
+        "borderLeft": 0,
+        "borderRight": 0,
+        "packable": true,
+        "pixelsToUnit": 100,
+        "pivotX": 0.5,
+        "pivotY": 0.5,
+        "meshType": 0,
+        "vertices": {
+          "rawPosition": [
+            -506.5,
+            -126,
+            0,
+            506.5,
+            -126,
+            0,
+            -506.5,
+            126,
+            0,
+            506.5,
+            126,
+            0
+          ],
+          "indexes": [
+            0,
+            1,
+            2,
+            2,
+            1,
+            3
+          ],
+          "uv": [
+            2,
+            254,
+            1015,
+            254,
+            2,
+            2,
+            1015,
+            2
+          ],
+          "nuv": [
+            0.001953125,
+            0.0078125,
+            0.9912109375,
+            0.0078125,
+            0.001953125,
+            0.9921875,
+            0.9912109375,
+            0.9921875
+          ],
+          "minPos": [
+            -506.5,
+            -126,
+            0
+          ],
+          "maxPos": [
+            506.5,
+            126,
+            0
+          ]
+        },
+        "isUuid": true,
+        "imageUuidOrDatabaseUri": "7761e5de-ee40-453e-b6e1-0d3c455d3b34@6c48a",
+        "atlasUuid": ""
+      },
+      "ver": "1.0.12",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    }
+  },
+  "userData": {
+    "type": "sprite-frame",
+    "hasAlpha": true,
+    "fixAlphaTransparencyArtifacts": false,
+    "redirect": "7761e5de-ee40-453e-b6e1-0d3c455d3b34@6c48a"
+  }
+}

BIN
assets/package/texture/tower/map3.png


BIN
assets/package/texture/tower/ui/任务.png


+ 10 - 10
assets/package/texture/tower/ui/任务.png.meta

@@ -47,9 +47,9 @@
         "trimX": 0,
         "trimY": 0,
         "width": 94,
-        "height": 102,
+        "height": 74,
         "rawWidth": 94,
-        "rawHeight": 102,
+        "rawHeight": 74,
         "borderTop": 0,
         "borderBottom": 0,
         "borderLeft": 0,
@@ -62,16 +62,16 @@
         "vertices": {
           "rawPosition": [
             -47,
-            -51,
+            -37,
             0,
             47,
-            -51,
+            -37,
             0,
             -47,
-            51,
+            37,
             0,
             47,
-            51,
+            37,
             0
           ],
           "indexes": [
@@ -84,9 +84,9 @@
           ],
           "uv": [
             0,
-            102,
+            74,
             94,
-            102,
+            74,
             0,
             0,
             94,
@@ -104,12 +104,12 @@
           ],
           "minPos": [
             -47,
-            -51,
+            -37,
             0
           ],
           "maxPos": [
             47,
-            51,
+            37,
             0
           ]
         },

BIN
assets/package/texture/tower/ui/关卡进度-1.png


+ 10 - 10
assets/package/texture/tower/ui/关卡进度-1.png.meta

@@ -46,9 +46,9 @@
         "offsetY": 0,
         "trimX": 0,
         "trimY": 0,
-        "width": 164,
+        "width": 213,
         "height": 10,
-        "rawWidth": 164,
+        "rawWidth": 213,
         "rawHeight": 10,
         "borderTop": 0,
         "borderBottom": 0,
@@ -61,16 +61,16 @@
         "meshType": 0,
         "vertices": {
           "rawPosition": [
-            -82,
+            -106.5,
             -5,
             0,
-            82,
+            106.5,
             -5,
             0,
-            -82,
+            -106.5,
             5,
             0,
-            82,
+            106.5,
             5,
             0
           ],
@@ -85,11 +85,11 @@
           "uv": [
             0,
             10,
-            164,
+            213,
             10,
             0,
             0,
-            164,
+            213,
             0
           ],
           "nuv": [
@@ -103,12 +103,12 @@
             1
           ],
           "minPos": [
-            -82,
+            -106.5,
             -5,
             0
           ],
           "maxPos": [
-            82,
+            106.5,
             5,
             0
           ]

BIN
assets/package/texture/tower/ui/关卡进度-2.png


+ 15 - 15
assets/package/texture/tower/ui/关卡进度-2.png.meta

@@ -42,13 +42,13 @@
         "trimType": "auto",
         "trimThreshold": 1,
         "rotated": false,
-        "offsetX": -0.5,
+        "offsetX": 0,
         "offsetY": 0,
         "trimX": 2,
         "trimY": 2,
-        "width": 159,
+        "width": 209,
         "height": 6,
-        "rawWidth": 164,
+        "rawWidth": 213,
         "rawHeight": 10,
         "borderTop": 0,
         "borderBottom": 0,
@@ -61,16 +61,16 @@
         "meshType": 0,
         "vertices": {
           "rawPosition": [
-            -79.5,
+            -104.5,
             -3,
             0,
-            79.5,
+            104.5,
             -3,
             0,
-            -79.5,
+            -104.5,
             3,
             0,
-            79.5,
+            104.5,
             3,
             0
           ],
@@ -85,30 +85,30 @@
           "uv": [
             2,
             8,
-            161,
+            211,
             8,
             2,
             2,
-            161,
+            211,
             2
           ],
           "nuv": [
-            0.012195121951219513,
+            0.009389671361502348,
             0.2,
-            0.9817073170731707,
+            0.9906103286384976,
             0.2,
-            0.012195121951219513,
+            0.009389671361502348,
             0.8,
-            0.9817073170731707,
+            0.9906103286384976,
             0.8
           ],
           "minPos": [
-            -79.5,
+            -104.5,
             -3,
             0
           ],
           "maxPos": [
-            79.5,
+            104.5,
             3,
             0
           ]

BIN
assets/package/texture/tower/ui/关卡进度.png


+ 10 - 10
assets/package/texture/tower/ui/关卡进度.png.meta

@@ -46,9 +46,9 @@
         "offsetY": 0,
         "trimX": 0,
         "trimY": 0,
-        "width": 234,
+        "width": 324,
         "height": 102,
-        "rawWidth": 234,
+        "rawWidth": 324,
         "rawHeight": 102,
         "borderTop": 0,
         "borderBottom": 0,
@@ -61,16 +61,16 @@
         "meshType": 0,
         "vertices": {
           "rawPosition": [
-            -117,
+            -162,
             -51,
             0,
-            117,
+            162,
             -51,
             0,
-            -117,
+            -162,
             51,
             0,
-            117,
+            162,
             51,
             0
           ],
@@ -85,11 +85,11 @@
           "uv": [
             0,
             102,
-            234,
+            324,
             102,
             0,
             0,
-            234,
+            324,
             0
           ],
           "nuv": [
@@ -103,12 +103,12 @@
             1
           ],
           "minPos": [
-            -117,
+            -162,
             -51,
             0
           ],
           "maxPos": [
-            117,
+            162,
             51,
             0
           ]

BIN
assets/package/texture/tower/ui/商城.png


+ 10 - 10
assets/package/texture/tower/ui/商城.png.meta

@@ -47,9 +47,9 @@
         "trimX": 0,
         "trimY": 0,
         "width": 94,
-        "height": 102,
+        "height": 74,
         "rawWidth": 94,
-        "rawHeight": 102,
+        "rawHeight": 74,
         "borderTop": 0,
         "borderBottom": 0,
         "borderLeft": 0,
@@ -62,16 +62,16 @@
         "vertices": {
           "rawPosition": [
             -47,
-            -51,
+            -37,
             0,
             47,
-            -51,
+            -37,
             0,
             -47,
-            51,
+            37,
             0,
             47,
-            51,
+            37,
             0
           ],
           "indexes": [
@@ -84,9 +84,9 @@
           ],
           "uv": [
             0,
-            102,
+            74,
             94,
-            102,
+            74,
             0,
             0,
             94,
@@ -104,12 +104,12 @@
           ],
           "minPos": [
             -47,
-            -51,
+            -37,
             0
           ],
           "maxPos": [
             47,
-            51,
+            37,
             0
           ]
         },

BIN
assets/package/texture/tower/ui/底座.png


+ 14 - 0
assets/script/framework/config/L_1Conf.ts

@@ -0,0 +1,14 @@
+export namespace L_1Conf {
+        export const data = {
+            "100001": {
+                    "Id": 100001,
+                    "Zh": "燃烧的远征-{0}",
+                    "Cn": "Xxx"
+            },
+            "100002": {
+                    "Id": 100002,
+                    "Zh": "群雄逐鹿-{0}",
+                    "Cn": "xx000"
+            }
+        };
+    }

+ 1 - 1
assets/script/framework/config/LanguageConf.ts.meta → assets/script/framework/config/L_1Conf.ts.meta

@@ -2,7 +2,7 @@
   "ver": "4.0.24",
   "importer": "typescript",
   "imported": true,
-  "uuid": "ce8eb05d-310b-400f-afc6-cd3a6fcc92bd",
+  "uuid": "185b881d-4d33-4d4a-90d8-1e262b3afc66",
   "files": [],
   "subMetas": {},
   "userData": {}

+ 0 - 261
assets/script/framework/config/LanguageConf.ts

@@ -1,261 +0,0 @@
-export namespace LanguageConf {
-    export const data:any = {
-        "error-1": {
-                "LanguageTag": "error-1",
-                "CN": "消息验证失败",
-                "NG": "The current game information verification failed. Please contact customer service!"
-        },
-        "error-2": {
-                "LanguageTag": "error-2",
-                "CN": "token失效",
-                "NG": "Your login session has expired. Please log in to the game again!"
-        },
-        "error-3": {
-                "LanguageTag": "error-3",
-                "CN": "用户验证失败",
-                "NG": "The current user authentication failed. Please contact customer service!"
-        },
-        "error-4": {
-                "LanguageTag": "error-4",
-                "CN": "登录失效",
-                "NG": "The current user authentication failed.Please log in to the game again!"
-        },
-        "error-5": {
-                "LanguageTag": "error-5",
-                "CN": "维护中",
-                "NG": ""
-        },
-        "error2": {
-                "LanguageTag": "error2",
-                "CN": "服务器重启",
-                "NG": "The game is restarting. Please try again later!"
-        },
-        "error4": {
-                "LanguageTag": "error4",
-                "CN": "顶号登录",
-                "NG": "Your account has been logged in from another location. If this was not you. please change your password promptly!"
-        },
-        "error50": {
-                "LanguageTag": "error50",
-                "CN": "请求参数缺失",
-                "NG": "request miss params"
-        },
-        "error51": {
-                "LanguageTag": "error51",
-                "CN": "请求参数非法",
-                "NG": "invalid request"
-        }, 
-        "error52": {
-                "LanguageTag": "error52",
-                "CN": "地域错误",
-                "NG": "Access Denited Your region is not allowed."
-        },
-        "error100": {
-                "LanguageTag": "error100",
-                "CN": "邮件格式不正确",
-                "NG": "incorrect email format"
-        },
-        "error101": {
-                "LanguageTag": "error101",
-                "CN": "账号已存在",
-                "NG": "account already exist"
-        },
-        "error102": {
-                "LanguageTag": "error102",
-                "CN": "请求频率太快",
-                "NG": "request frequency limit"
-        },
-        "error103": {
-                "LanguageTag": "error103",
-                "CN": "邮件发送失败",
-                "NG": "send mail failed"
-        },
-        "error104": {
-                "LanguageTag": "error104",
-                "CN": "非法或已失效",
-                "NG": "expired"
-        },
-        "error105": {
-                "LanguageTag": "error105",
-                "CN": "非法或已失效",
-                "NG": "invalid or expired"
-        },
-        "error106": {
-                "LanguageTag": "error106",
-                "CN": "账号不存在",
-                "NG": "account not exist"
-        },
-        "error107": {
-                "LanguageTag": "error107",
-                "CN": "账号被封",
-                "NG": "Your account has been suspended. Please contact customer service."
-        },
-        "error108": {
-                "LanguageTag": "error108",
-                "CN": "账号未激活",
-                "NG": "account not activate"
-        },
-        "error109": {
-                "LanguageTag": "error109",
-                "CN": "账号需要激活",
-                "NG": "account need activate"
-        },
-        "error110": {
-                "LanguageTag": "error110",
-                "CN": "密码格式不正确",
-                "NG": "The password format you entered is incorrect. Please enter it in the correct format!"
-        },
-        "error111": {
-                "LanguageTag": "error111",
-                "CN": "密码多次错误",
-                "NG": "You have entered the password incorrectly multiple times. Please try again in 10 minutes!"
-        },
-        "error112": {
-                "LanguageTag": "error112",
-                "CN": "账号或密码错误",
-                "NG": "The account or password you entered is incorrect. Please try again!"
-        },
-        "error113": {
-                "LanguageTag": "error113",
-                "CN": "新密码不一致",
-                "NG": "new password not consistent"
-        },
-        "error114": {
-                "LanguageTag": "error114",
-                "CN": "老密码不正确",
-                "NG": "incorrect old password"
-        },
-        "error115": {
-                "LanguageTag": "error115",
-                "CN": "手机号格式不正确",
-                "NG": "incorrect phone format"
-        },
-        "error116": {
-                "LanguageTag": "error116",
-                "CN": "验证码不正确",
-                "NG": "The OTP you entered is incorrect. Please check and re-enter!"
-        },
-        "error117": {
-                "LanguageTag": "error117",
-                "CN": "验证码发送失败",
-                "NG": "send otp failed"
-        },
-        "error118": {
-                "LanguageTag": "error118",
-                "CN": "账号类型不存在",
-                "NG": "account type not exist"
-        },
-        "error119": {
-                "LanguageTag": "error119",
-                "CN": "已经绑定手机",
-                "NG": "already bind mobile"
-        },
-        "error120": {
-                "LanguageTag": "error120",
-                "CN": "请求失败",
-                "NG": "request failed"
-        },
-        "error121": {
-                "LanguageTag": "error121",
-                "CN": "银行卡重复",
-                "NG": "bank card exist"
-        },
-        "error122": {
-                "LanguageTag": "error122",
-                "CN": "银行卡不存在",
-                "NG": "bank account not exist"
-        },
-        "error123": {
-                "LanguageTag": "error123",
-                "CN": "银行卡验证失败",
-                "NG": "bank account request failed"
-        },
-        "error124": {
-                "LanguageTag": "error124",
-                "CN": "提现订单重复",
-                "NG": "drawout order repeated"
-        },
-        "error125": {
-                "LanguageTag": "error125",
-                "CN": "手机号已被绑定",
-                "NG": "phone number already used"
-        },
-        "error126": {
-                "LanguageTag": "error126",
-                "CN": "提现锁定",
-                "NG": "Your withdrawal function has been suspended. Please contact customer service!"
-        },
-        "error127": {
-                "LanguageTag": "error127",
-                "CN": "提现次数超限",
-                "NG": "Withdrawal limit reached. Please contact customer service!"
-        },
-        "error128": {
-                "LanguageTag": "error128",
-                "CN": "绑卡数超上限",
-                "NG": "Unable to bind more bank cards!"
-        },
-        "error129": {
-                "LanguageTag": "error129",
-                "CN": "暂时无法绑定此卡,请联系客服",
-                "NG": "Currently, you cannot link this bank card. Please contact customer service!"
-        },
-        "error130": {
-                "LanguageTag": "error130",
-                "CN": "提现需要10分钟后再试",
-                "NG": "Frequent Withdrawals, Please Try Again Later!"
-        },
-        "error131": {
-                "LanguageTag": "error131",
-                "CN": "今日账号提现次数已达上限",
-                "NG": "The withdrawal limit for today has been reached for this account!"
-        },
-        "error132": {
-                "LanguageTag": "error132",
-                "CN": "绑卡数超上限",
-                "NG": "The total withdrawal amount limit for today has been reached for this account!"
-        },
-        //无error133
-        "error134": {
-                "LanguageTag": "error134",
-                "CN": "功能暂未开放",
-                "NG": "This feature is temporarily unavailable!"
-        },
-        "error135": {
-                "LanguageTag": "error135",
-                "CN": "代理结算中",
-                "NG": "Agent commission is being processed!"
-        },
-        "error136": {
-                "LanguageTag": "error136",
-                "CN": "提取被封禁",
-                "NG": "Agent account has been suspended!"
-        },
-        "error137": {
-                "LanguageTag": "error137",
-                "CN": "无可提取佣金",
-                "NG": "No commission available for withdrawal!"
-        },
-        "error138": {
-                "LanguageTag": "error138",
-                "CN": "目标未达成",
-                "NG": "Referral count does not meet requirements!"
-        },
-        "error139": {
-                "LanguageTag": "error139",
-                "CN": "未绑定手机",
-                "NG": "Not linked to a mobile!"
-        },
-        "error200": {
-                "LanguageTag": "error200",
-                "CN": "操作失败",
-                "NG": "operation failed"
-        },
-        "error210": {
-                "LanguageTag": "error210",
-                "CN": "不在活动时间内",
-                "NG": "The Promotion has ended"
-        }
-
-    };
-}

+ 21 - 2
assets/script/framework/util/StringUtil.ts

@@ -1,11 +1,19 @@
 import { JsonAsset } from "cc";
 import { MathUtil } from "./MathUtil";
-import { LanguageConf } from "../config/LanguageConf";
+import { L_1Conf } from "../config/L_1Conf";
+import { LanguageType } from "../../game/common/InterfaceAddEnum";
 
 const chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split("");
 
 export class StringUtil {
 
+    static _languageType:LanguageType = LanguageType.Zh
+    static get languageType() {
+        return this._languageType
+    }
+    static set languageType(value:LanguageType) {
+        this._languageType = value
+    }
     /**
      * 得到一个唯一值
      * @param len 长度
@@ -181,6 +189,7 @@ export class StringUtil {
      *  @param keyArr 替换值数组,没有则不传
      * */
     static getLanguageData(key, keyArr = [], translate = false) {
+
         if (!key) {
             return '未配置';
         }
@@ -188,7 +197,17 @@ export class StringUtil {
             let strKey = String(key)
             // let page = strKey.substring(0,1)
             // let str = LanguageConf.data[strKey];
-            let str = LanguageConf.data[strKey];
+            let str:string = null
+            let keyNumber = Number(strKey)
+
+            if(keyNumber){
+                if(keyNumber < 100000){
+                }else if(keyNumber < 200000){
+                    return L_1Conf.data[keyNumber][StringUtil.languageType]
+                }else{
+                    return ""
+                }
+            }
             if (str){ 
                 return str;
             }else{

+ 4 - 0
assets/script/game/common/InterfaceAddEnum.ts

@@ -34,4 +34,8 @@ export enum ItemEnum{
     material = 1,
     equip = 2,
 }
+export enum LanguageType{
+    Zh = "Zh",
+    En = "En",
+}
 

+ 8 - 0
assets/script/game/manager/MailManager.ts

@@ -0,0 +1,8 @@
+
+
+export class MailManager {
+    //邮件功能是否开放
+    static isOpenMail(){
+        return false;
+    }
+}

+ 63 - 81
assets/script/game/ui/tower/TowerUI.ts

@@ -1,4 +1,4 @@
-import { _decorator, instantiate, Node, Prefab, Size, Tween, tween, UITransform, Vec2, Vec3 ,Animation, EventTouch, Button, sp, Enum, Label, Toggle, Sprite, SpriteFrame, v3, utils} from 'cc';
+import { _decorator, instantiate, Node, Prefab, Size, Tween, tween, UITransform, Vec2, Vec3 ,Animation, EventTouch, Button, sp, Enum, Label, Toggle, Sprite, SpriteFrame, v3, utils, ProgressBar} from 'cc';
 import { BaseView } from '../../../framework/layer/BaseView';
 import { Framework } from '../../../framework/Framework';
 import { FrameworkConf } from '../../../framework/config/FrameworkConf';
@@ -18,7 +18,7 @@ import { isValid } from 'cc';
 import { HeroDataPool } from './data/HeroData';
 import { StringUtil } from '../../../framework/util/StringUtil';
 import { MaterialUtil } from '../../../framework/util/MaterialUtil';
-import { ViewID } from '../../../framework/config/LayerConf';
+import { BattlesConf } from './conf/BattlesConf';
 
 
 //地图比例尺 1:70
@@ -60,6 +60,8 @@ export class TowerUI extends BaseView {
 
 	@property({ type: Sprite, tooltip: "地图" })
 	mapSprite: Sprite = null;
+	@property({ type: Label, tooltip: "地图名字" })
+	mapName: Label = null;
 
 	@property({ type: Node, tooltip: "攻击位" })
 	attackNode: Node = null;
@@ -74,8 +76,6 @@ export class TowerUI extends BaseView {
 	//背包位
 	bagPosList: PosData[] = [];
 
-	mapID = 1;
-
 	@property({ type: [Prefab], tooltip: "英雄" })
 	heroModelList: Prefab[] = [];
 	heroPool: Map<number,Node[]> = new Map();
@@ -85,7 +85,7 @@ export class TowerUI extends BaseView {
 
 	@property({ type: [Prefab], tooltip: "敌人" })
 	ememyModelList: Prefab[] = [];
-	enemyPool: Node[] = [];
+	enemyPool: Map<number,Node[]> =  new Map();
 	enemyMap: Map<number,Node> = new Map(); 
 	enemyWaitTime: number = 0;
 
@@ -105,6 +105,14 @@ export class TowerUI extends BaseView {
 	@property({ type: Label, tooltip: "精力统计" })
 	powerLabel: Label = null;
 
+	@property({ type: ProgressBar, tooltip: "关卡进度" })
+	battlesProgressBar: ProgressBar = null;
+	@property({ type: [Label], tooltip: "当前管卡展示" })
+	levelValue: Label[] = []
+
+	//关卡id
+	battlesID: number = 1;
+
 	bStart = false;
 	waitTime = 5;
 	touchStart: Node = null;
@@ -124,7 +132,7 @@ export class TowerUI extends BaseView {
 	//当前动画下标
 	levelUpEffectIndex = 0;
 	//是否自动合成
-	isAutoMerge = true;
+	isAutoMerge = false;
 
 	protected onLoad() {
 		super.onLoad();
@@ -148,7 +156,7 @@ export class TowerUI extends BaseView {
 		
 		
 
-		this.battleControl.init(this.mapID)
+		this.battleControl.init(this.battlesID)
 		this.init();
 	
 	}
@@ -242,7 +250,14 @@ export class TowerUI extends BaseView {
 					let enemy = this.enemyMap.get(enemyData.ID);
 					enemy.getComponent(Enemy).die(()=>{
 							this.enemyMap.delete(enemyData.ID);
-							this.enemyPool.push(enemy);
+							let typeID = enemy.getComponent(Enemy).typeID
+							if(this.enemyPool.has(typeID)){
+								let pool = this.enemyPool.get(typeID);
+								pool.push(enemy);
+							}
+							else {
+								this.enemyPool.set(typeID,[enemy]);
+							}
 							
 						}
 					);
@@ -280,7 +295,7 @@ export class TowerUI extends BaseView {
 			}
 
 			case BattleEventType.HeroAttack:{
-				console.log("攻击",event)
+				// console.log("攻击",event)
 				let attackData = event as BattleEventData_HeroAttack;
 				if(this.attackPosMap.has(attackData.posID)){
 					let posData = this.attackPosMap.get(attackData.posID);
@@ -318,10 +333,16 @@ export class TowerUI extends BaseView {
 					this.enemyMap.forEach((enemy, enemyID) => {
 						enemy.getComponent(Enemy).clearData();
 						this.enemyMap.delete(enemyID);
-						this.enemyPool.push(enemy);
+						let typeID = enemy.getComponent(Enemy).typeID
+						if(this.enemyPool.has(typeID)){
+							this.enemyPool.get(typeID).push(enemy);
+						}
+						else {
+							this.enemyPool.set(typeID,[enemy]);
+						}
 					})
-					this.mapID = this.mapID %2+1;
-					this.battleControl.reset(this.mapID)
+					this.battlesID = (this.battlesID+3) %20+1;
+					this.battleControl.reset(this.battlesID)
 				  	this.reset()  
 
 					for(let index = 0; index < this.attackPosList.length; index++){
@@ -481,34 +502,9 @@ export class TowerUI extends BaseView {
 
 	init() {
 
-		this.bStart = false;
-		this.waitTime = 5;
-		this.gameTime = 0;
-		this.radiusNode.active = false;
-
+		
 		let posID = 0;
 		let roleTransform = this.roleNode.getComponent(UITransform)
-		let mapConf = MapConf.data[this.mapID.toString()]
-		if(!mapConf){
-			console.log("地图配置错误")
-			return
-		}
-		let offset = mapConf.OffsetArray
-		if(offset){
-			baseOffset.x = offset[0]
-			baseOffset.y = offset[1]
-		}
-		else{
-			baseOffset.x = 0
-			baseOffset.y = 0
-		}
-
-		let path = "texture/tower/"+mapConf.Background+"/spriteFrame"
-
-		this.load("package",path, SpriteFrame, (res: SpriteFrame) => {
-			this.mapSprite.spriteFrame = res
-		})
-
 		let bagChildren = this.bagNode.children
 		for (let i = 0; i < BattleUtil.BagListSize; i++) {
 			let node = bagChildren[i];
@@ -526,44 +522,26 @@ export class TowerUI extends BaseView {
 			
 		}
 
-		let attackChildren = this.attackNode.children
-		for (let i = 0; i < attackChildren.length; i++) {
-			let node = attackChildren[i];
-			let posNumber = this.battleControl.getPosIDByIndex(i)
-			if(posNumber != -1){
-				node.active = true;
-				let mapDataPos = this.battleControl.getPosition(posNumber)
-				let posXX = MapDataPosToView(mapDataPos.x,mapDataPos.y)
-				node.position = posXX
-				let posData: PosData = {
-					node: node,
-					hero: null,
-					bLock: false,
-					posID: posID,
-					pos: new Vec3(posXX.x, posXX.y, 0),
-					posNumber: posNumber
-				}
-				this.attackPosList.push(posData);
-				this.attackPosMap.set(posNumber, posData);
-				posID++;
-			}
-			else {
-				node.active = false;
-			}
-			
-		}
+		this.reset()
 	}
 
 	reset(){
-		let mapConf = MapConf.data[this.mapID.toString()]
+
+		let battleConf = BattlesConf.data[this.battlesID.toString()]
+		if(!battleConf){
+			console.log("战斗配置错误")
+			return
+		}
+		
+		let mapConf = MapConf.data[this.battleControl.mapID.toString()]
 		if(!mapConf){
 			console.log("地图配置错误")
 			return
 		}
 		let offset = mapConf.OffsetArray
 		if(offset){
-			baseOffset.x = offset[0]
-			baseOffset.y = offset[1]
+			baseOffset.x = offset[0]||0
+			baseOffset.y = offset[1]||0
 		}
 		else{
 			baseOffset.x = 0
@@ -611,6 +589,18 @@ export class TowerUI extends BaseView {
 		this.load("package",path, SpriteFrame, (res: SpriteFrame) => {
 			this.mapSprite.spriteFrame = res
 		})
+		let processe = BattlesConf.data[this.battlesID].Process
+		this.mapName.string = StringUtil.getLanguageData(mapConf.Name,[processe])
+
+		tween(this.battlesProgressBar).to(0.5, { progress: ((processe-1)%5)/4 }).start()
+		let curValue = processe-((processe-1)%5)
+		for (let i = 0; i < 5; i++) {
+			let node = this.levelValue[i];
+			node.string = (curValue+i).toString()
+		}
+		
+
+
 		this.bStart = false;
 		this.waitTime = 5;
 		this.gameTime = 0;
@@ -772,11 +762,11 @@ export class TowerUI extends BaseView {
 	addEnemy(eventData: BattleEventData_EnemyBorn) {
 		//添加敌人
 		let node:Node = null;
-		if(this.enemyPool.length > 0){
-			node = this.enemyPool.pop();
+		if(this.enemyPool.has(eventData.typeID) && this.enemyPool.get(eventData.typeID).length > 0){
+			node = this.enemyPool.get(eventData.typeID).pop();
 		}
 		else {
-			node = instantiate(this.ememyModelList[0]);
+			node = instantiate(this.ememyModelList[eventData.typeID-1]);
 			node.parent = this.roleNode;
 		}
 		
@@ -789,7 +779,6 @@ export class TowerUI extends BaseView {
 		
 	}
 
-
 	onClickStart() {
 		this.bStart = true;
 	}
@@ -903,7 +892,7 @@ export class TowerUI extends BaseView {
 	}
 
 	addHurt(pos:Vec3,value:number){
-		console.log("addHurt",value)
+		// console.log("addHurt",value)
 		let node:Node = null;
 		if(this.hurtPool.length > 0){
 			node = this.hurtPool.pop();
@@ -969,6 +958,7 @@ export class TowerUI extends BaseView {
 
 	updateDamageCount(){
 		let num = 0
+		let allEnemyHP = this.battleControl.allEnemyHP
 		this.damageCountData.forEach((value,typeID)=>{
 			let countNode = this.countList[num]
 			if(num < this.countList.length){
@@ -983,7 +973,7 @@ export class TowerUI extends BaseView {
 				//headSprite.getComponent(Sprite).spriteFrame = this.headSprite[typeID]
 				valueLabel.getComponent(Label).string = StringUtil.bigNumberToStr(value)
 
-				let progressWidth = value/100*84
+				let progressWidth = value/allEnemyHP*84
 				if(progressWidth > 84){
 					progressWidth = 84
 				}
@@ -1005,12 +995,4 @@ export class TowerUI extends BaseView {
 		let valueOld = this.damageCountData.get(typeID) || 0
 		this.damageCountData.set(typeID,value+valueOld)
 	}
-
-	//UI事件处理
-	private onTouchButton(event: Event) {
-		let target: any = event.target;
-		if (target.name == 'addHero-004') {
-			Framework.layer.open(ViewID.MailMain)
-		}
-	}
 }

+ 480 - 0
assets/script/game/ui/tower/conf/BattlesConf.ts

@@ -0,0 +1,480 @@
+export namespace BattlesConf {
+    export const data = {
+        "1": {
+                "Id": 1,
+                "Chapter": 1,
+                "Process": 1,
+                "BossProcess": 10,
+                "EnemyLevel": 1,
+                "BossJsonArr": null,
+                "NewReward": [
+                        [
+                                "user",
+                                "gold",
+                                10
+                        ],
+                        [
+                                "user",
+                                "cash",
+                                10
+                        ]
+                ]
+        },
+        "2": {
+                "Id": 2,
+                "Chapter": 1,
+                "Process": 2,
+                "BossProcess": 10,
+                "EnemyLevel": 1.2,
+                "BossJsonArr": null,
+                "NewReward": [
+                        [
+                                "user",
+                                "gold",
+                                10
+                        ],
+                        [
+                                "user",
+                                "cash",
+                                10
+                        ]
+                ]
+        },
+        "3": {
+                "Id": 3,
+                "Chapter": 1,
+                "Process": 3,
+                "BossProcess": 10,
+                "EnemyLevel": 1.2,
+                "BossJsonArr": null,
+                "NewReward": [
+                        [
+                                "user",
+                                "gold",
+                                10
+                        ],
+                        [
+                                "user",
+                                "cash",
+                                10
+                        ]
+                ]
+        },
+        "4": {
+                "Id": 4,
+                "Chapter": 1,
+                "Process": 4,
+                "BossProcess": 10,
+                "EnemyLevel": 1.2,
+                "BossJsonArr": null,
+                "NewReward": [
+                        [
+                                "user",
+                                "gold",
+                                10
+                        ],
+                        [
+                                "user",
+                                "cash",
+                                10
+                        ]
+                ]
+        },
+        "5": {
+                "Id": 5,
+                "Chapter": 1,
+                "Process": 5,
+                "BossProcess": 10,
+                "EnemyLevel": 1.2,
+                "BossJsonArr": [
+                        [
+                                30,
+                                79,
+                                2,
+                                1,
+                                1,
+                                1,
+                                2.5
+                        ],
+                        [
+                                100,
+                                79,
+                                2,
+                                1,
+                                1,
+                                1,
+                                2.5
+                        ]
+                ],
+                "NewReward": [
+                        [
+                                "user",
+                                "gold",
+                                10
+                        ],
+                        [
+                                "user",
+                                "cash",
+                                10
+                        ]
+                ]
+        },
+        "6": {
+                "Id": 6,
+                "Chapter": 1,
+                "Process": 6,
+                "BossProcess": 10,
+                "EnemyLevel": 1.2,
+                "BossJsonArr": null,
+                "NewReward": [
+                        [
+                                "user",
+                                "gold",
+                                10
+                        ],
+                        [
+                                "user",
+                                "cash",
+                                10
+                        ]
+                ]
+        },
+        "7": {
+                "Id": 7,
+                "Chapter": 1,
+                "Process": 7,
+                "BossProcess": 10,
+                "EnemyLevel": 1.2,
+                "BossJsonArr": null,
+                "NewReward": [
+                        [
+                                "user",
+                                "gold",
+                                10
+                        ],
+                        [
+                                "user",
+                                "cash",
+                                10
+                        ]
+                ]
+        },
+        "8": {
+                "Id": 8,
+                "Chapter": 1,
+                "Process": 8,
+                "BossProcess": 10,
+                "EnemyLevel": 1.2,
+                "BossJsonArr": null,
+                "NewReward": [
+                        [
+                                "user",
+                                "gold",
+                                10
+                        ],
+                        [
+                                "user",
+                                "cash",
+                                10
+                        ]
+                ]
+        },
+        "9": {
+                "Id": 9,
+                "Chapter": 1,
+                "Process": 9,
+                "BossProcess": 10,
+                "EnemyLevel": 1.2,
+                "BossJsonArr": null,
+                "NewReward": [
+                        [
+                                "user",
+                                "gold",
+                                10
+                        ],
+                        [
+                                "user",
+                                "cash",
+                                10
+                        ]
+                ]
+        },
+        "10": {
+                "Id": 10,
+                "Chapter": 1,
+                "Process": 10,
+                "BossProcess": 10,
+                "EnemyLevel": 1.2,
+                "BossJsonArr": [
+                        [
+                                30,
+                                79,
+                                2,
+                                1,
+                                1,
+                                1,
+                                5
+                        ],
+                        [
+                                100,
+                                79,
+                                2,
+                                1,
+                                1,
+                                1,
+                                5
+                        ]
+                ],
+                "NewReward": [
+                        [
+                                "user",
+                                "gold",
+                                10
+                        ],
+                        [
+                                "user",
+                                "cash",
+                                10
+                        ]
+                ]
+        },
+        "11": {
+                "Id": 11,
+                "Chapter": 2,
+                "Process": 1,
+                "BossProcess": 20,
+                "EnemyLevel": 1.2,
+                "BossJsonArr": null,
+                "NewReward": [
+                        [
+                                "user",
+                                "gold",
+                                10
+                        ],
+                        [
+                                "user",
+                                "cash",
+                                10
+                        ]
+                ]
+        },
+        "12": {
+                "Id": 12,
+                "Chapter": 2,
+                "Process": 2,
+                "BossProcess": 20,
+                "EnemyLevel": 1.2,
+                "BossJsonArr": null,
+                "NewReward": [
+                        [
+                                "user",
+                                "gold",
+                                10
+                        ],
+                        [
+                                "user",
+                                "cash",
+                                10
+                        ]
+                ]
+        },
+        "13": {
+                "Id": 13,
+                "Chapter": 2,
+                "Process": 3,
+                "BossProcess": 20,
+                "EnemyLevel": 1.2,
+                "BossJsonArr": null,
+                "NewReward": [
+                        [
+                                "user",
+                                "gold",
+                                10
+                        ],
+                        [
+                                "user",
+                                "cash",
+                                10
+                        ]
+                ]
+        },
+        "14": {
+                "Id": 14,
+                "Chapter": 2,
+                "Process": 4,
+                "BossProcess": 20,
+                "EnemyLevel": 1.2,
+                "BossJsonArr": null,
+                "NewReward": [
+                        [
+                                "user",
+                                "gold",
+                                10
+                        ],
+                        [
+                                "user",
+                                "cash",
+                                10
+                        ]
+                ]
+        },
+        "15": {
+                "Id": 15,
+                "Chapter": 2,
+                "Process": 5,
+                "BossProcess": 20,
+                "EnemyLevel": 1.2,
+                "BossJsonArr": [
+                        [
+                                30,
+                                79,
+                                2,
+                                1,
+                                1,
+                                1,
+                                3
+                        ],
+                        [
+                                100,
+                                79,
+                                2,
+                                1,
+                                1,
+                                1,
+                                3
+                        ]
+                ],
+                "NewReward": [
+                        [
+                                "user",
+                                "gold",
+                                10
+                        ],
+                        [
+                                "user",
+                                "cash",
+                                10
+                        ]
+                ]
+        },
+        "16": {
+                "Id": 16,
+                "Chapter": 2,
+                "Process": 6,
+                "BossProcess": 20,
+                "EnemyLevel": 1.2,
+                "BossJsonArr": null,
+                "NewReward": [
+                        [
+                                "user",
+                                "gold",
+                                10
+                        ],
+                        [
+                                "user",
+                                "cash",
+                                10
+                        ]
+                ]
+        },
+        "17": {
+                "Id": 17,
+                "Chapter": 2,
+                "Process": 7,
+                "BossProcess": 20,
+                "EnemyLevel": 1.2,
+                "BossJsonArr": null,
+                "NewReward": [
+                        [
+                                "user",
+                                "gold",
+                                10
+                        ],
+                        [
+                                "user",
+                                "cash",
+                                10
+                        ]
+                ]
+        },
+        "18": {
+                "Id": 18,
+                "Chapter": 2,
+                "Process": 8,
+                "BossProcess": 20,
+                "EnemyLevel": 1.2,
+                "BossJsonArr": null,
+                "NewReward": [
+                        [
+                                "user",
+                                "gold",
+                                10
+                        ],
+                        [
+                                "user",
+                                "cash",
+                                10
+                        ]
+                ]
+        },
+        "19": {
+                "Id": 19,
+                "Chapter": 2,
+                "Process": 9,
+                "BossProcess": 20,
+                "EnemyLevel": 1.2,
+                "BossJsonArr": null,
+                "NewReward": [
+                        [
+                                "user",
+                                "gold",
+                                10
+                        ],
+                        [
+                                "user",
+                                "cash",
+                                10
+                        ]
+                ]
+        },
+        "20": {
+                "Id": 20,
+                "Chapter": 2,
+                "Process": 10,
+                "BossProcess": 20,
+                "EnemyLevel": 1.2,
+                "BossJsonArr": [
+                        [
+                                30,
+                                79,
+                                2,
+                                1,
+                                1,
+                                1,
+                                5
+                        ],
+                        [
+                                100,
+                                79,
+                                2,
+                                1,
+                                1,
+                                1,
+                                5
+                        ]
+                ],
+                "NewReward": [
+                        [
+                                "user",
+                                "gold",
+                                10
+                        ],
+                        [
+                                "user",
+                                "cash",
+                                10
+                        ]
+                ]
+        }
+    };
+}

+ 1 - 1
assets/script/game/ui/tower/conf/Uptype2Conf.ts.meta → assets/script/game/ui/tower/conf/BattlesConf.ts.meta

@@ -2,7 +2,7 @@
   "ver": "4.0.24",
   "importer": "typescript",
   "imported": true,
-  "uuid": "9f74cc80-dde7-4625-8d77-95689631b0af",
+  "uuid": "7746ce33-db87-4fa9-b5fe-7ac48b1cb6a6",
   "files": [],
   "subMetas": {},
   "userData": {}

+ 229 - 134
assets/script/game/ui/tower/conf/MapConf.ts

@@ -1,135 +1,230 @@
 export namespace MapConf {
-    export const data = {
-        "1": {
-                "Id": 1,
-                "RoldJsonArr": [
-                        [
-                                79,
-                                78,
-                                77,
-                                67,
-                                57,
-                                47,
-                                37,
-                                27,
-                                17,
-                                16,
-                                15,
-                                25,
-                                35,
-                                45,
-                                55,
-                                54,
-                                53,
-                                43,
-                                33,
-                                23,
-                                13,
-                                3,
-                                2,
-                                1,
-                                11,
-                                21,
-                                31,
-                                30
-                        ],
-                        [
-                                79,
-                                78,
-                                77,
-                                67,
-                                57,
-                                47,
-                                37,
-                                27,
-                                17,
-                                16,
-                                15,
-                                25,
-                                35,
-                                45,
-                                55,
-                                54,
-                                53,
-                                43,
-                                33,
-                                23,
-                                13,
-                                3,
-                                2,
-                                1,
-                                11,
-                                21,
-                                31,
-                                30
-                        ]
-                ],
-                "EnemyJsonArr": [
-                        [
-                                30,
-                                79,
-                                1,
-                                1,
-                                1,
-                                10,
-                                30
-                        ]
-                ],
-                "AttackPositionArray": [
-                        12,
-                        26,
-                        44,
-                        68
-                ],
-                "Background": "map3"
-        },
-        "2": {
-                "Id": 1,
-                "RoldJsonArr": [
-                        [
-                                79,78,88,98,97,96,95,94,84,74,73,63,53,43,33,34,24,14,13,12,11,10,20,30,40
-                        ],
-                        [
-                                79,78,88,98,97,96,95,94,84,74,75,65,55,45,35,34,24,14,13,12,11,10,20,30,40
-                        ]
-                ],
-                "EnemyJsonArr": [
-                        [
-                                30,
-                                79,
-                                1,
-                                1,
-                                1,
-                                10,
-                                10
-                        ],
-                        [
-                                35,
-                                79,
-                                1,
-                                2,
-                                2,
-                                10,
-                                10
-                        ],
-                        [
-                                150,
-                                79,
-                                1,
-                                1,
-                                1,
-                                10,
-                                10
-                        ]
-                ],
-                "AttackPositionArray": [
-                        21,
-                        23,
-                        64,
-                        85,87
-                ],
-                "Background": "map2",
-                "OffsetArray":[0,-1]
-        }
-    };
-}
+        export const data = {
+            "1": {
+                    "Id": 1,
+                    "Name": 100001,
+                    "RoldJsonArr": [
+                            [
+                                    79,
+                                    78,
+                                    77,
+                                    67,
+                                    57,
+                                    47,
+                                    37,
+                                    27,
+                                    17,
+                                    16,
+                                    15,
+                                    25,
+                                    35,
+                                    45,
+                                    55,
+                                    54,
+                                    53,
+                                    43,
+                                    33,
+                                    23,
+                                    13,
+                                    3,
+                                    2,
+                                    1,
+                                    11,
+                                    21,
+                                    31,
+                                    30
+                            ],
+                            [
+                                    79,
+                                    78,
+                                    77,
+                                    67,
+                                    57,
+                                    47,
+                                    37,
+                                    27,
+                                    17,
+                                    16,
+                                    15,
+                                    25,
+                                    35,
+                                    45,
+                                    55,
+                                    54,
+                                    53,
+                                    43,
+                                    33,
+                                    23,
+                                    13,
+                                    3,
+                                    2,
+                                    1,
+                                    11,
+                                    21,
+                                    31,
+                                    30
+                            ]
+                    ],
+                    "EnemyJsonArr": [
+                            [
+                                    30,
+                                    79,
+                                    1,
+                                    1,
+                                    10,
+                                    5
+                            ],
+                            [
+                                    100,
+                                    79,
+                                    1,
+                                    1,
+                                    10,
+                                    5
+                            ]
+                    ],
+                    "AttackPositionArray": [
+                            12,
+                            26,
+                            44,
+                            68
+                    ],
+                    "Background": "map3",
+                    "DeliveryArray": [],
+                    "OffsetArray": [],
+                    "Endpos": 30,
+                    "NewReward": [
+                            [
+                                    "user",
+                                    "gold",
+                                    100
+                            ],
+                            [
+                                    "user",
+                                    "cash",
+                                    100
+                            ]
+                    ]
+            },
+            "2": {
+                    "Id": 2,
+                    "Name": 100002,
+                    "RoldJsonArr": [
+                            [
+                                    79,
+                                    78,
+                                    88,
+                                    98,
+                                    97,
+                                    96,
+                                    95,
+                                    94,
+                                    84,
+                                    74,
+                                    73,
+                                    63,
+                                    53,
+                                    43,
+                                    33,
+                                    34,
+                                    24,
+                                    14,
+                                    13,
+                                    12,
+                                    11,
+                                    10,
+                                    20,
+                                    30,
+                                    40
+                            ],
+                            [
+                                    79,
+                                    78,
+                                    88,
+                                    98,
+                                    97,
+                                    96,
+                                    95,
+                                    94,
+                                    84,
+                                    74,
+                                    75,
+                                    65,
+                                    55,
+                                    45,
+                                    35,
+                                    34,
+                                    24,
+                                    14,
+                                    13,
+                                    12,
+                                    11,
+                                    10,
+                                    20,
+                                    30,
+                                    40
+                            ]
+                    ],
+                    "EnemyJsonArr": [
+                            [
+                                    30,
+                                    79,
+                                    1,
+                                    1,
+                                    10,
+                                    10
+                            ],
+                            [
+                                    30,
+                                    79,
+                                    1,
+                                    2,
+                                    10,
+                                    10
+                            ],
+                            [
+                                    150,
+                                    79,
+                                    1,
+                                    1,
+                                    10,
+                                    10
+                            ],
+                            [
+                                    150,
+                                    79,
+                                    1,
+                                    2,
+                                    10,
+                                    10
+                            ]
+                    ],
+                    "AttackPositionArray": [
+                            21,
+                            23,
+                            64,
+                            85,
+                            87
+                    ],
+                    "Background": "map2",
+                    "DeliveryArray": [],
+                    "OffsetArray": [
+                            0,
+                            -1
+                    ],
+                    "Endpos": 30,
+                    "NewReward": [
+                            [
+                                    "user",
+                                    "gold",
+                                    100
+                            ],
+                            [
+                                    "user",
+                                    "cash",
+                                    100
+                            ]
+                    ]
+            }
+        };
+    }

+ 408 - 0
assets/script/game/ui/tower/conf/RoleConf.ts

@@ -0,0 +1,408 @@
+export namespace RoleConf {
+    export const data = {
+        "101": {
+                "Id": 101,
+                "Race": 1,
+                "Quantity": 1,
+                "Speed": 30,
+                "Damage": 1,
+                "Critical": 0.1,
+                "CriticalDamage": 1.4,
+                "Radius": 2.5,
+                "AttackType": 2,
+                "AttackTypeRadius": 0.8,
+                "SkillArray": [
+                        1,
+                        3
+                ],
+                "SkillBulletArray": [],
+                "ModelName": "npc001"
+        },
+        "102": {
+                "Id": 102,
+                "Race": 1,
+                "Quantity": 2,
+                "Speed": 30,
+                "Damage": 1,
+                "Critical": 0.1,
+                "CriticalDamage": 1.4,
+                "Radius": 2.5,
+                "AttackType": 1,
+                "AttackTypeRadius": 0,
+                "SkillArray": [],
+                "SkillBulletArray": [],
+                "ModelName": "npc002"
+        },
+        "103": {
+                "Id": 103,
+                "Race": 1,
+                "Quantity": 3,
+                "Speed": 30,
+                "Damage": 2,
+                "Critical": 0.1,
+                "CriticalDamage": 1.4,
+                "Radius": 2.5,
+                "AttackType": 1,
+                "AttackTypeRadius": 0,
+                "SkillArray": [
+                        2
+                ],
+                "SkillBulletArray": [],
+                "ModelName": "npc001"
+        },
+        "104": {
+                "Id": 104,
+                "Race": 1,
+                "Quantity": 4,
+                "Speed": 30,
+                "Damage": 2,
+                "Critical": 0.1,
+                "CriticalDamage": 1.4,
+                "Radius": 2.5,
+                "AttackType": 1,
+                "AttackTypeRadius": 0,
+                "SkillArray": [
+                        2
+                ],
+                "SkillBulletArray": [],
+                "ModelName": "npc001"
+        },
+        "105": {
+                "Id": 105,
+                "Race": 1,
+                "Quantity": 5,
+                "Speed": 30,
+                "Damage": 2,
+                "Critical": 0.1,
+                "CriticalDamage": 1.4,
+                "Radius": 2.5,
+                "AttackType": 1,
+                "AttackTypeRadius": 0,
+                "SkillArray": [
+                        2
+                ],
+                "SkillBulletArray": [],
+                "ModelName": "npc001"
+        },
+        "106": {
+                "Id": 106,
+                "Race": 1,
+                "Quantity": 6,
+                "Speed": 30,
+                "Damage": 2,
+                "Critical": 0.1,
+                "CriticalDamage": 1.4,
+                "Radius": 2.5,
+                "AttackType": 1,
+                "AttackTypeRadius": 0,
+                "SkillArray": [
+                        2
+                ],
+                "SkillBulletArray": [],
+                "ModelName": "npc001"
+        },
+        "201": {
+                "Id": 201,
+                "Race": 2,
+                "Quantity": 1,
+                "Speed": 30,
+                "Damage": 1,
+                "Critical": 0.1,
+                "CriticalDamage": 1.4,
+                "Radius": 2.5,
+                "AttackType": 2,
+                "AttackTypeRadius": 0.8,
+                "SkillArray": [
+                        1,
+                        3
+                ],
+                "SkillBulletArray": [],
+                "ModelName": "npc001"
+        },
+        "202": {
+                "Id": 202,
+                "Race": 2,
+                "Quantity": 2,
+                "Speed": 30,
+                "Damage": 1,
+                "Critical": 0.1,
+                "CriticalDamage": 1.4,
+                "Radius": 2.5,
+                "AttackType": 1,
+                "AttackTypeRadius": 0,
+                "SkillArray": [],
+                "SkillBulletArray": [],
+                "ModelName": "npc001"
+        },
+        "203": {
+                "Id": 203,
+                "Race": 2,
+                "Quantity": 3,
+                "Speed": 30,
+                "Damage": 2,
+                "Critical": 0.1,
+                "CriticalDamage": 1.4,
+                "Radius": 2.5,
+                "AttackType": 1,
+                "AttackTypeRadius": 0,
+                "SkillArray": [
+                        2
+                ],
+                "SkillBulletArray": [],
+                "ModelName": "npc001"
+        },
+        "204": {
+                "Id": 204,
+                "Race": 2,
+                "Quantity": 4,
+                "Speed": 30,
+                "Damage": 2,
+                "Critical": 0.1,
+                "CriticalDamage": 1.4,
+                "Radius": 2.5,
+                "AttackType": 1,
+                "AttackTypeRadius": 0,
+                "SkillArray": [
+                        2
+                ],
+                "SkillBulletArray": [],
+                "ModelName": "npc001"
+        },
+        "205": {
+                "Id": 205,
+                "Race": 2,
+                "Quantity": 5,
+                "Speed": 30,
+                "Damage": 2,
+                "Critical": 0.1,
+                "CriticalDamage": 1.4,
+                "Radius": 2.5,
+                "AttackType": 1,
+                "AttackTypeRadius": 0,
+                "SkillArray": [
+                        2
+                ],
+                "SkillBulletArray": [],
+                "ModelName": "npc001"
+        },
+        "206": {
+                "Id": 206,
+                "Race": 2,
+                "Quantity": 6,
+                "Speed": 30,
+                "Damage": 2,
+                "Critical": 0.1,
+                "CriticalDamage": 1.4,
+                "Radius": 2.5,
+                "AttackType": 1,
+                "AttackTypeRadius": 0,
+                "SkillArray": [
+                        2
+                ],
+                "SkillBulletArray": [],
+                "ModelName": "npc001"
+        },
+        "301": {
+                "Id": 301,
+                "Race": 3,
+                "Quantity": 1,
+                "Speed": 30,
+                "Damage": 1,
+                "Critical": 0.1,
+                "CriticalDamage": 1.4,
+                "Radius": 2.5,
+                "AttackType": 2,
+                "AttackTypeRadius": 0.8,
+                "SkillArray": [
+                        1,
+                        3
+                ],
+                "SkillBulletArray": [],
+                "ModelName": "npc001"
+        },
+        "302": {
+                "Id": 302,
+                "Race": 3,
+                "Quantity": 2,
+                "Speed": 30,
+                "Damage": 1,
+                "Critical": 0.1,
+                "CriticalDamage": 1.4,
+                "Radius": 2.5,
+                "AttackType": 1,
+                "AttackTypeRadius": 0,
+                "SkillArray": [],
+                "SkillBulletArray": [],
+                "ModelName": "npc001"
+        },
+        "303": {
+                "Id": 303,
+                "Race": 3,
+                "Quantity": 3,
+                "Speed": 30,
+                "Damage": 2,
+                "Critical": 0.1,
+                "CriticalDamage": 1.4,
+                "Radius": 2.5,
+                "AttackType": 1,
+                "AttackTypeRadius": 0,
+                "SkillArray": [
+                        2
+                ],
+                "SkillBulletArray": [],
+                "ModelName": "npc001"
+        },
+        "304": {
+                "Id": 304,
+                "Race": 3,
+                "Quantity": 4,
+                "Speed": 30,
+                "Damage": 2,
+                "Critical": 0.1,
+                "CriticalDamage": 1.4,
+                "Radius": 2.5,
+                "AttackType": 1,
+                "AttackTypeRadius": 0,
+                "SkillArray": [
+                        2
+                ],
+                "SkillBulletArray": [],
+                "ModelName": "npc001"
+        },
+        "305": {
+                "Id": 305,
+                "Race": 3,
+                "Quantity": 5,
+                "Speed": 30,
+                "Damage": 2,
+                "Critical": 0.1,
+                "CriticalDamage": 1.4,
+                "Radius": 2.5,
+                "AttackType": 1,
+                "AttackTypeRadius": 0,
+                "SkillArray": [
+                        2
+                ],
+                "SkillBulletArray": [],
+                "ModelName": "npc001"
+        },
+        "306": {
+                "Id": 306,
+                "Race": 3,
+                "Quantity": 6,
+                "Speed": 30,
+                "Damage": 2,
+                "Critical": 0.1,
+                "CriticalDamage": 1.4,
+                "Radius": 2.5,
+                "AttackType": 1,
+                "AttackTypeRadius": 0,
+                "SkillArray": [
+                        2
+                ],
+                "SkillBulletArray": [],
+                "ModelName": "npc001"
+        },
+        "401": {
+                "Id": 401,
+                "Race": 4,
+                "Quantity": 1,
+                "Speed": 30,
+                "Damage": 1,
+                "Critical": 0.1,
+                "CriticalDamage": 1.4,
+                "Radius": 2.5,
+                "AttackType": 2,
+                "AttackTypeRadius": 0.8,
+                "SkillArray": [
+                        1,
+                        3
+                ],
+                "SkillBulletArray": [],
+                "ModelName": "npc001"
+        },
+        "402": {
+                "Id": 402,
+                "Race": 4,
+                "Quantity": 2,
+                "Speed": 30,
+                "Damage": 1,
+                "Critical": 0.1,
+                "CriticalDamage": 1.4,
+                "Radius": 2.5,
+                "AttackType": 1,
+                "AttackTypeRadius": 0,
+                "SkillArray": [],
+                "SkillBulletArray": [],
+                "ModelName": "npc001"
+        },
+        "403": {
+                "Id": 403,
+                "Race": 4,
+                "Quantity": 3,
+                "Speed": 30,
+                "Damage": 2,
+                "Critical": 0.1,
+                "CriticalDamage": 1.4,
+                "Radius": 2.5,
+                "AttackType": 1,
+                "AttackTypeRadius": 0,
+                "SkillArray": [
+                        2
+                ],
+                "SkillBulletArray": [],
+                "ModelName": "npc001"
+        },
+        "404": {
+                "Id": 404,
+                "Race": 4,
+                "Quantity": 4,
+                "Speed": 30,
+                "Damage": 2,
+                "Critical": 0.1,
+                "CriticalDamage": 1.4,
+                "Radius": 2.5,
+                "AttackType": 1,
+                "AttackTypeRadius": 0,
+                "SkillArray": [
+                        2
+                ],
+                "SkillBulletArray": [],
+                "ModelName": "npc001"
+        },
+        "405": {
+                "Id": 405,
+                "Race": 4,
+                "Quantity": 5,
+                "Speed": 30,
+                "Damage": 2,
+                "Critical": 0.1,
+                "CriticalDamage": 1.4,
+                "Radius": 2.5,
+                "AttackType": 1,
+                "AttackTypeRadius": 0,
+                "SkillArray": [
+                        2
+                ],
+                "SkillBulletArray": [],
+                "ModelName": "npc001"
+        },
+        "406": {
+                "Id": 406,
+                "Race": 4,
+                "Quantity": 6,
+                "Speed": 30,
+                "Damage": 2,
+                "Critical": 0.1,
+                "CriticalDamage": 1.4,
+                "Radius": 2.5,
+                "AttackType": 1,
+                "AttackTypeRadius": 0,
+                "SkillArray": [
+                        2
+                ],
+                "SkillBulletArray": [],
+                "ModelName": "npc001"
+        }
+    };
+}

+ 9 - 0
assets/script/game/ui/tower/conf/RoleConf.ts.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "4.0.24",
+  "importer": "typescript",
+  "imported": true,
+  "uuid": "7d0982d1-2814-4f12-b6e9-2acd864a093b",
+  "files": [],
+  "subMetas": {},
+  "userData": {}
+}

+ 0 - 42
assets/script/game/ui/tower/conf/Uptype2Conf.ts

@@ -1,42 +0,0 @@
-export namespace Uptype2Conf {
-    export const data = {
-        "HeroAttackColArr": [
-                1.1,
-                2.1,
-                3.1,
-                4.1,
-                5.1,
-                6.1,
-                7.1,
-                8.1,
-                9.1,
-                10.1,
-                11.1,
-                12.1,
-                13.1,
-                14.1,
-                15.1,
-                16.1,
-                17.1
-        ],
-        "HeroSpeedColArr": [
-                0.8,
-                0.8,
-                1.8,
-                2.8,
-                3.8,
-                4.8,
-                5.8,
-                6.8,
-                7.8,
-                8.8,
-                9.8,
-                10.8,
-                11.8,
-                12.8,
-                13.8,
-                14.8,
-                15.8
-        ]
-    };
-}

+ 15 - 12
assets/script/game/ui/tower/conf/UptypeConf.ts

@@ -22,18 +22,21 @@ export namespace UptypeConf {
         "HeroSpeedColArr": [
                 0.8,
                 0.8,
-                1.1,
-                1.5,
-                2,
-                2,
-                2,
-                2,
-                2,
-                2,
-                2,
-                2,
-                2
-                
+                1.8,
+                2.8,
+                3.8,
+                4.8,
+                5.8,
+                6.8,
+                7.8,
+                8.8,
+                9.8,
+                10.8,
+                11.8,
+                12.8,
+                13.8,
+                14.8,
+                15.8
         ]
     };
 }

+ 9 - 4
assets/script/game/ui/tower/control/BattleControl.ts

@@ -33,7 +33,7 @@ export class BattleControl extends BattleBase{
     }
 
     //初始化
-    init(mapId:number){
+    init(battleID:number){
 
         this.battleEventManager = BattleEventManager.instance
         this.map = MapData.GetInstance()
@@ -42,7 +42,7 @@ export class BattleControl extends BattleBase{
         this.buffControl = new BuffControl()
 
 
-        this.map.init(mapId)
+        this.map.init(battleID)
         this.buffControl.init()
         this.heroControl.init()
         this.enemyControl.init()
@@ -57,9 +57,9 @@ export class BattleControl extends BattleBase{
         // this.map.battleEnd = true
     }
 
-    reset(mapId:number){
+    reset(battleID:number){
         this.clear()
-        this.map.reset(mapId)
+        this.map.reset(battleID)
         this.buffControl.init()
         this.heroControl.init()
         this.enemyControl.init()
@@ -105,6 +105,11 @@ export class BattleControl extends BattleBase{
         return this.map.typeID
     }
 
+    //敌人总血量
+    get allEnemyHP():number{
+        return this.map.allEnemyHP
+    }
+
     //初始化操作列表,服务器才用的
     // initAction(actionJson:string){
     //     let actionList = JSON.parse(actionJson)

+ 1 - 1
assets/script/game/ui/tower/control/EnemyControl.ts

@@ -30,7 +30,7 @@ export class EnemyControl extends BattleBase{
             return b.moveLength - a.moveLength
         })
         this.map.enemyDataList.forEach(enemy => {
-            
+            if(this.map.battleEnd) return
             //判断是否死亡  
             if(enemy.life <= 0){
                 let eventData:BattleEventData_EnemyDie = {

+ 4 - 4
assets/script/game/ui/tower/data/EnemyData.ts

@@ -6,7 +6,7 @@ import { BuffData } from "./BuffData";
 
 export class EnemyData extends DataBase{
 
-    level: number;
+    // level: number;
 
     //所属类型编号
     //行径
@@ -43,12 +43,12 @@ export class EnemyData extends DataBase{
 
     init(typeID: number,level:number,rold:Array<number>) {
         super._init();
-        this.level = level;
+        // this.level = level;
         this.typeID = typeID;
 
         let enemyConf = EnemyConf.data[typeID]
         if (enemyConf) {
-            this.lifeMax = enemyConf.Life;
+            this.lifeMax = enemyConf.Life * level;
             this.life = this.lifeMax;
             this.speed_30 = enemyConf.Speed;
             this._speedBase = this.speed_30 / BattleUtil.FrameRate;
@@ -160,7 +160,7 @@ export class EnemyData extends DataBase{
     clear() {
         //读表
         this.life = 0;
-        this.level = 1;
+        // this.level = 1;
         this.typeID = BattleUtil.TypeID_Init;
         this.posID = BattleUtil.PosID_Init;
         this.skillList = [];

+ 84 - 67
assets/script/game/ui/tower/data/MapData.ts

@@ -1,3 +1,5 @@
+import { BattlesConf } from "../conf/BattlesConf";
+import { EnemyConf } from "../conf/EnemyConf";
 import { MapConf } from "../conf/MapConf";
 import { BattleUtil } from "./BattleUtil";
 import { BuffData, BuffDataPool } from "./BuffData";
@@ -13,6 +15,23 @@ export interface PosData {
     pos: BattleUtil.Vector2
 }
 
+
+enum EnemyBornIndex{
+    //当前批次第一个出生时间
+    BornTime = 0,
+    //出生时格子
+    PosID,
+    //敌人类型
+    TypeID,
+    //行走路线
+    RoldID,
+    //出生数量
+    Count,
+    //间隔时间
+    Interval,
+    //强度
+    Level,
+}
 export interface EnemyBornData {
     
     bornTime: number,
@@ -26,8 +45,11 @@ export interface EnemyBornData {
 export class MapData {
     protected static instance:MapData;
 //-------------------配置数据----------------------
-    //所属类型编号
+    //所属类型编号 章节id
     typeID: number;
+    //关卡编号
+    battlesID: number;
+
     //地图格子数量,目前固定是10*10
     size:BattleUtil.Vector2;
     //每个格子大小
@@ -84,6 +106,9 @@ export class MapData {
 
     //操作列表  number表示帧数<turn,Array<BattleUtil.HeroDataChange>>
     actionMap:Map<number,Array<BattleUtil.HeroDataChange>> = new Map();
+
+    //关卡总血量 从1开始防止除0异常
+    allEnemyHP:number = 1;
     
     static GetInstance():MapData{
         if(!MapData.instance){
@@ -115,9 +140,8 @@ export class MapData {
         return this._battleEnd;
     }
     
-    init(typeID:number){
+    init(battlesID:number){
 
-        this.typeID = typeID;
         this.size = new BattleUtil.Vector2(10,10);
         //this.sizeUnit = new BattleUtil.Vector2(70,70);
         this.length = this.size.x*this.size.y;
@@ -125,64 +149,14 @@ export class MapData {
         for(let i = 0; i < this.length; i++){
             this.mapPosList.push(this.getPosition(i))
         }
-        // for(let i=0;i<this.length;i++){
-        //     this.pointList[i] = [];
-        // }
-
-        //读表
-        this.normalRold = MapConf.data[typeID.toString()].RoldJsonArr;
 
-        this.endPosition = this.normalRold[0][this.normalRold[0].length-1];
-        this.attackPosition = MapConf.data[typeID.toString()].AttackPositionArray;
-
-        let EnemyJsonArr = MapConf.data[typeID.toString()].EnemyJsonArr;
-        EnemyJsonArr.forEach((enemyObj)=>{
-            if(enemyObj.length < 7) return;
-            for(let j=0;j<enemyObj[5];j++){
-                let enemyBornData:EnemyBornData = {
-                    bornTime: enemyObj[0] + enemyObj[6]*j,
-                    positionID: enemyObj[1],
-                    typeID: enemyObj[2],
-                    level: enemyObj[3],
-                    roldID: enemyObj[4]
-                }
-                if(this.enemyBornMap.has(enemyBornData.bornTime)){
-                    this.enemyBornMap.get(enemyBornData.bornTime).push(enemyBornData);
-                }else{
-                    if(this.bornNeedTime < enemyBornData.bornTime){
-                        this.bornNeedTime = enemyBornData.bornTime;
-                    }
-                    this.enemyBornMap.set(enemyBornData.bornTime,[enemyBornData]);
-                }
-            }
-            
-        })
 
-        this.attackPosDataMap.clear()
-        this.attackPosition.forEach((v,k)=>{
-            //this.pointList[pos.x][pos.y] = 1;
-            let podID = Number(v)
-            let posData:PosData = {
-                hero: null,
-                posID: podID,
-                pos: this.getPosition(podID)
-            }
-
-
-            this.attackPosDataMap.set(v,posData);
-
-        })
-
-        this.curTurn = 0;
-        //游戏是否结束
-        this._battleEnd = false;
-        this._bWin = false;
+        this.reset(battlesID);
         
     }
 
-    reset(typeID:number){
+    reset(battlesID:number){
 
-        this.typeID = typeID;
 
         this.attackPosDataMap.clear();
         //所有存活的敌人
@@ -191,6 +165,7 @@ export class MapData {
         this.bulletList.splice(0,this.bulletList.length);
     
         this.buffMap.clear();
+        this.enemyBornMap.clear();
     
         
         //操作列表  number表示帧数
@@ -198,24 +173,38 @@ export class MapData {
         console.log("clear!")
 
 
+
+
         //读表
-        this.normalRold = MapConf.data[typeID.toString()].RoldJsonArr;
 
-        this.endPosition = this.normalRold[0][this.normalRold[0].length-1];
-        this.attackPosition = MapConf.data[typeID.toString()].AttackPositionArray;
+        this.battlesID = battlesID;
+        let battlesConf = BattlesConf.data[battlesID.toString()];
+        if(!battlesConf){
+            console.error("没有找到关卡配置表,请检查配置表是否正确")
+            return;
+        }
+        let typeID = battlesConf.Chapter;
+        this.typeID = typeID;
+        let mapConf = MapConf.data[typeID.toString()];
+       
+        this.normalRold = mapConf.RoldJsonArr;
 
-        this.enemyBornMap.clear();
-        let EnemyJsonArr = MapConf.data[typeID.toString()].EnemyJsonArr;
+        this.endPosition = this.normalRold[0][this.normalRold[0].length-1];
+        this.attackPosition = mapConf.AttackPositionArray;
+        
+        this.allEnemyHP = 1;
+        let EnemyJsonArr = mapConf.EnemyJsonArr;
         EnemyJsonArr.forEach((enemyObj)=>{
-            if(enemyObj.length < 7) return;
-            for(let j=0;j<enemyObj[5];j++){
+            for(let j=0;j<enemyObj[EnemyBornIndex.Count];j++){
                 let enemyBornData:EnemyBornData = {
-                    bornTime: enemyObj[0] + enemyObj[6]*j,
-                    positionID: enemyObj[1],
-                    typeID: enemyObj[2],
-                    level: enemyObj[3],
-                    roldID: enemyObj[4]
+                    bornTime: enemyObj[EnemyBornIndex.BornTime] + enemyObj[EnemyBornIndex.Interval]*j,
+                    positionID: enemyObj[EnemyBornIndex.PosID],
+                    typeID: enemyObj[EnemyBornIndex.TypeID],
+                    level: battlesConf.EnemyLevel,
+                    roldID: enemyObj[EnemyBornIndex.RoldID],
                 }
+
+                this.allEnemyHP += enemyBornData.level*EnemyConf.data[typeID].Life;
                 if(this.enemyBornMap.has(enemyBornData.bornTime)){
                     this.enemyBornMap.get(enemyBornData.bornTime).push(enemyBornData);
                 }else{
@@ -228,6 +217,34 @@ export class MapData {
             
         })
 
+        //初始化boss
+        let bossJsonArr = battlesConf.BossJsonArr;
+        if(bossJsonArr){
+            bossJsonArr.forEach((enemyObj)=>{
+                for(let j=0;j<enemyObj[EnemyBornIndex.Count];j++){
+                    let enemyBornData:EnemyBornData = {
+                        bornTime: enemyObj[EnemyBornIndex.BornTime] + enemyObj[EnemyBornIndex.Interval]*j,
+                        positionID: enemyObj[EnemyBornIndex.PosID],
+                        typeID: enemyObj[EnemyBornIndex.TypeID],
+                        level: enemyObj[EnemyBornIndex.Level],
+                        roldID: enemyObj[EnemyBornIndex.RoldID],
+                    }
+                    this.allEnemyHP += enemyBornData.level*EnemyConf.data[typeID].Life;
+                    if(this.enemyBornMap.has(enemyBornData.bornTime)){
+                        this.enemyBornMap.get(enemyBornData.bornTime).push(enemyBornData);
+                    }else{
+                        if(this.bornNeedTime < enemyBornData.bornTime){
+                            this.bornNeedTime = enemyBornData.bornTime;
+                        }
+                        this.enemyBornMap.set(enemyBornData.bornTime,[enemyBornData]);
+                    }
+                }
+                
+            })
+
+        }
+
+
         this.attackPosDataMap.clear()
         this.attackPosition.forEach((v,k)=>{
             //this.pointList[pos.x][pos.y] = 1;

+ 2 - 2
assets/script/game/ui/tower/node/Hero.ts

@@ -250,13 +250,13 @@ export class Hero extends BattleNodeBase {
     }
 
     actionCallback(trackEntry){
-         console.log("动作回调:",trackEntry.animation.name)
+        //  console.log("动作回调:",trackEntry.animation.name)
         if (trackEntry.animation.name && trackEntry.animation.name.includes("attack")) {
 
             // if (this._attackCallback) {
             //     this._attackCallback(trackEntry);
             // }
-            console.log("攻击动作完成:",trackEntry.animation.name)
+            // console.log("攻击动作完成:",trackEntry.animation.name)
             if(this.posID > BattleUtil.PosID_Init){
                 let eventData:BattleEventHeroAction = {
                     action: HeroActionType.Normal,

+ 2 - 2
settings/v2/packages/cocos-service.json

@@ -1,7 +1,7 @@
 {
-  "__version__": "3.0.5",
+  "__version__": "3.0.7",
   "game": {
-    "name": "UNKNOW GAME",
+    "name": "未知游戏",
     "app_id": "UNKNOW",
     "c_id": "0"
   },

+ 6 - 6
settings/v2/packages/information.json

@@ -4,19 +4,19 @@
     "customSplash": {
       "id": "customSplash",
       "label": "customSplash",
-      "enable": false,
+      "enable": true,
       "customSplash": {
-        "complete": false,
-        "form": "https://creator-api.cocos.com/api/form/show?"
+        "complete": true,
+        "form": "https://creator-api.cocos.com/api/form/show?sid=64af0cc22a249fc920fe3d48b9bcb783"
       }
     },
     "removeSplash": {
       "id": "removeSplash",
       "label": "removeSplash",
-      "enable": false,
+      "enable": true,
       "removeSplash": {
-        "complete": false,
-        "form": "https://creator-api.cocos.com/api/form/show?"
+        "complete": true,
+        "form": "https://creator-api.cocos.com/api/form/show?sid=64af0cc22a249fc920fe3d48b9bcb783"
       }
     }
   }

Nem az összes módosított fájl került megjelenítésre, mert túl sok fájl változott