Browse Source

能量配置更新

181404010226 3 tháng trước cách đây
mục cha
commit
4f8d58f533
91 tập tin đã thay đổi với 6411 bổ sung3258 xóa
  1. 152 0
      assets/resources/data/backups/levels/Level1_20250902_144918.json
  2. 1 1
      assets/resources/data/backups/levels/Level1_20250902_144918.json.meta
  3. 174 0
      assets/resources/data/backups/levels/Level1_20250902_151257.json
  4. 1 1
      assets/resources/data/backups/levels/Level1_20250902_151257.json.meta
  5. 174 0
      assets/resources/data/backups/levels/Level1_20250902_151400.json
  6. 1 1
      assets/resources/data/backups/levels/Level1_20250902_151400.json.meta
  7. 173 0
      assets/resources/data/backups/levels/Level1_20250902_160157.json
  8. 11 0
      assets/resources/data/backups/levels/Level1_20250902_160157.json.meta
  9. 152 0
      assets/resources/data/backups/levels/Level2_20250902_144918.json
  10. 11 0
      assets/resources/data/backups/levels/Level2_20250902_144918.json.meta
  11. 196 0
      assets/resources/data/backups/levels/Level2_20250902_151257.json
  12. 11 0
      assets/resources/data/backups/levels/Level2_20250902_151257.json.meta
  13. 196 0
      assets/resources/data/backups/levels/Level2_20250902_151400.json
  14. 11 0
      assets/resources/data/backups/levels/Level2_20250902_151400.json.meta
  15. 174 0
      assets/resources/data/backups/levels/Level2_20250902_160157.json
  16. 11 0
      assets/resources/data/backups/levels/Level2_20250902_160157.json.meta
  17. 95 0
      assets/resources/data/backups/levels/Level3_20250902_144918.json
  18. 11 0
      assets/resources/data/backups/levels/Level3_20250902_144918.json.meta
  19. 139 0
      assets/resources/data/backups/levels/Level3_20250902_151257.json
  20. 11 0
      assets/resources/data/backups/levels/Level3_20250902_151257.json.meta
  21. 139 0
      assets/resources/data/backups/levels/Level3_20250902_151400.json
  22. 11 0
      assets/resources/data/backups/levels/Level3_20250902_151400.json.meta
  23. 117 0
      assets/resources/data/backups/levels/Level3_20250902_160157.json
  24. 11 0
      assets/resources/data/backups/levels/Level3_20250902_160157.json.meta
  25. 99 0
      assets/resources/data/backups/levels/Level4_20250902_144918.json
  26. 11 0
      assets/resources/data/backups/levels/Level4_20250902_144918.json.meta
  27. 143 0
      assets/resources/data/backups/levels/Level4_20250902_151257.json
  28. 11 0
      assets/resources/data/backups/levels/Level4_20250902_151257.json.meta
  29. 143 0
      assets/resources/data/backups/levels/Level4_20250902_151400.json
  30. 11 0
      assets/resources/data/backups/levels/Level4_20250902_151400.json.meta
  31. 121 0
      assets/resources/data/backups/levels/Level4_20250902_160157.json
  32. 11 0
      assets/resources/data/backups/levels/Level4_20250902_160157.json.meta
  33. 99 0
      assets/resources/data/backups/levels/Level5_20250902_144918.json
  34. 11 0
      assets/resources/data/backups/levels/Level5_20250902_144918.json.meta
  35. 143 0
      assets/resources/data/backups/levels/Level5_20250902_151257.json
  36. 11 0
      assets/resources/data/backups/levels/Level5_20250902_151257.json.meta
  37. 143 0
      assets/resources/data/backups/levels/Level5_20250902_151400.json
  38. 11 0
      assets/resources/data/backups/levels/Level5_20250902_151400.json.meta
  39. 121 0
      assets/resources/data/backups/levels/Level5_20250902_160157.json
  40. 11 0
      assets/resources/data/backups/levels/Level5_20250902_160157.json.meta
  41. 99 0
      assets/resources/data/backups/levels/Level6_20250902_144918.json
  42. 11 0
      assets/resources/data/backups/levels/Level6_20250902_144918.json.meta
  43. 143 0
      assets/resources/data/backups/levels/Level6_20250902_151257.json
  44. 11 0
      assets/resources/data/backups/levels/Level6_20250902_151257.json.meta
  45. 143 0
      assets/resources/data/backups/levels/Level6_20250902_151400.json
  46. 11 0
      assets/resources/data/backups/levels/Level6_20250902_151400.json.meta
  47. 121 0
      assets/resources/data/backups/levels/Level6_20250902_160157.json
  48. 11 0
      assets/resources/data/backups/levels/Level6_20250902_160157.json.meta
  49. 111 0
      assets/resources/data/backups/levels/Level7_20250902_144918.json
  50. 11 0
      assets/resources/data/backups/levels/Level7_20250902_144918.json.meta
  51. 155 0
      assets/resources/data/backups/levels/Level7_20250902_151257.json
  52. 11 0
      assets/resources/data/backups/levels/Level7_20250902_151257.json.meta
  53. 155 0
      assets/resources/data/backups/levels/Level7_20250902_151400.json
  54. 11 0
      assets/resources/data/backups/levels/Level7_20250902_151400.json.meta
  55. 133 0
      assets/resources/data/backups/levels/Level7_20250902_160157.json
  56. 11 0
      assets/resources/data/backups/levels/Level7_20250902_160157.json.meta
  57. 132 0
      assets/resources/data/backups/levels/Level8_20250902_144918.json
  58. 11 0
      assets/resources/data/backups/levels/Level8_20250902_144918.json.meta
  59. 176 0
      assets/resources/data/backups/levels/Level8_20250902_151257.json
  60. 11 0
      assets/resources/data/backups/levels/Level8_20250902_151257.json.meta
  61. 176 0
      assets/resources/data/backups/levels/Level8_20250902_151400.json
  62. 11 0
      assets/resources/data/backups/levels/Level8_20250902_151400.json.meta
  63. 154 0
      assets/resources/data/backups/levels/Level8_20250902_160157.json
  64. 11 0
      assets/resources/data/backups/levels/Level8_20250902_160157.json.meta
  65. 152 0
      assets/resources/data/backups/levels/Level9_20250902_144918.json
  66. 11 0
      assets/resources/data/backups/levels/Level9_20250902_144918.json.meta
  67. 196 0
      assets/resources/data/backups/levels/Level9_20250902_151257.json
  68. 11 0
      assets/resources/data/backups/levels/Level9_20250902_151257.json.meta
  69. 196 0
      assets/resources/data/backups/levels/Level9_20250902_151400.json
  70. 11 0
      assets/resources/data/backups/levels/Level9_20250902_151400.json.meta
  71. 174 0
      assets/resources/data/backups/levels/Level9_20250902_160157.json
  72. 11 0
      assets/resources/data/backups/levels/Level9_20250902_160157.json.meta
  73. 8 8
      assets/resources/data/enemies.json
  74. 0 1066
      assets/resources/data/enemies_backup_20250828_185624.json
  75. 0 1066
      assets/resources/data/enemies_backup_20250828_191627.json
  76. 0 1066
      assets/resources/data/enemies_backup_20250901_165404.json
  77. 62 15
      assets/resources/data/excel/level_config_manager.py
  78. BIN
      assets/resources/data/excel/关卡配置/关卡配置表.xlsx
  79. BIN
      assets/resources/data/excel/敌人配置表.xlsx
  80. 22 1
      assets/resources/data/levels/Level1.json
  81. 23 1
      assets/resources/data/levels/Level2.json
  82. 23 1
      assets/resources/data/levels/Level3.json
  83. 23 1
      assets/resources/data/levels/Level4.json
  84. 23 1
      assets/resources/data/levels/Level5.json
  85. 23 1
      assets/resources/data/levels/Level6.json
  86. 23 1
      assets/resources/data/levels/Level7.json
  87. 23 1
      assets/resources/data/levels/Level8.json
  88. 23 1
      assets/resources/data/levels/Level9.json
  89. 107 25
      assets/scripts/LevelSystem/IN_game.ts
  90. 181 0
      test_energy_system.js
  91. 172 0
      verify_energy_config.py

+ 152 - 0
assets/resources/data/backups/levels/Level1_20250902_144918.json

@@ -0,0 +1,152 @@
+{
+  "levelId": "Level1",
+  "name": "新手关卡(草地平原)",
+  "scene": "grassland",
+  "description": "新手引导关卡,学习基础塔防玩法",
+  "backgroundImage": "images/LevelBackground/BG1",
+  "availableWeapons": [
+    "毛豆射手",
+    "尖胡萝卜",
+    "锯齿草",
+    "西瓜炸弹"
+  ],
+  "coinReward": 300,
+  "diamondReward": 20,
+  "initialCoins": 45,
+  "timeLimit": 300,
+  "difficulty": "normal",
+  "healthMultiplier": 1.0,
+  "waves": [
+    {
+      "waveId": 1,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 10,
+          "spawnInterval": 2.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 5,
+          "spawnInterval": 2.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        }
+      ]
+    },
+    {
+      "waveId": 2,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 20,
+          "spawnInterval": 1.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 8,
+          "spawnInterval": 2.0,
+          "spawnDelay": 0.0,
+          "characteristics": "高生命, 慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 3,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 30,
+          "spawnInterval": 1.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 20,
+          "spawnInterval": 1.5,
+          "spawnDelay": 0.0,
+          "characteristics": "高生命, 慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 4,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 40,
+          "spawnInterval": 1.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 30,
+          "spawnInterval": 1.0,
+          "spawnDelay": 10.0,
+          "characteristics": "中速移动, 无技能"
+        }
+      ]
+    },
+    {
+      "waveId": 5,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 60,
+          "spawnInterval": 0.5,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "mage_zombie",
+          "count": 10,
+          "spawnInterval": 3.0,
+          "spawnDelay": 0.0,
+          "characteristics": "远程魔法攻击, 中等生命"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 40,
+          "spawnInterval": 0.8,
+          "spawnDelay": 0.0,
+          "characteristics": "高生命, 慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 6,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 60,
+          "spawnInterval": 0.5,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 60,
+          "spawnInterval": 0.5,
+          "spawnDelay": 0.0,
+          "characteristics": "高生命, 慢速移动"
+        },
+        {
+          "enemyType": "boss1_gatekeeper",
+          "count": 1,
+          "spawnInterval": 1.5,
+          "spawnDelay": 20.0,
+          "characteristics": "超高生命, 多种攻击方式, 召唤小怪"
+        }
+      ]
+    }
+  ],
+  "levelSettings": {
+    "energyMax": 5
+  }
+}

+ 1 - 1
assets/resources/data/enemies_backup_20250901_165404.json.meta → assets/resources/data/backups/levels/Level1_20250902_144918.json.meta

@@ -2,7 +2,7 @@
   "ver": "2.0.1",
   "importer": "json",
   "imported": true,
-  "uuid": "778745c4-c46e-43e0-b49d-5925680c862d",
+  "uuid": "5d431d2e-382a-4459-98ad-61f90d56b3b7",
   "files": [
     ".json"
   ],

+ 174 - 0
assets/resources/data/backups/levels/Level1_20250902_151257.json

@@ -0,0 +1,174 @@
+{
+  "levelId": "Level1",
+  "name": "新手关卡(草地平原)",
+  "scene": "grassland",
+  "description": "新手引导关卡,学习基础塔防玩法",
+  "backgroundImage": "images/LevelBackground/BG1",
+  "availableWeapons": [
+    "毛豆射手",
+    "尖胡萝卜",
+    "锯齿草",
+    "西瓜炸弹"
+  ],
+  "coinReward": 300,
+  "diamondReward": 20,
+  "initialCoins": 45,
+  "timeLimit": 300,
+  "difficulty": "normal",
+  "healthMultiplier": 1.0,
+  "waves": [
+    {
+      "waveId": 1,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 10,
+          "spawnInterval": 2.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 5,
+          "spawnInterval": 2.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        }
+      ]
+    },
+    {
+      "waveId": 2,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 20,
+          "spawnInterval": 1.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 8,
+          "spawnInterval": 2.0,
+          "spawnDelay": 0.0,
+          "characteristics": "高生命, 慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 3,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 30,
+          "spawnInterval": 1.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 20,
+          "spawnInterval": 1.5,
+          "spawnDelay": 0.0,
+          "characteristics": "高生命, 慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 4,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 40,
+          "spawnInterval": 1.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 30,
+          "spawnInterval": 1.0,
+          "spawnDelay": 10.0,
+          "characteristics": "中速移动, 无技能"
+        }
+      ]
+    },
+    {
+      "waveId": 5,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 60,
+          "spawnInterval": 0.5,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "mage_zombie",
+          "count": 10,
+          "spawnInterval": 3.0,
+          "spawnDelay": 0.0,
+          "characteristics": "远程魔法攻击, 中等生命"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 40,
+          "spawnInterval": 0.8,
+          "spawnDelay": 0.0,
+          "characteristics": "高生命, 慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 6,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 60,
+          "spawnInterval": 0.5,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 60,
+          "spawnInterval": 0.5,
+          "spawnDelay": 0.0,
+          "characteristics": "高生命, 慢速移动"
+        },
+        {
+          "enemyType": "boss1_gatekeeper",
+          "count": 1,
+          "spawnInterval": 1.5,
+          "spawnDelay": 20.0,
+          "characteristics": "超高生命, 多种攻击方式, 召唤小怪"
+        }
+      ]
+    }
+  ],
+  "levelSettings": {
+
+    "energyMaxUpgrades": [
+      6,
+      7,
+      8,
+      9,
+      10,
+      11,
+      12,
+      13,
+      14,
+      15,
+      16,
+      17,
+      18,
+      19,
+      20,
+      21,
+      22,
+      23,
+      24,
+      25
+    ]
+  }
+}

+ 1 - 1
assets/resources/data/enemies_backup_20250828_185624.json.meta → assets/resources/data/backups/levels/Level1_20250902_151257.json.meta

@@ -2,7 +2,7 @@
   "ver": "2.0.1",
   "importer": "json",
   "imported": true,
-  "uuid": "9967b386-08a1-4c82-bf48-8e7d945654b9",
+  "uuid": "2abaf44b-0d04-43f9-acf7-4202be41621e",
   "files": [
     ".json"
   ],

+ 174 - 0
assets/resources/data/backups/levels/Level1_20250902_151400.json

@@ -0,0 +1,174 @@
+{
+  "levelId": "Level1",
+  "name": "新手关卡(草地平原)",
+  "scene": "grassland",
+  "description": "新手引导关卡,学习基础塔防玩法",
+  "backgroundImage": "images/LevelBackground/BG1",
+  "availableWeapons": [
+    "毛豆射手",
+    "尖胡萝卜",
+    "锯齿草",
+    "西瓜炸弹"
+  ],
+  "coinReward": 300,
+  "diamondReward": 20,
+  "initialCoins": 45,
+  "timeLimit": 300,
+  "difficulty": "normal",
+  "healthMultiplier": 1.0,
+  "waves": [
+    {
+      "waveId": 1,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 10,
+          "spawnInterval": 2.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 5,
+          "spawnInterval": 2.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        }
+      ]
+    },
+    {
+      "waveId": 2,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 20,
+          "spawnInterval": 1.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 8,
+          "spawnInterval": 2.0,
+          "spawnDelay": 0.0,
+          "characteristics": "高生命, 慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 3,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 30,
+          "spawnInterval": 1.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 20,
+          "spawnInterval": 1.5,
+          "spawnDelay": 0.0,
+          "characteristics": "高生命, 慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 4,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 40,
+          "spawnInterval": 1.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 30,
+          "spawnInterval": 1.0,
+          "spawnDelay": 10.0,
+          "characteristics": "中速移动, 无技能"
+        }
+      ]
+    },
+    {
+      "waveId": 5,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 60,
+          "spawnInterval": 0.5,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "mage_zombie",
+          "count": 10,
+          "spawnInterval": 3.0,
+          "spawnDelay": 0.0,
+          "characteristics": "远程魔法攻击, 中等生命"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 40,
+          "spawnInterval": 0.8,
+          "spawnDelay": 0.0,
+          "characteristics": "高生命, 慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 6,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 60,
+          "spawnInterval": 0.5,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 60,
+          "spawnInterval": 0.5,
+          "spawnDelay": 0.0,
+          "characteristics": "高生命, 慢速移动"
+        },
+        {
+          "enemyType": "boss1_gatekeeper",
+          "count": 1,
+          "spawnInterval": 1.5,
+          "spawnDelay": 20.0,
+          "characteristics": "超高生命, 多种攻击方式, 召唤小怪"
+        }
+      ]
+    }
+  ],
+  "levelSettings": {
+    "energyMaxUpgrades": [
+      6,
+      7,
+      8,
+      9,
+      10,
+      11,
+      12,
+      13,
+      14,
+      15,
+      16,
+      17,
+      18,
+      19,
+      20,
+      21,
+      22,
+      23,
+      24,
+      25
+    ],
+    "energyMax": 5
+  }
+}

+ 1 - 1
assets/resources/data/enemies_backup_20250828_191627.json.meta → assets/resources/data/backups/levels/Level1_20250902_151400.json.meta

@@ -2,7 +2,7 @@
   "ver": "2.0.1",
   "importer": "json",
   "imported": true,
-  "uuid": "98fafd80-24fb-423e-8cdf-1168ff5b1f51",
+  "uuid": "c889b325-9046-44eb-8768-090386d98453",
   "files": [
     ".json"
   ],

+ 173 - 0
assets/resources/data/backups/levels/Level1_20250902_160157.json

@@ -0,0 +1,173 @@
+{
+  "levelId": "Level1",
+  "name": "新手关卡(草地平原)",
+  "scene": "grassland",
+  "description": "新手引导关卡,学习基础塔防玩法",
+  "backgroundImage": "images/LevelBackground/BG1",
+  "availableWeapons": [
+    "毛豆射手",
+    "尖胡萝卜",
+    "锯齿草",
+    "西瓜炸弹"
+  ],
+  "coinReward": 300,
+  "diamondReward": 20,
+  "initialCoins": 45,
+  "timeLimit": 300,
+  "difficulty": "normal",
+  "healthMultiplier": 1.0,
+  "waves": [
+    {
+      "waveId": 1,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 10,
+          "spawnInterval": 2.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 5,
+          "spawnInterval": 2.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        }
+      ]
+    },
+    {
+      "waveId": 2,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 20,
+          "spawnInterval": 1.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 8,
+          "spawnInterval": 2.0,
+          "spawnDelay": 0.0,
+          "characteristics": "高生命, 慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 3,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 30,
+          "spawnInterval": 1.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 20,
+          "spawnInterval": 1.5,
+          "spawnDelay": 0.0,
+          "characteristics": "高生命, 慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 4,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 40,
+          "spawnInterval": 1.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 30,
+          "spawnInterval": 1.0,
+          "spawnDelay": 10.0,
+          "characteristics": "中速移动, 无技能"
+        }
+      ]
+    },
+    {
+      "waveId": 5,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 60,
+          "spawnInterval": 0.5,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "mage_zombie",
+          "count": 10,
+          "spawnInterval": 3.0,
+          "spawnDelay": 0.0,
+          "characteristics": "远程魔法攻击, 中等生命"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 40,
+          "spawnInterval": 0.8,
+          "spawnDelay": 0.0,
+          "characteristics": "高生命, 慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 6,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 60,
+          "spawnInterval": 0.5,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 60,
+          "spawnInterval": 0.5,
+          "spawnDelay": 0.0,
+          "characteristics": "高生命, 慢速移动"
+        },
+        {
+          "enemyType": "boss1_gatekeeper",
+          "count": 1,
+          "spawnInterval": 1.5,
+          "spawnDelay": 20.0,
+          "characteristics": "超高生命, 多种攻击方式, 召唤小怪"
+        }
+      ]
+    }
+  ],
+  "levelSettings": {
+    "energyMaxUpgrades": [
+      6,
+      7,
+      8,
+      9,
+      10,
+      11,
+      12,
+      13,
+      14,
+      15,
+      16,
+      17,
+      18,
+      19,
+      20,
+      21,
+      22,
+      23,
+      24,
+      25
+    ]
+  }
+}

+ 11 - 0
assets/resources/data/backups/levels/Level1_20250902_160157.json.meta

@@ -0,0 +1,11 @@
+{
+  "ver": "2.0.1",
+  "importer": "json",
+  "imported": true,
+  "uuid": "7cc35ed1-f03e-4e41-9f01-dbfbd6ef7897",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

+ 152 - 0
assets/resources/data/backups/levels/Level2_20250902_144918.json

@@ -0,0 +1,152 @@
+{
+  "levelId": "Level2",
+  "name": "丛林冒险(森林场景)",
+  "scene": "forest",
+  "description": "森林场景的塔防挑战,引入新的敌人类型和武器组合",
+  "backgroundImage": "images/LevelBackground/BG2",
+  "availableWeapons": [
+    "毛豆射手",
+    "尖胡萝卜",
+    "锯齿草",
+    "西瓜炸弹"
+  ],
+  "coinReward": 500,
+  "diamondReward": 30,
+  "initialCoins": 45,
+  "timeLimit": 300,
+  "difficulty": "normal",
+  "healthMultiplier": 1.2,
+  "waves": [
+    {
+      "waveId": 1,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 10,
+          "spawnInterval": 2.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 5,
+          "spawnInterval": 2.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        }
+      ]
+    },
+    {
+      "waveId": 2,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 20,
+          "spawnInterval": 1.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 8,
+          "spawnInterval": 2.0,
+          "spawnDelay": 0.0,
+          "characteristics": "高生命, 慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 3,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 30,
+          "spawnInterval": 1.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 20,
+          "spawnInterval": 1.5,
+          "spawnDelay": 0.0,
+          "characteristics": "高生命, 慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 4,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 40,
+          "spawnInterval": 1.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 30,
+          "spawnInterval": 1.0,
+          "spawnDelay": 10.0,
+          "characteristics": "中速移动, 无技能"
+        }
+      ]
+    },
+    {
+      "waveId": 5,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 60,
+          "spawnInterval": 0.5,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "mage_zombie",
+          "count": 10,
+          "spawnInterval": 3.0,
+          "spawnDelay": 0.0,
+          "characteristics": "远程魔法攻击, 中等生命"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 40,
+          "spawnInterval": 0.8,
+          "spawnDelay": 0.0,
+          "characteristics": "高生命, 慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 6,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 60,
+          "spawnInterval": 0.5,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 60,
+          "spawnInterval": 0.5,
+          "spawnDelay": 0.0,
+          "characteristics": "高生命, 慢速移动"
+        },
+        {
+          "enemyType": "boss1_gatekeeper",
+          "count": 1,
+          "spawnInterval": 1.5,
+          "spawnDelay": 20.0,
+          "characteristics": "超高生命, 多种攻击方式, 召唤小怪"
+        }
+      ]
+    }
+  ],
+  "levelSettings": {
+    "energyMax": 5
+  }
+}

+ 11 - 0
assets/resources/data/backups/levels/Level2_20250902_144918.json.meta

@@ -0,0 +1,11 @@
+{
+  "ver": "2.0.1",
+  "importer": "json",
+  "imported": true,
+  "uuid": "4d4e3c70-4179-4491-b76b-280df9b095dc",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

+ 196 - 0
assets/resources/data/backups/levels/Level2_20250902_151257.json

@@ -0,0 +1,196 @@
+{
+  "levelId": "Level2",
+  "name": "丛林冒险(森林场景)",
+  "scene": "forest",
+  "description": "森林场景的塔防挑战,引入新的敌人类型和武器组合",
+  "backgroundImage": "images/LevelBackground/BG2",
+  "availableWeapons": [
+    "毛豆射手",
+    "尖胡萝卜",
+    "锯齿草",
+    "西瓜炸弹"
+  ],
+  "coinReward": 500,
+  "diamondReward": 30,
+  "initialCoins": 45,
+  "timeLimit": 300,
+  "difficulty": "normal",
+  "healthMultiplier": 1.2,
+  "waves": [
+    {
+      "waveId": 1,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 10,
+          "spawnInterval": 2.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 5,
+          "spawnInterval": 2.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        }
+      ]
+    },
+    {
+      "waveId": 2,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 20,
+          "spawnInterval": 1.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 8,
+          "spawnInterval": 2.0,
+          "spawnDelay": 0.0,
+          "characteristics": "高生命, 慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 3,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 30,
+          "spawnInterval": 1.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 20,
+          "spawnInterval": 1.5,
+          "spawnDelay": 0.0,
+          "characteristics": "高生命, 慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 4,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 40,
+          "spawnInterval": 1.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 30,
+          "spawnInterval": 1.0,
+          "spawnDelay": 10.0,
+          "characteristics": "中速移动, 无技能"
+        }
+      ]
+    },
+    {
+      "waveId": 5,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 60,
+          "spawnInterval": 0.5,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "mage_zombie",
+          "count": 10,
+          "spawnInterval": 3.0,
+          "spawnDelay": 0.0,
+          "characteristics": "远程魔法攻击, 中等生命"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 40,
+          "spawnInterval": 0.8,
+          "spawnDelay": 0.0,
+          "characteristics": "高生命, 慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 6,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 60,
+          "spawnInterval": 0.5,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 60,
+          "spawnInterval": 0.5,
+          "spawnDelay": 0.0,
+          "characteristics": "高生命, 慢速移动"
+        },
+        {
+          "enemyType": "boss1_gatekeeper",
+          "count": 1,
+          "spawnInterval": 1.5,
+          "spawnDelay": 20.0,
+          "characteristics": "超高生命, 多种攻击方式, 召唤小怪"
+        }
+      ]
+    }
+  ],
+  "levelSettings": {
+    "energyMax": 5,
+    "energyExpValues": [
+      10,
+      15,
+      20,
+      25,
+      30,
+      35,
+      40,
+      45,
+      50,
+      55,
+      60,
+      65,
+      70,
+      75,
+      80,
+      85,
+      90,
+      95,
+      100,
+      105
+    ],
+    "energyMaxUpgrades": [
+      6,
+      7,
+      8,
+      9,
+      10,
+      11,
+      12,
+      13,
+      14,
+      15,
+      16,
+      17,
+      18,
+      19,
+      20,
+      21,
+      22,
+      23,
+      24,
+      25
+    ]
+  }
+}

+ 11 - 0
assets/resources/data/backups/levels/Level2_20250902_151257.json.meta

@@ -0,0 +1,11 @@
+{
+  "ver": "2.0.1",
+  "importer": "json",
+  "imported": true,
+  "uuid": "e70f1385-919a-4ab1-9a0f-58147a865d21",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

+ 196 - 0
assets/resources/data/backups/levels/Level2_20250902_151400.json

@@ -0,0 +1,196 @@
+{
+  "levelId": "Level2",
+  "name": "丛林冒险(森林场景)",
+  "scene": "forest",
+  "description": "森林场景的塔防挑战,引入新的敌人类型和武器组合",
+  "backgroundImage": "images/LevelBackground/BG2",
+  "availableWeapons": [
+    "毛豆射手",
+    "尖胡萝卜",
+    "锯齿草",
+    "西瓜炸弹"
+  ],
+  "coinReward": 500,
+  "diamondReward": 30,
+  "initialCoins": 45,
+  "timeLimit": 300,
+  "difficulty": "normal",
+  "healthMultiplier": 1.2,
+  "waves": [
+    {
+      "waveId": 1,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 10,
+          "spawnInterval": 2.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 5,
+          "spawnInterval": 2.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        }
+      ]
+    },
+    {
+      "waveId": 2,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 20,
+          "spawnInterval": 1.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 8,
+          "spawnInterval": 2.0,
+          "spawnDelay": 0.0,
+          "characteristics": "高生命, 慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 3,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 30,
+          "spawnInterval": 1.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 20,
+          "spawnInterval": 1.5,
+          "spawnDelay": 0.0,
+          "characteristics": "高生命, 慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 4,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 40,
+          "spawnInterval": 1.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 30,
+          "spawnInterval": 1.0,
+          "spawnDelay": 10.0,
+          "characteristics": "中速移动, 无技能"
+        }
+      ]
+    },
+    {
+      "waveId": 5,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 60,
+          "spawnInterval": 0.5,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "mage_zombie",
+          "count": 10,
+          "spawnInterval": 3.0,
+          "spawnDelay": 0.0,
+          "characteristics": "远程魔法攻击, 中等生命"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 40,
+          "spawnInterval": 0.8,
+          "spawnDelay": 0.0,
+          "characteristics": "高生命, 慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 6,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 60,
+          "spawnInterval": 0.5,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 60,
+          "spawnInterval": 0.5,
+          "spawnDelay": 0.0,
+          "characteristics": "高生命, 慢速移动"
+        },
+        {
+          "enemyType": "boss1_gatekeeper",
+          "count": 1,
+          "spawnInterval": 1.5,
+          "spawnDelay": 20.0,
+          "characteristics": "超高生命, 多种攻击方式, 召唤小怪"
+        }
+      ]
+    }
+  ],
+  "levelSettings": {
+    "energyMax": 5,
+    "energyExpValues": [
+      10,
+      15,
+      20,
+      25,
+      30,
+      35,
+      40,
+      45,
+      50,
+      55,
+      60,
+      65,
+      70,
+      75,
+      80,
+      85,
+      90,
+      95,
+      100,
+      105
+    ],
+    "energyMaxUpgrades": [
+      6,
+      7,
+      8,
+      9,
+      10,
+      11,
+      12,
+      13,
+      14,
+      15,
+      16,
+      17,
+      18,
+      19,
+      20,
+      21,
+      22,
+      23,
+      24,
+      25
+    ]
+  }
+}

+ 11 - 0
assets/resources/data/backups/levels/Level2_20250902_151400.json.meta

@@ -0,0 +1,11 @@
+{
+  "ver": "2.0.1",
+  "importer": "json",
+  "imported": true,
+  "uuid": "5bbdc0c5-755f-460b-81b1-c6219ab59c2c",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

+ 174 - 0
assets/resources/data/backups/levels/Level2_20250902_160157.json

@@ -0,0 +1,174 @@
+{
+  "levelId": "Level2",
+  "name": "丛林冒险(森林场景)",
+  "scene": "forest",
+  "description": "森林场景的塔防挑战,引入新的敌人类型和武器组合",
+  "backgroundImage": "images/LevelBackground/BG2",
+  "availableWeapons": [
+    "毛豆射手",
+    "尖胡萝卜",
+    "锯齿草",
+    "西瓜炸弹"
+  ],
+  "coinReward": 500,
+  "diamondReward": 30,
+  "initialCoins": 45,
+  "timeLimit": 300,
+  "difficulty": "normal",
+  "healthMultiplier": 1.2,
+  "waves": [
+    {
+      "waveId": 1,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 10,
+          "spawnInterval": 2.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 5,
+          "spawnInterval": 2.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        }
+      ]
+    },
+    {
+      "waveId": 2,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 20,
+          "spawnInterval": 1.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 8,
+          "spawnInterval": 2.0,
+          "spawnDelay": 0.0,
+          "characteristics": "高生命, 慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 3,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 30,
+          "spawnInterval": 1.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 20,
+          "spawnInterval": 1.5,
+          "spawnDelay": 0.0,
+          "characteristics": "高生命, 慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 4,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 40,
+          "spawnInterval": 1.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 30,
+          "spawnInterval": 1.0,
+          "spawnDelay": 10.0,
+          "characteristics": "中速移动, 无技能"
+        }
+      ]
+    },
+    {
+      "waveId": 5,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 60,
+          "spawnInterval": 0.5,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "mage_zombie",
+          "count": 10,
+          "spawnInterval": 3.0,
+          "spawnDelay": 0.0,
+          "characteristics": "远程魔法攻击, 中等生命"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 40,
+          "spawnInterval": 0.8,
+          "spawnDelay": 0.0,
+          "characteristics": "高生命, 慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 6,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 60,
+          "spawnInterval": 0.5,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 60,
+          "spawnInterval": 0.5,
+          "spawnDelay": 0.0,
+          "characteristics": "高生命, 慢速移动"
+        },
+        {
+          "enemyType": "boss1_gatekeeper",
+          "count": 1,
+          "spawnInterval": 1.5,
+          "spawnDelay": 20.0,
+          "characteristics": "超高生命, 多种攻击方式, 召唤小怪"
+        }
+      ]
+    }
+  ],
+  "levelSettings": {
+    "energyMax": 5,
+    "energyMaxUpgrades": [
+      6,
+      7,
+      8,
+      9,
+      10,
+      11,
+      12,
+      13,
+      14,
+      15,
+      16,
+      17,
+      18,
+      19,
+      20,
+      21,
+      22,
+      23,
+      24,
+      25
+    ]
+  }
+}

+ 11 - 0
assets/resources/data/backups/levels/Level2_20250902_160157.json.meta

@@ -0,0 +1,11 @@
+{
+  "ver": "2.0.1",
+  "importer": "json",
+  "imported": true,
+  "uuid": "654690ba-685a-42e3-8b17-c7c1792ffee3",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

+ 95 - 0
assets/resources/data/backups/levels/Level3_20250902_144918.json

@@ -0,0 +1,95 @@
+{
+  "levelId": "Level3",
+  "name": "魔法废墟(魔幻场景)",
+  "scene": "magic_ruins",
+  "description": "魔幻场景的塔防挑战,引入远程攻击敌人和隐身机制",
+  "backgroundImage": "images/LevelBackground/BG3",
+  "availableWeapons": [
+    "毛豆射手",
+    "尖胡萝卜",
+    "锯齿草",
+    "西瓜炸弹"
+  ],
+  "coinReward": 800,
+  "diamondReward": 50,
+  "initialCoins": 45,
+  "timeLimit": 300,
+  "difficulty": "normal",
+  "healthMultiplier": 1.4,
+  "waves": [
+    {
+      "waveId": 1,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 12,
+          "spawnInterval": 2.5,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "mage_zombie",
+          "count": 3,
+          "spawnInterval": 8.0,
+          "spawnDelay": 15.0,
+          "characteristics": "远程魔法攻击, 中等生命"
+        }
+      ]
+    },
+    {
+      "waveId": 2,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 10,
+          "spawnInterval": 2.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 4,
+          "spawnInterval": 6.0,
+          "spawnDelay": 8.0,
+          "characteristics": "高生命, 慢速移动"
+        },
+        {
+          "enemyType": "mage_zombie",
+          "count": 4,
+          "spawnInterval": 7.0,
+          "spawnDelay": 20.0,
+          "characteristics": "远程魔法攻击, 中等生命"
+        }
+      ]
+    },
+    {
+      "waveId": 3,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 8,
+          "spawnInterval": 1.8,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 6,
+          "spawnInterval": 5.0,
+          "spawnDelay": 10.0,
+          "characteristics": "高生命, 慢速移动"
+        },
+        {
+          "enemyType": "mage_zombie",
+          "count": 5,
+          "spawnInterval": 6.0,
+          "spawnDelay": 25.0,
+          "characteristics": "远程魔法攻击, 中等生命"
+        }
+      ]
+    }
+  ],
+  "levelSettings": {
+    "energyMax": 6
+  }
+}

+ 11 - 0
assets/resources/data/backups/levels/Level3_20250902_144918.json.meta

@@ -0,0 +1,11 @@
+{
+  "ver": "2.0.1",
+  "importer": "json",
+  "imported": true,
+  "uuid": "86ba3303-25d5-4c8f-970e-006e10873c1a",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

+ 139 - 0
assets/resources/data/backups/levels/Level3_20250902_151257.json

@@ -0,0 +1,139 @@
+{
+  "levelId": "Level3",
+  "name": "魔法废墟(魔幻场景)",
+  "scene": "magic_ruins",
+  "description": "魔幻场景的塔防挑战,引入远程攻击敌人和隐身机制",
+  "backgroundImage": "images/LevelBackground/BG3",
+  "availableWeapons": [
+    "毛豆射手",
+    "尖胡萝卜",
+    "锯齿草",
+    "西瓜炸弹"
+  ],
+  "coinReward": 800,
+  "diamondReward": 50,
+  "initialCoins": 45,
+  "timeLimit": 300,
+  "difficulty": "normal",
+  "healthMultiplier": 1.4,
+  "waves": [
+    {
+      "waveId": 1,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 12,
+          "spawnInterval": 2.5,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "mage_zombie",
+          "count": 3,
+          "spawnInterval": 8.0,
+          "spawnDelay": 15.0,
+          "characteristics": "远程魔法攻击, 中等生命"
+        }
+      ]
+    },
+    {
+      "waveId": 2,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 10,
+          "spawnInterval": 2.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 4,
+          "spawnInterval": 6.0,
+          "spawnDelay": 8.0,
+          "characteristics": "高生命, 慢速移动"
+        },
+        {
+          "enemyType": "mage_zombie",
+          "count": 4,
+          "spawnInterval": 7.0,
+          "spawnDelay": 20.0,
+          "characteristics": "远程魔法攻击, 中等生命"
+        }
+      ]
+    },
+    {
+      "waveId": 3,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 8,
+          "spawnInterval": 1.8,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 6,
+          "spawnInterval": 5.0,
+          "spawnDelay": 10.0,
+          "characteristics": "高生命, 慢速移动"
+        },
+        {
+          "enemyType": "mage_zombie",
+          "count": 5,
+          "spawnInterval": 6.0,
+          "spawnDelay": 25.0,
+          "characteristics": "远程魔法攻击, 中等生命"
+        }
+      ]
+    }
+  ],
+  "levelSettings": {
+    "energyMax": 6,
+    "energyExpValues": [
+      10,
+      15,
+      20,
+      25,
+      30,
+      35,
+      40,
+      45,
+      50,
+      55,
+      60,
+      65,
+      70,
+      75,
+      80,
+      85,
+      90,
+      95,
+      100,
+      105
+    ],
+    "energyMaxUpgrades": [
+      7,
+      8,
+      9,
+      10,
+      11,
+      12,
+      13,
+      14,
+      15,
+      16,
+      17,
+      18,
+      19,
+      20,
+      21,
+      22,
+      23,
+      24,
+      25,
+      26
+    ]
+  }
+}

+ 11 - 0
assets/resources/data/backups/levels/Level3_20250902_151257.json.meta

@@ -0,0 +1,11 @@
+{
+  "ver": "2.0.1",
+  "importer": "json",
+  "imported": true,
+  "uuid": "26f25369-fe1f-4f6d-8268-a83a08735b3b",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

+ 139 - 0
assets/resources/data/backups/levels/Level3_20250902_151400.json

@@ -0,0 +1,139 @@
+{
+  "levelId": "Level3",
+  "name": "魔法废墟(魔幻场景)",
+  "scene": "magic_ruins",
+  "description": "魔幻场景的塔防挑战,引入远程攻击敌人和隐身机制",
+  "backgroundImage": "images/LevelBackground/BG3",
+  "availableWeapons": [
+    "毛豆射手",
+    "尖胡萝卜",
+    "锯齿草",
+    "西瓜炸弹"
+  ],
+  "coinReward": 800,
+  "diamondReward": 50,
+  "initialCoins": 45,
+  "timeLimit": 300,
+  "difficulty": "normal",
+  "healthMultiplier": 1.4,
+  "waves": [
+    {
+      "waveId": 1,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 12,
+          "spawnInterval": 2.5,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "mage_zombie",
+          "count": 3,
+          "spawnInterval": 8.0,
+          "spawnDelay": 15.0,
+          "characteristics": "远程魔法攻击, 中等生命"
+        }
+      ]
+    },
+    {
+      "waveId": 2,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 10,
+          "spawnInterval": 2.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 4,
+          "spawnInterval": 6.0,
+          "spawnDelay": 8.0,
+          "characteristics": "高生命, 慢速移动"
+        },
+        {
+          "enemyType": "mage_zombie",
+          "count": 4,
+          "spawnInterval": 7.0,
+          "spawnDelay": 20.0,
+          "characteristics": "远程魔法攻击, 中等生命"
+        }
+      ]
+    },
+    {
+      "waveId": 3,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 8,
+          "spawnInterval": 1.8,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 6,
+          "spawnInterval": 5.0,
+          "spawnDelay": 10.0,
+          "characteristics": "高生命, 慢速移动"
+        },
+        {
+          "enemyType": "mage_zombie",
+          "count": 5,
+          "spawnInterval": 6.0,
+          "spawnDelay": 25.0,
+          "characteristics": "远程魔法攻击, 中等生命"
+        }
+      ]
+    }
+  ],
+  "levelSettings": {
+    "energyMax": 6,
+    "energyExpValues": [
+      10,
+      15,
+      20,
+      25,
+      30,
+      35,
+      40,
+      45,
+      50,
+      55,
+      60,
+      65,
+      70,
+      75,
+      80,
+      85,
+      90,
+      95,
+      100,
+      105
+    ],
+    "energyMaxUpgrades": [
+      7,
+      8,
+      9,
+      10,
+      11,
+      12,
+      13,
+      14,
+      15,
+      16,
+      17,
+      18,
+      19,
+      20,
+      21,
+      22,
+      23,
+      24,
+      25,
+      26
+    ]
+  }
+}

+ 11 - 0
assets/resources/data/backups/levels/Level3_20250902_151400.json.meta

@@ -0,0 +1,11 @@
+{
+  "ver": "2.0.1",
+  "importer": "json",
+  "imported": true,
+  "uuid": "12f39335-3ff5-4b0e-a6b8-b9941f1d8e19",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

+ 117 - 0
assets/resources/data/backups/levels/Level3_20250902_160157.json

@@ -0,0 +1,117 @@
+{
+  "levelId": "Level3",
+  "name": "魔法废墟(魔幻场景)",
+  "scene": "magic_ruins",
+  "description": "魔幻场景的塔防挑战,引入远程攻击敌人和隐身机制",
+  "backgroundImage": "images/LevelBackground/BG3",
+  "availableWeapons": [
+    "毛豆射手",
+    "尖胡萝卜",
+    "锯齿草",
+    "西瓜炸弹"
+  ],
+  "coinReward": 800,
+  "diamondReward": 50,
+  "initialCoins": 45,
+  "timeLimit": 300,
+  "difficulty": "normal",
+  "healthMultiplier": 1.4,
+  "waves": [
+    {
+      "waveId": 1,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 12,
+          "spawnInterval": 2.5,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "mage_zombie",
+          "count": 3,
+          "spawnInterval": 8.0,
+          "spawnDelay": 15.0,
+          "characteristics": "远程魔法攻击, 中等生命"
+        }
+      ]
+    },
+    {
+      "waveId": 2,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 10,
+          "spawnInterval": 2.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 4,
+          "spawnInterval": 6.0,
+          "spawnDelay": 8.0,
+          "characteristics": "高生命, 慢速移动"
+        },
+        {
+          "enemyType": "mage_zombie",
+          "count": 4,
+          "spawnInterval": 7.0,
+          "spawnDelay": 20.0,
+          "characteristics": "远程魔法攻击, 中等生命"
+        }
+      ]
+    },
+    {
+      "waveId": 3,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 8,
+          "spawnInterval": 1.8,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 6,
+          "spawnInterval": 5.0,
+          "spawnDelay": 10.0,
+          "characteristics": "高生命, 慢速移动"
+        },
+        {
+          "enemyType": "mage_zombie",
+          "count": 5,
+          "spawnInterval": 6.0,
+          "spawnDelay": 25.0,
+          "characteristics": "远程魔法攻击, 中等生命"
+        }
+      ]
+    }
+  ],
+  "levelSettings": {
+    "energyMax": 6,
+    "energyMaxUpgrades": [
+      7,
+      8,
+      9,
+      10,
+      11,
+      12,
+      13,
+      14,
+      15,
+      16,
+      17,
+      18,
+      19,
+      20,
+      21,
+      22,
+      23,
+      24,
+      25,
+      26
+    ]
+  }
+}

+ 11 - 0
assets/resources/data/backups/levels/Level3_20250902_160157.json.meta

@@ -0,0 +1,11 @@
+{
+  "ver": "2.0.1",
+  "importer": "json",
+  "imported": true,
+  "uuid": "dd84ecfd-d468-4576-8a0b-8ba2d7f1a365",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

+ 99 - 0
assets/resources/data/backups/levels/Level4_20250902_144918.json

@@ -0,0 +1,99 @@
+{
+  "levelId": "Level4",
+  "name": "钢铁堡垒(工业场景)",
+  "scene": "industrial",
+  "description": "工业场景的高难度挑战,引入BOSS战和超高防御敌人",
+  "backgroundImage": "images/LevelBackground/BG1",
+  "availableWeapons": [
+    "毛豆射手",
+    "尖胡萝卜",
+    "锯齿草",
+    "西瓜炸弹",
+    "回旋镖盆栽",
+    "炙热辣椒",
+    "仙人散弹",
+    "秋葵导弹"
+  ],
+  "coinReward": 1000,
+  "diamondReward": 80,
+  "initialCoins": 45,
+  "timeLimit": 300,
+  "difficulty": "normal",
+  "healthMultiplier": 1.6,
+  "waves": [
+    {
+      "waveId": 1,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 15,
+          "spawnInterval": 2.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 3,
+          "spawnInterval": 10.0,
+          "spawnDelay": 20.0,
+          "characteristics": "超高生命, 极慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 2,
+      "enemies": [
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 8,
+          "spawnInterval": 4.0,
+          "spawnDelay": 0.0,
+          "characteristics": "高生命, 慢速移动"
+        },
+        {
+          "enemyType": "mage_zombie",
+          "count": 5,
+          "spawnInterval": 6.0,
+          "spawnDelay": 15.0,
+          "characteristics": "远程魔法攻击, 中等生命"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 4,
+          "spawnInterval": 8.0,
+          "spawnDelay": 25.0,
+          "characteristics": "超高生命, 极慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 3,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 10,
+          "spawnInterval": 1.5,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 6,
+          "spawnInterval": 3.5,
+          "spawnDelay": 8.0,
+          "characteristics": "高生命, 慢速移动"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 5,
+          "spawnInterval": 7.0,
+          "spawnDelay": 20.0,
+          "characteristics": "超高生命, 极慢速移动"
+        }
+      ]
+    }
+  ],
+  "levelSettings": {
+    "energyMax": 6
+  }
+}

+ 11 - 0
assets/resources/data/backups/levels/Level4_20250902_144918.json.meta

@@ -0,0 +1,11 @@
+{
+  "ver": "2.0.1",
+  "importer": "json",
+  "imported": true,
+  "uuid": "b2d60f9f-dbbb-47b7-b7a9-20448268e701",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

+ 143 - 0
assets/resources/data/backups/levels/Level4_20250902_151257.json

@@ -0,0 +1,143 @@
+{
+  "levelId": "Level4",
+  "name": "钢铁堡垒(工业场景)",
+  "scene": "industrial",
+  "description": "工业场景的高难度挑战,引入BOSS战和超高防御敌人",
+  "backgroundImage": "images/LevelBackground/BG1",
+  "availableWeapons": [
+    "毛豆射手",
+    "尖胡萝卜",
+    "锯齿草",
+    "西瓜炸弹",
+    "回旋镖盆栽",
+    "炙热辣椒",
+    "仙人散弹",
+    "秋葵导弹"
+  ],
+  "coinReward": 1000,
+  "diamondReward": 80,
+  "initialCoins": 45,
+  "timeLimit": 300,
+  "difficulty": "normal",
+  "healthMultiplier": 1.6,
+  "waves": [
+    {
+      "waveId": 1,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 15,
+          "spawnInterval": 2.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 3,
+          "spawnInterval": 10.0,
+          "spawnDelay": 20.0,
+          "characteristics": "超高生命, 极慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 2,
+      "enemies": [
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 8,
+          "spawnInterval": 4.0,
+          "spawnDelay": 0.0,
+          "characteristics": "高生命, 慢速移动"
+        },
+        {
+          "enemyType": "mage_zombie",
+          "count": 5,
+          "spawnInterval": 6.0,
+          "spawnDelay": 15.0,
+          "characteristics": "远程魔法攻击, 中等生命"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 4,
+          "spawnInterval": 8.0,
+          "spawnDelay": 25.0,
+          "characteristics": "超高生命, 极慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 3,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 10,
+          "spawnInterval": 1.5,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 6,
+          "spawnInterval": 3.5,
+          "spawnDelay": 8.0,
+          "characteristics": "高生命, 慢速移动"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 5,
+          "spawnInterval": 7.0,
+          "spawnDelay": 20.0,
+          "characteristics": "超高生命, 极慢速移动"
+        }
+      ]
+    }
+  ],
+  "levelSettings": {
+    "energyMax": 6,
+    "energyExpValues": [
+      10,
+      15,
+      20,
+      25,
+      30,
+      35,
+      40,
+      45,
+      50,
+      55,
+      60,
+      65,
+      70,
+      75,
+      80,
+      85,
+      90,
+      95,
+      100,
+      105
+    ],
+    "energyMaxUpgrades": [
+      7,
+      8,
+      9,
+      10,
+      11,
+      12,
+      13,
+      14,
+      15,
+      16,
+      17,
+      18,
+      19,
+      20,
+      21,
+      22,
+      23,
+      24,
+      25,
+      26
+    ]
+  }
+}

+ 11 - 0
assets/resources/data/backups/levels/Level4_20250902_151257.json.meta

@@ -0,0 +1,11 @@
+{
+  "ver": "2.0.1",
+  "importer": "json",
+  "imported": true,
+  "uuid": "859f8818-93eb-49d4-b900-442fed7255e7",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

+ 143 - 0
assets/resources/data/backups/levels/Level4_20250902_151400.json

@@ -0,0 +1,143 @@
+{
+  "levelId": "Level4",
+  "name": "钢铁堡垒(工业场景)",
+  "scene": "industrial",
+  "description": "工业场景的高难度挑战,引入BOSS战和超高防御敌人",
+  "backgroundImage": "images/LevelBackground/BG1",
+  "availableWeapons": [
+    "毛豆射手",
+    "尖胡萝卜",
+    "锯齿草",
+    "西瓜炸弹",
+    "回旋镖盆栽",
+    "炙热辣椒",
+    "仙人散弹",
+    "秋葵导弹"
+  ],
+  "coinReward": 1000,
+  "diamondReward": 80,
+  "initialCoins": 45,
+  "timeLimit": 300,
+  "difficulty": "normal",
+  "healthMultiplier": 1.6,
+  "waves": [
+    {
+      "waveId": 1,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 15,
+          "spawnInterval": 2.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 3,
+          "spawnInterval": 10.0,
+          "spawnDelay": 20.0,
+          "characteristics": "超高生命, 极慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 2,
+      "enemies": [
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 8,
+          "spawnInterval": 4.0,
+          "spawnDelay": 0.0,
+          "characteristics": "高生命, 慢速移动"
+        },
+        {
+          "enemyType": "mage_zombie",
+          "count": 5,
+          "spawnInterval": 6.0,
+          "spawnDelay": 15.0,
+          "characteristics": "远程魔法攻击, 中等生命"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 4,
+          "spawnInterval": 8.0,
+          "spawnDelay": 25.0,
+          "characteristics": "超高生命, 极慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 3,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 10,
+          "spawnInterval": 1.5,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 6,
+          "spawnInterval": 3.5,
+          "spawnDelay": 8.0,
+          "characteristics": "高生命, 慢速移动"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 5,
+          "spawnInterval": 7.0,
+          "spawnDelay": 20.0,
+          "characteristics": "超高生命, 极慢速移动"
+        }
+      ]
+    }
+  ],
+  "levelSettings": {
+    "energyMax": 6,
+    "energyExpValues": [
+      10,
+      15,
+      20,
+      25,
+      30,
+      35,
+      40,
+      45,
+      50,
+      55,
+      60,
+      65,
+      70,
+      75,
+      80,
+      85,
+      90,
+      95,
+      100,
+      105
+    ],
+    "energyMaxUpgrades": [
+      7,
+      8,
+      9,
+      10,
+      11,
+      12,
+      13,
+      14,
+      15,
+      16,
+      17,
+      18,
+      19,
+      20,
+      21,
+      22,
+      23,
+      24,
+      25,
+      26
+    ]
+  }
+}

+ 11 - 0
assets/resources/data/backups/levels/Level4_20250902_151400.json.meta

@@ -0,0 +1,11 @@
+{
+  "ver": "2.0.1",
+  "importer": "json",
+  "imported": true,
+  "uuid": "b18cc06d-dd9b-4a62-b76d-1000192fcb9e",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

+ 121 - 0
assets/resources/data/backups/levels/Level4_20250902_160157.json

@@ -0,0 +1,121 @@
+{
+  "levelId": "Level4",
+  "name": "钢铁堡垒(工业场景)",
+  "scene": "industrial",
+  "description": "工业场景的高难度挑战,引入BOSS战和超高防御敌人",
+  "backgroundImage": "images/LevelBackground/BG1",
+  "availableWeapons": [
+    "毛豆射手",
+    "尖胡萝卜",
+    "锯齿草",
+    "西瓜炸弹",
+    "回旋镖盆栽",
+    "炙热辣椒",
+    "仙人散弹",
+    "秋葵导弹"
+  ],
+  "coinReward": 1000,
+  "diamondReward": 80,
+  "initialCoins": 45,
+  "timeLimit": 300,
+  "difficulty": "normal",
+  "healthMultiplier": 1.6,
+  "waves": [
+    {
+      "waveId": 1,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 15,
+          "spawnInterval": 2.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 3,
+          "spawnInterval": 10.0,
+          "spawnDelay": 20.0,
+          "characteristics": "超高生命, 极慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 2,
+      "enemies": [
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 8,
+          "spawnInterval": 4.0,
+          "spawnDelay": 0.0,
+          "characteristics": "高生命, 慢速移动"
+        },
+        {
+          "enemyType": "mage_zombie",
+          "count": 5,
+          "spawnInterval": 6.0,
+          "spawnDelay": 15.0,
+          "characteristics": "远程魔法攻击, 中等生命"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 4,
+          "spawnInterval": 8.0,
+          "spawnDelay": 25.0,
+          "characteristics": "超高生命, 极慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 3,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 10,
+          "spawnInterval": 1.5,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 6,
+          "spawnInterval": 3.5,
+          "spawnDelay": 8.0,
+          "characteristics": "高生命, 慢速移动"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 5,
+          "spawnInterval": 7.0,
+          "spawnDelay": 20.0,
+          "characteristics": "超高生命, 极慢速移动"
+        }
+      ]
+    }
+  ],
+  "levelSettings": {
+    "energyMax": 6,
+    "energyMaxUpgrades": [
+      7,
+      8,
+      9,
+      10,
+      11,
+      12,
+      13,
+      14,
+      15,
+      16,
+      17,
+      18,
+      19,
+      20,
+      21,
+      22,
+      23,
+      24,
+      25,
+      26
+    ]
+  }
+}

+ 11 - 0
assets/resources/data/backups/levels/Level4_20250902_160157.json.meta

@@ -0,0 +1,11 @@
+{
+  "ver": "2.0.1",
+  "importer": "json",
+  "imported": true,
+  "uuid": "8bea79ec-46ea-41b2-a222-50c205e4fb2a",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

+ 99 - 0
assets/resources/data/backups/levels/Level5_20250902_144918.json

@@ -0,0 +1,99 @@
+{
+  "levelId": "Level5",
+  "name": "终极挑战(赛博都市)",
+  "scene": "cyberpunk",
+  "description": "终极挑战关卡,包含多个BOSS和复杂的敌人组合",
+  "backgroundImage": "images/LevelBackground/BG1",
+  "availableWeapons": [
+    "毛豆射手",
+    "尖胡萝卜",
+    "锯齿草",
+    "西瓜炸弹",
+    "回旋镖盆栽",
+    "炙热辣椒",
+    "仙人散弹",
+    "秋葵导弹"
+  ],
+  "coinReward": 1300,
+  "diamondReward": 100,
+  "initialCoins": 45,
+  "timeLimit": 300,
+  "difficulty": "normal",
+  "healthMultiplier": 1.8,
+  "waves": [
+    {
+      "waveId": 1,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 20,
+          "spawnInterval": 1.5,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 8,
+          "spawnInterval": 3.0,
+          "spawnDelay": 10.0,
+          "characteristics": "高生命, 慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 2,
+      "enemies": [
+        {
+          "enemyType": "mage_zombie",
+          "count": 8,
+          "spawnInterval": 4.0,
+          "spawnDelay": 0.0,
+          "characteristics": "远程魔法攻击, 中等生命"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 6,
+          "spawnInterval": 6.0,
+          "spawnDelay": 15.0,
+          "characteristics": "超高生命, 极慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 3,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 15,
+          "spawnInterval": 1.2,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 10,
+          "spawnInterval": 2.5,
+          "spawnDelay": 8.0,
+          "characteristics": "高生命, 慢速移动"
+        },
+        {
+          "enemyType": "mage_zombie",
+          "count": 8,
+          "spawnInterval": 3.5,
+          "spawnDelay": 20.0,
+          "characteristics": "远程魔法攻击, 中等生命"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 6,
+          "spawnInterval": 5.0,
+          "spawnDelay": 30.0,
+          "characteristics": "超高生命, 极慢速移动"
+        }
+      ]
+    }
+  ],
+  "levelSettings": {
+    "energyMax": 7
+  }
+}

+ 11 - 0
assets/resources/data/backups/levels/Level5_20250902_144918.json.meta

@@ -0,0 +1,11 @@
+{
+  "ver": "2.0.1",
+  "importer": "json",
+  "imported": true,
+  "uuid": "c27d4e72-7b95-4de5-8f5a-4e19abb79d6e",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

+ 143 - 0
assets/resources/data/backups/levels/Level5_20250902_151257.json

@@ -0,0 +1,143 @@
+{
+  "levelId": "Level5",
+  "name": "终极挑战(赛博都市)",
+  "scene": "cyberpunk",
+  "description": "终极挑战关卡,包含多个BOSS和复杂的敌人组合",
+  "backgroundImage": "images/LevelBackground/BG1",
+  "availableWeapons": [
+    "毛豆射手",
+    "尖胡萝卜",
+    "锯齿草",
+    "西瓜炸弹",
+    "回旋镖盆栽",
+    "炙热辣椒",
+    "仙人散弹",
+    "秋葵导弹"
+  ],
+  "coinReward": 1300,
+  "diamondReward": 100,
+  "initialCoins": 45,
+  "timeLimit": 300,
+  "difficulty": "normal",
+  "healthMultiplier": 1.8,
+  "waves": [
+    {
+      "waveId": 1,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 20,
+          "spawnInterval": 1.5,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 8,
+          "spawnInterval": 3.0,
+          "spawnDelay": 10.0,
+          "characteristics": "高生命, 慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 2,
+      "enemies": [
+        {
+          "enemyType": "mage_zombie",
+          "count": 8,
+          "spawnInterval": 4.0,
+          "spawnDelay": 0.0,
+          "characteristics": "远程魔法攻击, 中等生命"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 6,
+          "spawnInterval": 6.0,
+          "spawnDelay": 15.0,
+          "characteristics": "超高生命, 极慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 3,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 15,
+          "spawnInterval": 1.2,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 10,
+          "spawnInterval": 2.5,
+          "spawnDelay": 8.0,
+          "characteristics": "高生命, 慢速移动"
+        },
+        {
+          "enemyType": "mage_zombie",
+          "count": 8,
+          "spawnInterval": 3.5,
+          "spawnDelay": 20.0,
+          "characteristics": "远程魔法攻击, 中等生命"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 6,
+          "spawnInterval": 5.0,
+          "spawnDelay": 30.0,
+          "characteristics": "超高生命, 极慢速移动"
+        }
+      ]
+    }
+  ],
+  "levelSettings": {
+    "energyMax": 7,
+    "energyExpValues": [
+      10,
+      15,
+      20,
+      25,
+      30,
+      35,
+      40,
+      45,
+      50,
+      55,
+      60,
+      65,
+      70,
+      75,
+      80,
+      85,
+      90,
+      95,
+      100,
+      105
+    ],
+    "energyMaxUpgrades": [
+      8,
+      9,
+      10,
+      11,
+      12,
+      13,
+      14,
+      15,
+      16,
+      17,
+      18,
+      19,
+      20,
+      21,
+      22,
+      23,
+      24,
+      25,
+      26,
+      27
+    ]
+  }
+}

+ 11 - 0
assets/resources/data/backups/levels/Level5_20250902_151257.json.meta

@@ -0,0 +1,11 @@
+{
+  "ver": "2.0.1",
+  "importer": "json",
+  "imported": true,
+  "uuid": "3a21f432-ba66-49ff-a9e4-377348fc607c",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

+ 143 - 0
assets/resources/data/backups/levels/Level5_20250902_151400.json

@@ -0,0 +1,143 @@
+{
+  "levelId": "Level5",
+  "name": "终极挑战(赛博都市)",
+  "scene": "cyberpunk",
+  "description": "终极挑战关卡,包含多个BOSS和复杂的敌人组合",
+  "backgroundImage": "images/LevelBackground/BG1",
+  "availableWeapons": [
+    "毛豆射手",
+    "尖胡萝卜",
+    "锯齿草",
+    "西瓜炸弹",
+    "回旋镖盆栽",
+    "炙热辣椒",
+    "仙人散弹",
+    "秋葵导弹"
+  ],
+  "coinReward": 1300,
+  "diamondReward": 100,
+  "initialCoins": 45,
+  "timeLimit": 300,
+  "difficulty": "normal",
+  "healthMultiplier": 1.8,
+  "waves": [
+    {
+      "waveId": 1,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 20,
+          "spawnInterval": 1.5,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 8,
+          "spawnInterval": 3.0,
+          "spawnDelay": 10.0,
+          "characteristics": "高生命, 慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 2,
+      "enemies": [
+        {
+          "enemyType": "mage_zombie",
+          "count": 8,
+          "spawnInterval": 4.0,
+          "spawnDelay": 0.0,
+          "characteristics": "远程魔法攻击, 中等生命"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 6,
+          "spawnInterval": 6.0,
+          "spawnDelay": 15.0,
+          "characteristics": "超高生命, 极慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 3,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 15,
+          "spawnInterval": 1.2,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 10,
+          "spawnInterval": 2.5,
+          "spawnDelay": 8.0,
+          "characteristics": "高生命, 慢速移动"
+        },
+        {
+          "enemyType": "mage_zombie",
+          "count": 8,
+          "spawnInterval": 3.5,
+          "spawnDelay": 20.0,
+          "characteristics": "远程魔法攻击, 中等生命"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 6,
+          "spawnInterval": 5.0,
+          "spawnDelay": 30.0,
+          "characteristics": "超高生命, 极慢速移动"
+        }
+      ]
+    }
+  ],
+  "levelSettings": {
+    "energyMax": 7,
+    "energyExpValues": [
+      10,
+      15,
+      20,
+      25,
+      30,
+      35,
+      40,
+      45,
+      50,
+      55,
+      60,
+      65,
+      70,
+      75,
+      80,
+      85,
+      90,
+      95,
+      100,
+      105
+    ],
+    "energyMaxUpgrades": [
+      8,
+      9,
+      10,
+      11,
+      12,
+      13,
+      14,
+      15,
+      16,
+      17,
+      18,
+      19,
+      20,
+      21,
+      22,
+      23,
+      24,
+      25,
+      26,
+      27
+    ]
+  }
+}

+ 11 - 0
assets/resources/data/backups/levels/Level5_20250902_151400.json.meta

@@ -0,0 +1,11 @@
+{
+  "ver": "2.0.1",
+  "importer": "json",
+  "imported": true,
+  "uuid": "7b975f12-a84b-4819-ac4f-79eade21011b",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

+ 121 - 0
assets/resources/data/backups/levels/Level5_20250902_160157.json

@@ -0,0 +1,121 @@
+{
+  "levelId": "Level5",
+  "name": "终极挑战(赛博都市)",
+  "scene": "cyberpunk",
+  "description": "终极挑战关卡,包含多个BOSS和复杂的敌人组合",
+  "backgroundImage": "images/LevelBackground/BG1",
+  "availableWeapons": [
+    "毛豆射手",
+    "尖胡萝卜",
+    "锯齿草",
+    "西瓜炸弹",
+    "回旋镖盆栽",
+    "炙热辣椒",
+    "仙人散弹",
+    "秋葵导弹"
+  ],
+  "coinReward": 1300,
+  "diamondReward": 100,
+  "initialCoins": 45,
+  "timeLimit": 300,
+  "difficulty": "normal",
+  "healthMultiplier": 1.8,
+  "waves": [
+    {
+      "waveId": 1,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 20,
+          "spawnInterval": 1.5,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 8,
+          "spawnInterval": 3.0,
+          "spawnDelay": 10.0,
+          "characteristics": "高生命, 慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 2,
+      "enemies": [
+        {
+          "enemyType": "mage_zombie",
+          "count": 8,
+          "spawnInterval": 4.0,
+          "spawnDelay": 0.0,
+          "characteristics": "远程魔法攻击, 中等生命"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 6,
+          "spawnInterval": 6.0,
+          "spawnDelay": 15.0,
+          "characteristics": "超高生命, 极慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 3,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 15,
+          "spawnInterval": 1.2,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 10,
+          "spawnInterval": 2.5,
+          "spawnDelay": 8.0,
+          "characteristics": "高生命, 慢速移动"
+        },
+        {
+          "enemyType": "mage_zombie",
+          "count": 8,
+          "spawnInterval": 3.5,
+          "spawnDelay": 20.0,
+          "characteristics": "远程魔法攻击, 中等生命"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 6,
+          "spawnInterval": 5.0,
+          "spawnDelay": 30.0,
+          "characteristics": "超高生命, 极慢速移动"
+        }
+      ]
+    }
+  ],
+  "levelSettings": {
+    "energyMax": 7,
+    "energyMaxUpgrades": [
+      8,
+      9,
+      10,
+      11,
+      12,
+      13,
+      14,
+      15,
+      16,
+      17,
+      18,
+      19,
+      20,
+      21,
+      22,
+      23,
+      24,
+      25,
+      26,
+      27
+    ]
+  }
+}

+ 11 - 0
assets/resources/data/backups/levels/Level5_20250902_160157.json.meta

@@ -0,0 +1,11 @@
+{
+  "ver": "2.0.1",
+  "importer": "json",
+  "imported": true,
+  "uuid": "03bad9f8-02b1-4635-a038-6667b9e860ff",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

+ 99 - 0
assets/resources/data/backups/levels/Level6_20250902_144918.json

@@ -0,0 +1,99 @@
+{
+  "levelId": "Level6",
+  "name": "沙漠绿洲(沙漠场景)",
+  "scene": "desert",
+  "description": "沙漠场景的挑战,炎热环境下的生存战斗",
+  "backgroundImage": "images/LevelBackground/BG1",
+  "availableWeapons": [
+    "毛豆射手",
+    "尖胡萝卜",
+    "锯齿草",
+    "西瓜炸弹",
+    "回旋镖盆栽",
+    "炙热辣椒",
+    "仙人散弹",
+    "秋葵导弹"
+  ],
+  "coinReward": 1800,
+  "diamondReward": 120,
+  "initialCoins": 45,
+  "timeLimit": 300,
+  "difficulty": "normal",
+  "healthMultiplier": 2.0,
+  "waves": [
+    {
+      "waveId": 1,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 18,
+          "spawnInterval": 1.8,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 4,
+          "spawnInterval": 6.0,
+          "spawnDelay": 12.0,
+          "characteristics": "超高生命, 极慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 2,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 15,
+          "spawnInterval": 1.5,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "mage_zombie",
+          "count": 5,
+          "spawnInterval": 5.0,
+          "spawnDelay": 8.0,
+          "characteristics": "远程魔法子弹攻击防御塔"
+        },
+        {
+          "enemyType": "archer_zombie",
+          "count": 3,
+          "spawnInterval": 8.0,
+          "spawnDelay": 15.0,
+          "characteristics": "远程弓箭攻击"
+        }
+      ]
+    },
+    {
+      "waveId": 3,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 20,
+          "spawnInterval": 1.2,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "stealth_zombie",
+          "count": 4,
+          "spawnInterval": 10.0,
+          "spawnDelay": 20.0,
+          "characteristics": "隐身能力, 快速移动"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 6,
+          "spawnInterval": 4.0,
+          "spawnDelay": 25.0,
+          "characteristics": "超高生命, 极慢速移动"
+        }
+      ]
+    }
+  ],
+  "levelSettings": {
+    "energyMax": 7
+  }
+}

+ 11 - 0
assets/resources/data/backups/levels/Level6_20250902_144918.json.meta

@@ -0,0 +1,11 @@
+{
+  "ver": "2.0.1",
+  "importer": "json",
+  "imported": true,
+  "uuid": "5d019712-bf25-4a10-8dfd-67b98d846fc0",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

+ 143 - 0
assets/resources/data/backups/levels/Level6_20250902_151257.json

@@ -0,0 +1,143 @@
+{
+  "levelId": "Level6",
+  "name": "沙漠绿洲(沙漠场景)",
+  "scene": "desert",
+  "description": "沙漠场景的挑战,炎热环境下的生存战斗",
+  "backgroundImage": "images/LevelBackground/BG1",
+  "availableWeapons": [
+    "毛豆射手",
+    "尖胡萝卜",
+    "锯齿草",
+    "西瓜炸弹",
+    "回旋镖盆栽",
+    "炙热辣椒",
+    "仙人散弹",
+    "秋葵导弹"
+  ],
+  "coinReward": 1800,
+  "diamondReward": 120,
+  "initialCoins": 45,
+  "timeLimit": 300,
+  "difficulty": "normal",
+  "healthMultiplier": 2.0,
+  "waves": [
+    {
+      "waveId": 1,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 18,
+          "spawnInterval": 1.8,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 4,
+          "spawnInterval": 6.0,
+          "spawnDelay": 12.0,
+          "characteristics": "超高生命, 极慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 2,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 15,
+          "spawnInterval": 1.5,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "mage_zombie",
+          "count": 5,
+          "spawnInterval": 5.0,
+          "spawnDelay": 8.0,
+          "characteristics": "远程魔法子弹攻击防御塔"
+        },
+        {
+          "enemyType": "archer_zombie",
+          "count": 3,
+          "spawnInterval": 8.0,
+          "spawnDelay": 15.0,
+          "characteristics": "远程弓箭攻击"
+        }
+      ]
+    },
+    {
+      "waveId": 3,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 20,
+          "spawnInterval": 1.2,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "stealth_zombie",
+          "count": 4,
+          "spawnInterval": 10.0,
+          "spawnDelay": 20.0,
+          "characteristics": "隐身能力, 快速移动"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 6,
+          "spawnInterval": 4.0,
+          "spawnDelay": 25.0,
+          "characteristics": "超高生命, 极慢速移动"
+        }
+      ]
+    }
+  ],
+  "levelSettings": {
+    "energyMax": 7,
+    "energyExpValues": [
+      10,
+      15,
+      20,
+      25,
+      30,
+      35,
+      40,
+      45,
+      50,
+      55,
+      60,
+      65,
+      70,
+      75,
+      80,
+      85,
+      90,
+      95,
+      100,
+      105
+    ],
+    "energyMaxUpgrades": [
+      8,
+      9,
+      10,
+      11,
+      12,
+      13,
+      14,
+      15,
+      16,
+      17,
+      18,
+      19,
+      20,
+      21,
+      22,
+      23,
+      24,
+      25,
+      26,
+      27
+    ]
+  }
+}

+ 11 - 0
assets/resources/data/backups/levels/Level6_20250902_151257.json.meta

@@ -0,0 +1,11 @@
+{
+  "ver": "2.0.1",
+  "importer": "json",
+  "imported": true,
+  "uuid": "d6a7fe2a-7bfd-4017-8274-d7cb488175e1",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

+ 143 - 0
assets/resources/data/backups/levels/Level6_20250902_151400.json

@@ -0,0 +1,143 @@
+{
+  "levelId": "Level6",
+  "name": "沙漠绿洲(沙漠场景)",
+  "scene": "desert",
+  "description": "沙漠场景的挑战,炎热环境下的生存战斗",
+  "backgroundImage": "images/LevelBackground/BG1",
+  "availableWeapons": [
+    "毛豆射手",
+    "尖胡萝卜",
+    "锯齿草",
+    "西瓜炸弹",
+    "回旋镖盆栽",
+    "炙热辣椒",
+    "仙人散弹",
+    "秋葵导弹"
+  ],
+  "coinReward": 1800,
+  "diamondReward": 120,
+  "initialCoins": 45,
+  "timeLimit": 300,
+  "difficulty": "normal",
+  "healthMultiplier": 2.0,
+  "waves": [
+    {
+      "waveId": 1,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 18,
+          "spawnInterval": 1.8,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 4,
+          "spawnInterval": 6.0,
+          "spawnDelay": 12.0,
+          "characteristics": "超高生命, 极慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 2,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 15,
+          "spawnInterval": 1.5,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "mage_zombie",
+          "count": 5,
+          "spawnInterval": 5.0,
+          "spawnDelay": 8.0,
+          "characteristics": "远程魔法子弹攻击防御塔"
+        },
+        {
+          "enemyType": "archer_zombie",
+          "count": 3,
+          "spawnInterval": 8.0,
+          "spawnDelay": 15.0,
+          "characteristics": "远程弓箭攻击"
+        }
+      ]
+    },
+    {
+      "waveId": 3,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 20,
+          "spawnInterval": 1.2,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "stealth_zombie",
+          "count": 4,
+          "spawnInterval": 10.0,
+          "spawnDelay": 20.0,
+          "characteristics": "隐身能力, 快速移动"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 6,
+          "spawnInterval": 4.0,
+          "spawnDelay": 25.0,
+          "characteristics": "超高生命, 极慢速移动"
+        }
+      ]
+    }
+  ],
+  "levelSettings": {
+    "energyMax": 7,
+    "energyExpValues": [
+      10,
+      15,
+      20,
+      25,
+      30,
+      35,
+      40,
+      45,
+      50,
+      55,
+      60,
+      65,
+      70,
+      75,
+      80,
+      85,
+      90,
+      95,
+      100,
+      105
+    ],
+    "energyMaxUpgrades": [
+      8,
+      9,
+      10,
+      11,
+      12,
+      13,
+      14,
+      15,
+      16,
+      17,
+      18,
+      19,
+      20,
+      21,
+      22,
+      23,
+      24,
+      25,
+      26,
+      27
+    ]
+  }
+}

+ 11 - 0
assets/resources/data/backups/levels/Level6_20250902_151400.json.meta

@@ -0,0 +1,11 @@
+{
+  "ver": "2.0.1",
+  "importer": "json",
+  "imported": true,
+  "uuid": "37db9642-821d-4e1b-aec6-bb17fe886715",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

+ 121 - 0
assets/resources/data/backups/levels/Level6_20250902_160157.json

@@ -0,0 +1,121 @@
+{
+  "levelId": "Level6",
+  "name": "沙漠绿洲(沙漠场景)",
+  "scene": "desert",
+  "description": "沙漠场景的挑战,炎热环境下的生存战斗",
+  "backgroundImage": "images/LevelBackground/BG1",
+  "availableWeapons": [
+    "毛豆射手",
+    "尖胡萝卜",
+    "锯齿草",
+    "西瓜炸弹",
+    "回旋镖盆栽",
+    "炙热辣椒",
+    "仙人散弹",
+    "秋葵导弹"
+  ],
+  "coinReward": 1800,
+  "diamondReward": 120,
+  "initialCoins": 45,
+  "timeLimit": 300,
+  "difficulty": "normal",
+  "healthMultiplier": 2.0,
+  "waves": [
+    {
+      "waveId": 1,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 18,
+          "spawnInterval": 1.8,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 4,
+          "spawnInterval": 6.0,
+          "spawnDelay": 12.0,
+          "characteristics": "超高生命, 极慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 2,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 15,
+          "spawnInterval": 1.5,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "mage_zombie",
+          "count": 5,
+          "spawnInterval": 5.0,
+          "spawnDelay": 8.0,
+          "characteristics": "远程魔法子弹攻击防御塔"
+        },
+        {
+          "enemyType": "archer_zombie",
+          "count": 3,
+          "spawnInterval": 8.0,
+          "spawnDelay": 15.0,
+          "characteristics": "远程弓箭攻击"
+        }
+      ]
+    },
+    {
+      "waveId": 3,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 20,
+          "spawnInterval": 1.2,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "stealth_zombie",
+          "count": 4,
+          "spawnInterval": 10.0,
+          "spawnDelay": 20.0,
+          "characteristics": "隐身能力, 快速移动"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 6,
+          "spawnInterval": 4.0,
+          "spawnDelay": 25.0,
+          "characteristics": "超高生命, 极慢速移动"
+        }
+      ]
+    }
+  ],
+  "levelSettings": {
+    "energyMax": 7,
+    "energyMaxUpgrades": [
+      8,
+      9,
+      10,
+      11,
+      12,
+      13,
+      14,
+      15,
+      16,
+      17,
+      18,
+      19,
+      20,
+      21,
+      22,
+      23,
+      24,
+      25,
+      26,
+      27
+    ]
+  }
+}

+ 11 - 0
assets/resources/data/backups/levels/Level6_20250902_160157.json.meta

@@ -0,0 +1,11 @@
+{
+  "ver": "2.0.1",
+  "importer": "json",
+  "imported": true,
+  "uuid": "4259e2ec-e4fa-43c1-b65f-085251abf2ad",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

+ 111 - 0
assets/resources/data/backups/levels/Level7_20250902_144918.json

@@ -0,0 +1,111 @@
+{
+  "levelId": "Level7",
+  "name": "冰雪王国(冰雪场景)",
+  "scene": "ice",
+  "description": "冰雪场景的极地挑战,寒冷环境下的防御战",
+  "backgroundImage": "images/LevelBackground/BG1",
+  "availableWeapons": [
+    "毛豆射手",
+    "尖胡萝卜",
+    "锯齿草",
+    "西瓜炸弹",
+    "回旋镖盆栽",
+    "炙热辣椒",
+    "仙人散弹",
+    "秋葵导弹"
+  ],
+  "coinReward": 2200,
+  "diamondReward": 150,
+  "initialCoins": 45,
+  "timeLimit": 300,
+  "difficulty": "normal",
+  "healthMultiplier": 2.2,
+  "waves": [
+    {
+      "waveId": 1,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 22,
+          "spawnInterval": 1.6,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 8,
+          "spawnInterval": 4.0,
+          "spawnDelay": 10.0,
+          "characteristics": "高生命, 慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 2,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 18,
+          "spawnInterval": 1.4,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "archer_zombie",
+          "count": 6,
+          "spawnInterval": 6.0,
+          "spawnDelay": 12.0,
+          "characteristics": "远程弓箭攻击"
+        },
+        {
+          "enemyType": "barrel_zombie",
+          "count": 3,
+          "spawnInterval": 12.0,
+          "spawnDelay": 20.0,
+          "characteristics": "爆炸伤害, 自爆攻击"
+        }
+      ]
+    },
+    {
+      "waveId": 3,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 25,
+          "spawnInterval": 1.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 8,
+          "spawnInterval": 3.0,
+          "spawnDelay": 15.0,
+          "characteristics": "超高生命, 极慢速移动"
+        },
+        {
+          "enemyType": "stealth_zombie",
+          "count": 5,
+          "spawnInterval": 8.0,
+          "spawnDelay": 25.0,
+          "characteristics": "隐身能力, 快速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 4,
+      "enemies": [
+        {
+          "enemyType": "boss1_gatekeeper",
+          "count": 1,
+          "spawnInterval": 0.0,
+          "spawnDelay": 30.0,
+          "characteristics": "超高生命, 多种攻击方式, 召唤小怪"
+        }
+      ]
+    }
+  ],
+  "levelSettings": {
+    "energyMax": 8
+  }
+}

+ 11 - 0
assets/resources/data/backups/levels/Level7_20250902_144918.json.meta

@@ -0,0 +1,11 @@
+{
+  "ver": "2.0.1",
+  "importer": "json",
+  "imported": true,
+  "uuid": "65330be2-840a-416e-9d56-1506975dfa7a",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

+ 155 - 0
assets/resources/data/backups/levels/Level7_20250902_151257.json

@@ -0,0 +1,155 @@
+{
+  "levelId": "Level7",
+  "name": "冰雪王国(冰雪场景)",
+  "scene": "ice",
+  "description": "冰雪场景的极地挑战,寒冷环境下的防御战",
+  "backgroundImage": "images/LevelBackground/BG1",
+  "availableWeapons": [
+    "毛豆射手",
+    "尖胡萝卜",
+    "锯齿草",
+    "西瓜炸弹",
+    "回旋镖盆栽",
+    "炙热辣椒",
+    "仙人散弹",
+    "秋葵导弹"
+  ],
+  "coinReward": 2200,
+  "diamondReward": 150,
+  "initialCoins": 45,
+  "timeLimit": 300,
+  "difficulty": "normal",
+  "healthMultiplier": 2.2,
+  "waves": [
+    {
+      "waveId": 1,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 22,
+          "spawnInterval": 1.6,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 8,
+          "spawnInterval": 4.0,
+          "spawnDelay": 10.0,
+          "characteristics": "高生命, 慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 2,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 18,
+          "spawnInterval": 1.4,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "archer_zombie",
+          "count": 6,
+          "spawnInterval": 6.0,
+          "spawnDelay": 12.0,
+          "characteristics": "远程弓箭攻击"
+        },
+        {
+          "enemyType": "barrel_zombie",
+          "count": 3,
+          "spawnInterval": 12.0,
+          "spawnDelay": 20.0,
+          "characteristics": "爆炸伤害, 自爆攻击"
+        }
+      ]
+    },
+    {
+      "waveId": 3,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 25,
+          "spawnInterval": 1.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 8,
+          "spawnInterval": 3.0,
+          "spawnDelay": 15.0,
+          "characteristics": "超高生命, 极慢速移动"
+        },
+        {
+          "enemyType": "stealth_zombie",
+          "count": 5,
+          "spawnInterval": 8.0,
+          "spawnDelay": 25.0,
+          "characteristics": "隐身能力, 快速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 4,
+      "enemies": [
+        {
+          "enemyType": "boss1_gatekeeper",
+          "count": 1,
+          "spawnInterval": 0.0,
+          "spawnDelay": 30.0,
+          "characteristics": "超高生命, 多种攻击方式, 召唤小怪"
+        }
+      ]
+    }
+  ],
+  "levelSettings": {
+    "energyMax": 8,
+    "energyExpValues": [
+      10,
+      15,
+      20,
+      25,
+      30,
+      35,
+      40,
+      45,
+      50,
+      55,
+      60,
+      65,
+      70,
+      75,
+      80,
+      85,
+      90,
+      95,
+      100,
+      105
+    ],
+    "energyMaxUpgrades": [
+      9,
+      10,
+      11,
+      12,
+      13,
+      14,
+      15,
+      16,
+      17,
+      18,
+      19,
+      20,
+      21,
+      22,
+      23,
+      24,
+      25,
+      26,
+      27,
+      28
+    ]
+  }
+}

+ 11 - 0
assets/resources/data/backups/levels/Level7_20250902_151257.json.meta

@@ -0,0 +1,11 @@
+{
+  "ver": "2.0.1",
+  "importer": "json",
+  "imported": true,
+  "uuid": "d00057d8-a03a-4e8c-9782-7a35118b334a",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

+ 155 - 0
assets/resources/data/backups/levels/Level7_20250902_151400.json

@@ -0,0 +1,155 @@
+{
+  "levelId": "Level7",
+  "name": "冰雪王国(冰雪场景)",
+  "scene": "ice",
+  "description": "冰雪场景的极地挑战,寒冷环境下的防御战",
+  "backgroundImage": "images/LevelBackground/BG1",
+  "availableWeapons": [
+    "毛豆射手",
+    "尖胡萝卜",
+    "锯齿草",
+    "西瓜炸弹",
+    "回旋镖盆栽",
+    "炙热辣椒",
+    "仙人散弹",
+    "秋葵导弹"
+  ],
+  "coinReward": 2200,
+  "diamondReward": 150,
+  "initialCoins": 45,
+  "timeLimit": 300,
+  "difficulty": "normal",
+  "healthMultiplier": 2.2,
+  "waves": [
+    {
+      "waveId": 1,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 22,
+          "spawnInterval": 1.6,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 8,
+          "spawnInterval": 4.0,
+          "spawnDelay": 10.0,
+          "characteristics": "高生命, 慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 2,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 18,
+          "spawnInterval": 1.4,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "archer_zombie",
+          "count": 6,
+          "spawnInterval": 6.0,
+          "spawnDelay": 12.0,
+          "characteristics": "远程弓箭攻击"
+        },
+        {
+          "enemyType": "barrel_zombie",
+          "count": 3,
+          "spawnInterval": 12.0,
+          "spawnDelay": 20.0,
+          "characteristics": "爆炸伤害, 自爆攻击"
+        }
+      ]
+    },
+    {
+      "waveId": 3,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 25,
+          "spawnInterval": 1.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 8,
+          "spawnInterval": 3.0,
+          "spawnDelay": 15.0,
+          "characteristics": "超高生命, 极慢速移动"
+        },
+        {
+          "enemyType": "stealth_zombie",
+          "count": 5,
+          "spawnInterval": 8.0,
+          "spawnDelay": 25.0,
+          "characteristics": "隐身能力, 快速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 4,
+      "enemies": [
+        {
+          "enemyType": "boss1_gatekeeper",
+          "count": 1,
+          "spawnInterval": 0.0,
+          "spawnDelay": 30.0,
+          "characteristics": "超高生命, 多种攻击方式, 召唤小怪"
+        }
+      ]
+    }
+  ],
+  "levelSettings": {
+    "energyMax": 8,
+    "energyExpValues": [
+      10,
+      15,
+      20,
+      25,
+      30,
+      35,
+      40,
+      45,
+      50,
+      55,
+      60,
+      65,
+      70,
+      75,
+      80,
+      85,
+      90,
+      95,
+      100,
+      105
+    ],
+    "energyMaxUpgrades": [
+      9,
+      10,
+      11,
+      12,
+      13,
+      14,
+      15,
+      16,
+      17,
+      18,
+      19,
+      20,
+      21,
+      22,
+      23,
+      24,
+      25,
+      26,
+      27,
+      28
+    ]
+  }
+}

+ 11 - 0
assets/resources/data/backups/levels/Level7_20250902_151400.json.meta

@@ -0,0 +1,11 @@
+{
+  "ver": "2.0.1",
+  "importer": "json",
+  "imported": true,
+  "uuid": "e23bb98e-2f66-434d-8a9e-91dbe45e021b",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

+ 133 - 0
assets/resources/data/backups/levels/Level7_20250902_160157.json

@@ -0,0 +1,133 @@
+{
+  "levelId": "Level7",
+  "name": "冰雪王国(冰雪场景)",
+  "scene": "ice",
+  "description": "冰雪场景的极地挑战,寒冷环境下的防御战",
+  "backgroundImage": "images/LevelBackground/BG1",
+  "availableWeapons": [
+    "毛豆射手",
+    "尖胡萝卜",
+    "锯齿草",
+    "西瓜炸弹",
+    "回旋镖盆栽",
+    "炙热辣椒",
+    "仙人散弹",
+    "秋葵导弹"
+  ],
+  "coinReward": 2200,
+  "diamondReward": 150,
+  "initialCoins": 45,
+  "timeLimit": 300,
+  "difficulty": "normal",
+  "healthMultiplier": 2.2,
+  "waves": [
+    {
+      "waveId": 1,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 22,
+          "spawnInterval": 1.6,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 8,
+          "spawnInterval": 4.0,
+          "spawnDelay": 10.0,
+          "characteristics": "高生命, 慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 2,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 18,
+          "spawnInterval": 1.4,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "archer_zombie",
+          "count": 6,
+          "spawnInterval": 6.0,
+          "spawnDelay": 12.0,
+          "characteristics": "远程弓箭攻击"
+        },
+        {
+          "enemyType": "barrel_zombie",
+          "count": 3,
+          "spawnInterval": 12.0,
+          "spawnDelay": 20.0,
+          "characteristics": "爆炸伤害, 自爆攻击"
+        }
+      ]
+    },
+    {
+      "waveId": 3,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 25,
+          "spawnInterval": 1.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 8,
+          "spawnInterval": 3.0,
+          "spawnDelay": 15.0,
+          "characteristics": "超高生命, 极慢速移动"
+        },
+        {
+          "enemyType": "stealth_zombie",
+          "count": 5,
+          "spawnInterval": 8.0,
+          "spawnDelay": 25.0,
+          "characteristics": "隐身能力, 快速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 4,
+      "enemies": [
+        {
+          "enemyType": "boss1_gatekeeper",
+          "count": 1,
+          "spawnInterval": 0.0,
+          "spawnDelay": 30.0,
+          "characteristics": "超高生命, 多种攻击方式, 召唤小怪"
+        }
+      ]
+    }
+  ],
+  "levelSettings": {
+    "energyMax": 8,
+    "energyMaxUpgrades": [
+      9,
+      10,
+      11,
+      12,
+      13,
+      14,
+      15,
+      16,
+      17,
+      18,
+      19,
+      20,
+      21,
+      22,
+      23,
+      24,
+      25,
+      26,
+      27,
+      28
+    ]
+  }
+}

+ 11 - 0
assets/resources/data/backups/levels/Level7_20250902_160157.json.meta

@@ -0,0 +1,11 @@
+{
+  "ver": "2.0.1",
+  "importer": "json",
+  "imported": true,
+  "uuid": "fcf623b1-b14f-406e-ab7f-87746040112a",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

+ 132 - 0
assets/resources/data/backups/levels/Level8_20250902_144918.json

@@ -0,0 +1,132 @@
+{
+  "levelId": "Level8",
+  "name": "火山熔岩(火山场景)",
+  "scene": "volcano",
+  "description": "火山场景的极限挑战,熔岩环境下的终极考验",
+  "backgroundImage": "images/LevelBackground/BG1",
+  "availableWeapons": [
+    "毛豆射手",
+    "尖胡萝卜",
+    "锯齿草",
+    "西瓜炸弹",
+    "回旋镖盆栽",
+    "炙热辣椒",
+    "仙人散弹",
+    "秋葵导弹"
+  ],
+  "coinReward": 2500,
+  "diamondReward": 170,
+  "initialCoins": 45,
+  "timeLimit": 300,
+  "difficulty": "normal",
+  "healthMultiplier": 2.4,
+  "waves": [
+    {
+      "waveId": 1,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 30,
+          "spawnInterval": 1.2,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 10,
+          "spawnInterval": 3.0,
+          "spawnDelay": 8.0,
+          "characteristics": "高生命, 慢速移动"
+        },
+        {
+          "enemyType": "wandering_zombie",
+          "count": 6,
+          "spawnInterval": 5.0,
+          "spawnDelay": 15.0,
+          "characteristics": "左右摇摆, 近战范围大"
+        }
+      ]
+    },
+    {
+      "waveId": 2,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 25,
+          "spawnInterval": 1.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "mage_zombie",
+          "count": 8,
+          "spawnInterval": 4.0,
+          "spawnDelay": 10.0,
+          "characteristics": "远程魔法子弹攻击防御塔"
+        },
+        {
+          "enemyType": "archer_zombie",
+          "count": 6,
+          "spawnInterval": 6.0,
+          "spawnDelay": 18.0,
+          "characteristics": "远程弓箭攻击"
+        },
+        {
+          "enemyType": "barrel_zombie",
+          "count": 4,
+          "spawnInterval": 10.0,
+          "spawnDelay": 25.0,
+          "characteristics": "爆炸伤害, 自爆攻击"
+        }
+      ]
+    },
+    {
+      "waveId": 3,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 20,
+          "spawnInterval": 0.8,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 12,
+          "spawnInterval": 2.5,
+          "spawnDelay": 12.0,
+          "characteristics": "超高生命, 极慢速移动"
+        },
+        {
+          "enemyType": "stealth_zombie",
+          "count": 8,
+          "spawnInterval": 6.0,
+          "spawnDelay": 20.0,
+          "characteristics": "隐身能力, 快速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 4,
+      "enemies": [
+        {
+          "enemyType": "boss2_gravedigger",
+          "count": 1,
+          "spawnInterval": 0.0,
+          "spawnDelay": 30.0,
+          "characteristics": "超高生命, 范围攻击, 召唤增援"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 6,
+          "spawnInterval": 8.0,
+          "spawnDelay": 45.0,
+          "characteristics": "超高生命, 极慢速移动"
+        }
+      ]
+    }
+  ],
+  "levelSettings": {
+    "energyMax": 8
+  }
+}

+ 11 - 0
assets/resources/data/backups/levels/Level8_20250902_144918.json.meta

@@ -0,0 +1,11 @@
+{
+  "ver": "2.0.1",
+  "importer": "json",
+  "imported": true,
+  "uuid": "aeac4e45-988c-4403-888b-f2d365ae1c6a",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

+ 176 - 0
assets/resources/data/backups/levels/Level8_20250902_151257.json

@@ -0,0 +1,176 @@
+{
+  "levelId": "Level8",
+  "name": "火山熔岩(火山场景)",
+  "scene": "volcano",
+  "description": "火山场景的极限挑战,熔岩环境下的终极考验",
+  "backgroundImage": "images/LevelBackground/BG1",
+  "availableWeapons": [
+    "毛豆射手",
+    "尖胡萝卜",
+    "锯齿草",
+    "西瓜炸弹",
+    "回旋镖盆栽",
+    "炙热辣椒",
+    "仙人散弹",
+    "秋葵导弹"
+  ],
+  "coinReward": 2500,
+  "diamondReward": 170,
+  "initialCoins": 45,
+  "timeLimit": 300,
+  "difficulty": "normal",
+  "healthMultiplier": 2.4,
+  "waves": [
+    {
+      "waveId": 1,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 30,
+          "spawnInterval": 1.2,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 10,
+          "spawnInterval": 3.0,
+          "spawnDelay": 8.0,
+          "characteristics": "高生命, 慢速移动"
+        },
+        {
+          "enemyType": "wandering_zombie",
+          "count": 6,
+          "spawnInterval": 5.0,
+          "spawnDelay": 15.0,
+          "characteristics": "左右摇摆, 近战范围大"
+        }
+      ]
+    },
+    {
+      "waveId": 2,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 25,
+          "spawnInterval": 1.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "mage_zombie",
+          "count": 8,
+          "spawnInterval": 4.0,
+          "spawnDelay": 10.0,
+          "characteristics": "远程魔法子弹攻击防御塔"
+        },
+        {
+          "enemyType": "archer_zombie",
+          "count": 6,
+          "spawnInterval": 6.0,
+          "spawnDelay": 18.0,
+          "characteristics": "远程弓箭攻击"
+        },
+        {
+          "enemyType": "barrel_zombie",
+          "count": 4,
+          "spawnInterval": 10.0,
+          "spawnDelay": 25.0,
+          "characteristics": "爆炸伤害, 自爆攻击"
+        }
+      ]
+    },
+    {
+      "waveId": 3,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 20,
+          "spawnInterval": 0.8,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 12,
+          "spawnInterval": 2.5,
+          "spawnDelay": 12.0,
+          "characteristics": "超高生命, 极慢速移动"
+        },
+        {
+          "enemyType": "stealth_zombie",
+          "count": 8,
+          "spawnInterval": 6.0,
+          "spawnDelay": 20.0,
+          "characteristics": "隐身能力, 快速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 4,
+      "enemies": [
+        {
+          "enemyType": "boss2_gravedigger",
+          "count": 1,
+          "spawnInterval": 0.0,
+          "spawnDelay": 30.0,
+          "characteristics": "超高生命, 范围攻击, 召唤增援"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 6,
+          "spawnInterval": 8.0,
+          "spawnDelay": 45.0,
+          "characteristics": "超高生命, 极慢速移动"
+        }
+      ]
+    }
+  ],
+  "levelSettings": {
+    "energyMax": 8,
+    "energyExpValues": [
+      10,
+      15,
+      20,
+      25,
+      30,
+      35,
+      40,
+      45,
+      50,
+      55,
+      60,
+      65,
+      70,
+      75,
+      80,
+      85,
+      90,
+      95,
+      100,
+      105
+    ],
+    "energyMaxUpgrades": [
+      9,
+      10,
+      11,
+      12,
+      13,
+      14,
+      15,
+      16,
+      17,
+      18,
+      19,
+      20,
+      21,
+      22,
+      23,
+      24,
+      25,
+      26,
+      27,
+      28
+    ]
+  }
+}

+ 11 - 0
assets/resources/data/backups/levels/Level8_20250902_151257.json.meta

@@ -0,0 +1,11 @@
+{
+  "ver": "2.0.1",
+  "importer": "json",
+  "imported": true,
+  "uuid": "3fe2526d-4426-4a26-9b72-0016a527c328",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

+ 176 - 0
assets/resources/data/backups/levels/Level8_20250902_151400.json

@@ -0,0 +1,176 @@
+{
+  "levelId": "Level8",
+  "name": "火山熔岩(火山场景)",
+  "scene": "volcano",
+  "description": "火山场景的极限挑战,熔岩环境下的终极考验",
+  "backgroundImage": "images/LevelBackground/BG1",
+  "availableWeapons": [
+    "毛豆射手",
+    "尖胡萝卜",
+    "锯齿草",
+    "西瓜炸弹",
+    "回旋镖盆栽",
+    "炙热辣椒",
+    "仙人散弹",
+    "秋葵导弹"
+  ],
+  "coinReward": 2500,
+  "diamondReward": 170,
+  "initialCoins": 45,
+  "timeLimit": 300,
+  "difficulty": "normal",
+  "healthMultiplier": 2.4,
+  "waves": [
+    {
+      "waveId": 1,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 30,
+          "spawnInterval": 1.2,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 10,
+          "spawnInterval": 3.0,
+          "spawnDelay": 8.0,
+          "characteristics": "高生命, 慢速移动"
+        },
+        {
+          "enemyType": "wandering_zombie",
+          "count": 6,
+          "spawnInterval": 5.0,
+          "spawnDelay": 15.0,
+          "characteristics": "左右摇摆, 近战范围大"
+        }
+      ]
+    },
+    {
+      "waveId": 2,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 25,
+          "spawnInterval": 1.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "mage_zombie",
+          "count": 8,
+          "spawnInterval": 4.0,
+          "spawnDelay": 10.0,
+          "characteristics": "远程魔法子弹攻击防御塔"
+        },
+        {
+          "enemyType": "archer_zombie",
+          "count": 6,
+          "spawnInterval": 6.0,
+          "spawnDelay": 18.0,
+          "characteristics": "远程弓箭攻击"
+        },
+        {
+          "enemyType": "barrel_zombie",
+          "count": 4,
+          "spawnInterval": 10.0,
+          "spawnDelay": 25.0,
+          "characteristics": "爆炸伤害, 自爆攻击"
+        }
+      ]
+    },
+    {
+      "waveId": 3,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 20,
+          "spawnInterval": 0.8,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 12,
+          "spawnInterval": 2.5,
+          "spawnDelay": 12.0,
+          "characteristics": "超高生命, 极慢速移动"
+        },
+        {
+          "enemyType": "stealth_zombie",
+          "count": 8,
+          "spawnInterval": 6.0,
+          "spawnDelay": 20.0,
+          "characteristics": "隐身能力, 快速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 4,
+      "enemies": [
+        {
+          "enemyType": "boss2_gravedigger",
+          "count": 1,
+          "spawnInterval": 0.0,
+          "spawnDelay": 30.0,
+          "characteristics": "超高生命, 范围攻击, 召唤增援"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 6,
+          "spawnInterval": 8.0,
+          "spawnDelay": 45.0,
+          "characteristics": "超高生命, 极慢速移动"
+        }
+      ]
+    }
+  ],
+  "levelSettings": {
+    "energyMax": 8,
+    "energyExpValues": [
+      10,
+      15,
+      20,
+      25,
+      30,
+      35,
+      40,
+      45,
+      50,
+      55,
+      60,
+      65,
+      70,
+      75,
+      80,
+      85,
+      90,
+      95,
+      100,
+      105
+    ],
+    "energyMaxUpgrades": [
+      9,
+      10,
+      11,
+      12,
+      13,
+      14,
+      15,
+      16,
+      17,
+      18,
+      19,
+      20,
+      21,
+      22,
+      23,
+      24,
+      25,
+      26,
+      27,
+      28
+    ]
+  }
+}

+ 11 - 0
assets/resources/data/backups/levels/Level8_20250902_151400.json.meta

@@ -0,0 +1,11 @@
+{
+  "ver": "2.0.1",
+  "importer": "json",
+  "imported": true,
+  "uuid": "966fd113-bd0c-4a55-9fbc-c8854dc9d327",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

+ 154 - 0
assets/resources/data/backups/levels/Level8_20250902_160157.json

@@ -0,0 +1,154 @@
+{
+  "levelId": "Level8",
+  "name": "火山熔岩(火山场景)",
+  "scene": "volcano",
+  "description": "火山场景的极限挑战,熔岩环境下的终极考验",
+  "backgroundImage": "images/LevelBackground/BG1",
+  "availableWeapons": [
+    "毛豆射手",
+    "尖胡萝卜",
+    "锯齿草",
+    "西瓜炸弹",
+    "回旋镖盆栽",
+    "炙热辣椒",
+    "仙人散弹",
+    "秋葵导弹"
+  ],
+  "coinReward": 2500,
+  "diamondReward": 170,
+  "initialCoins": 45,
+  "timeLimit": 300,
+  "difficulty": "normal",
+  "healthMultiplier": 2.4,
+  "waves": [
+    {
+      "waveId": 1,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 30,
+          "spawnInterval": 1.2,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 10,
+          "spawnInterval": 3.0,
+          "spawnDelay": 8.0,
+          "characteristics": "高生命, 慢速移动"
+        },
+        {
+          "enemyType": "wandering_zombie",
+          "count": 6,
+          "spawnInterval": 5.0,
+          "spawnDelay": 15.0,
+          "characteristics": "左右摇摆, 近战范围大"
+        }
+      ]
+    },
+    {
+      "waveId": 2,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 25,
+          "spawnInterval": 1.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "mage_zombie",
+          "count": 8,
+          "spawnInterval": 4.0,
+          "spawnDelay": 10.0,
+          "characteristics": "远程魔法子弹攻击防御塔"
+        },
+        {
+          "enemyType": "archer_zombie",
+          "count": 6,
+          "spawnInterval": 6.0,
+          "spawnDelay": 18.0,
+          "characteristics": "远程弓箭攻击"
+        },
+        {
+          "enemyType": "barrel_zombie",
+          "count": 4,
+          "spawnInterval": 10.0,
+          "spawnDelay": 25.0,
+          "characteristics": "爆炸伤害, 自爆攻击"
+        }
+      ]
+    },
+    {
+      "waveId": 3,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 20,
+          "spawnInterval": 0.8,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 12,
+          "spawnInterval": 2.5,
+          "spawnDelay": 12.0,
+          "characteristics": "超高生命, 极慢速移动"
+        },
+        {
+          "enemyType": "stealth_zombie",
+          "count": 8,
+          "spawnInterval": 6.0,
+          "spawnDelay": 20.0,
+          "characteristics": "隐身能力, 快速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 4,
+      "enemies": [
+        {
+          "enemyType": "boss2_gravedigger",
+          "count": 1,
+          "spawnInterval": 0.0,
+          "spawnDelay": 30.0,
+          "characteristics": "超高生命, 范围攻击, 召唤增援"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 6,
+          "spawnInterval": 8.0,
+          "spawnDelay": 45.0,
+          "characteristics": "超高生命, 极慢速移动"
+        }
+      ]
+    }
+  ],
+  "levelSettings": {
+    "energyMax": 8,
+    "energyMaxUpgrades": [
+      9,
+      10,
+      11,
+      12,
+      13,
+      14,
+      15,
+      16,
+      17,
+      18,
+      19,
+      20,
+      21,
+      22,
+      23,
+      24,
+      25,
+      26,
+      27,
+      28
+    ]
+  }
+}

+ 11 - 0
assets/resources/data/backups/levels/Level8_20250902_160157.json.meta

@@ -0,0 +1,11 @@
+{
+  "ver": "2.0.1",
+  "importer": "json",
+  "imported": true,
+  "uuid": "c9822d78-170b-4e98-a26f-e426a2d1f0f4",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

+ 152 - 0
assets/resources/data/backups/levels/Level9_20250902_144918.json

@@ -0,0 +1,152 @@
+{
+  "levelId": "Level9",
+  "name": "终极试炼(终极场景)",
+  "scene": "ultimate",
+  "description": "终极试炼关卡,解锁最后的植物武器,面对最强挑战",
+  "backgroundImage": "images/LevelBackground/BG1",
+  "availableWeapons": [
+    "毛豆射手",
+    "尖胡萝卜",
+    "锯齿草",
+    "西瓜炸弹",
+    "回旋镖盆栽",
+    "炙热辣椒",
+    "仙人散弹",
+    "秋葵导弹",
+    "狼牙棒"
+  ],
+  "coinReward": 3000,
+  "diamondReward": 200,
+  "initialCoins": 45,
+  "timeLimit": 300,
+  "difficulty": "normal",
+  "healthMultiplier": 2.6,
+  "waves": [
+    {
+      "waveId": 1,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 40,
+          "spawnInterval": 0.8,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 15,
+          "spawnInterval": 2.5,
+          "spawnDelay": 5.0,
+          "characteristics": "高生命, 慢速移动"
+        },
+        {
+          "enemyType": "wandering_zombie",
+          "count": 10,
+          "spawnInterval": 4.0,
+          "spawnDelay": 12.0,
+          "characteristics": "左右摇摆, 近战范围大"
+        }
+      ]
+    },
+    {
+      "waveId": 2,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 35,
+          "spawnInterval": 0.6,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "mage_zombie",
+          "count": 12,
+          "spawnInterval": 3.0,
+          "spawnDelay": 8.0,
+          "characteristics": "远程魔法子弹攻击防御塔"
+        },
+        {
+          "enemyType": "archer_zombie",
+          "count": 10,
+          "spawnInterval": 4.0,
+          "spawnDelay": 15.0,
+          "characteristics": "远程弓箭攻击"
+        },
+        {
+          "enemyType": "barrel_zombie",
+          "count": 6,
+          "spawnInterval": 8.0,
+          "spawnDelay": 22.0,
+          "characteristics": "爆炸伤害, 自爆攻击"
+        }
+      ]
+    },
+    {
+      "waveId": 3,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 30,
+          "spawnInterval": 0.5,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 15,
+          "spawnInterval": 2.0,
+          "spawnDelay": 10.0,
+          "characteristics": "超高生命, 极慢速移动"
+        },
+        {
+          "enemyType": "stealth_zombie",
+          "count": 12,
+          "spawnInterval": 4.0,
+          "spawnDelay": 18.0,
+          "characteristics": "隐身能力, 快速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 4,
+      "enemies": [
+        {
+          "enemyType": "boss1_gatekeeper",
+          "count": 1,
+          "spawnInterval": 0.0,
+          "spawnDelay": 25.0,
+          "characteristics": "超高生命, 多种攻击方式, 召唤小怪"
+        },
+        {
+          "enemyType": "boss2_gravedigger",
+          "count": 1,
+          "spawnInterval": 0.0,
+          "spawnDelay": 60.0,
+          "characteristics": "超高生命, 范围攻击, 召唤增援"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 10,
+          "spawnInterval": 6.0,
+          "spawnDelay": 40.0,
+          "characteristics": "超高生命, 极慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 5,
+      "enemies": [
+        {
+          "enemyType": "终极BOSS",
+          "count": 1,
+          "spawnInterval": 0.0,
+          "spawnDelay": 30.0,
+          "characteristics": "极高生命, 全屏攻击, 无敌阶段, 召唤军团"
+        }
+      ]
+    }
+  ],
+  "levelSettings": {
+    "energyMax": 9
+  }
+}

+ 11 - 0
assets/resources/data/backups/levels/Level9_20250902_144918.json.meta

@@ -0,0 +1,11 @@
+{
+  "ver": "2.0.1",
+  "importer": "json",
+  "imported": true,
+  "uuid": "6c40eea5-dcea-473c-84cf-15543f43b59c",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

+ 196 - 0
assets/resources/data/backups/levels/Level9_20250902_151257.json

@@ -0,0 +1,196 @@
+{
+  "levelId": "Level9",
+  "name": "终极试炼(终极场景)",
+  "scene": "ultimate",
+  "description": "终极试炼关卡,解锁最后的植物武器,面对最强挑战",
+  "backgroundImage": "images/LevelBackground/BG1",
+  "availableWeapons": [
+    "毛豆射手",
+    "尖胡萝卜",
+    "锯齿草",
+    "西瓜炸弹",
+    "回旋镖盆栽",
+    "炙热辣椒",
+    "仙人散弹",
+    "秋葵导弹",
+    "狼牙棒"
+  ],
+  "coinReward": 3000,
+  "diamondReward": 200,
+  "initialCoins": 45,
+  "timeLimit": 300,
+  "difficulty": "normal",
+  "healthMultiplier": 2.6,
+  "waves": [
+    {
+      "waveId": 1,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 40,
+          "spawnInterval": 0.8,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 15,
+          "spawnInterval": 2.5,
+          "spawnDelay": 5.0,
+          "characteristics": "高生命, 慢速移动"
+        },
+        {
+          "enemyType": "wandering_zombie",
+          "count": 10,
+          "spawnInterval": 4.0,
+          "spawnDelay": 12.0,
+          "characteristics": "左右摇摆, 近战范围大"
+        }
+      ]
+    },
+    {
+      "waveId": 2,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 35,
+          "spawnInterval": 0.6,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "mage_zombie",
+          "count": 12,
+          "spawnInterval": 3.0,
+          "spawnDelay": 8.0,
+          "characteristics": "远程魔法子弹攻击防御塔"
+        },
+        {
+          "enemyType": "archer_zombie",
+          "count": 10,
+          "spawnInterval": 4.0,
+          "spawnDelay": 15.0,
+          "characteristics": "远程弓箭攻击"
+        },
+        {
+          "enemyType": "barrel_zombie",
+          "count": 6,
+          "spawnInterval": 8.0,
+          "spawnDelay": 22.0,
+          "characteristics": "爆炸伤害, 自爆攻击"
+        }
+      ]
+    },
+    {
+      "waveId": 3,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 30,
+          "spawnInterval": 0.5,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 15,
+          "spawnInterval": 2.0,
+          "spawnDelay": 10.0,
+          "characteristics": "超高生命, 极慢速移动"
+        },
+        {
+          "enemyType": "stealth_zombie",
+          "count": 12,
+          "spawnInterval": 4.0,
+          "spawnDelay": 18.0,
+          "characteristics": "隐身能力, 快速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 4,
+      "enemies": [
+        {
+          "enemyType": "boss1_gatekeeper",
+          "count": 1,
+          "spawnInterval": 0.0,
+          "spawnDelay": 25.0,
+          "characteristics": "超高生命, 多种攻击方式, 召唤小怪"
+        },
+        {
+          "enemyType": "boss2_gravedigger",
+          "count": 1,
+          "spawnInterval": 0.0,
+          "spawnDelay": 60.0,
+          "characteristics": "超高生命, 范围攻击, 召唤增援"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 10,
+          "spawnInterval": 6.0,
+          "spawnDelay": 40.0,
+          "characteristics": "超高生命, 极慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 5,
+      "enemies": [
+        {
+          "enemyType": "终极BOSS",
+          "count": 1,
+          "spawnInterval": 0.0,
+          "spawnDelay": 30.0,
+          "characteristics": "极高生命, 全屏攻击, 无敌阶段, 召唤军团"
+        }
+      ]
+    }
+  ],
+  "levelSettings": {
+    "energyMax": 9,
+    "energyExpValues": [
+      10,
+      15,
+      20,
+      25,
+      30,
+      35,
+      40,
+      45,
+      50,
+      55,
+      60,
+      65,
+      70,
+      75,
+      80,
+      85,
+      90,
+      95,
+      100,
+      105
+    ],
+    "energyMaxUpgrades": [
+      10,
+      11,
+      12,
+      13,
+      14,
+      15,
+      16,
+      17,
+      18,
+      19,
+      20,
+      21,
+      22,
+      23,
+      24,
+      25,
+      26,
+      27,
+      28,
+      29
+    ]
+  }
+}

+ 11 - 0
assets/resources/data/backups/levels/Level9_20250902_151257.json.meta

@@ -0,0 +1,11 @@
+{
+  "ver": "2.0.1",
+  "importer": "json",
+  "imported": true,
+  "uuid": "3ffd0324-f99e-42ff-90e0-d527a4bfe5b0",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

+ 196 - 0
assets/resources/data/backups/levels/Level9_20250902_151400.json

@@ -0,0 +1,196 @@
+{
+  "levelId": "Level9",
+  "name": "终极试炼(终极场景)",
+  "scene": "ultimate",
+  "description": "终极试炼关卡,解锁最后的植物武器,面对最强挑战",
+  "backgroundImage": "images/LevelBackground/BG1",
+  "availableWeapons": [
+    "毛豆射手",
+    "尖胡萝卜",
+    "锯齿草",
+    "西瓜炸弹",
+    "回旋镖盆栽",
+    "炙热辣椒",
+    "仙人散弹",
+    "秋葵导弹",
+    "狼牙棒"
+  ],
+  "coinReward": 3000,
+  "diamondReward": 200,
+  "initialCoins": 45,
+  "timeLimit": 300,
+  "difficulty": "normal",
+  "healthMultiplier": 2.6,
+  "waves": [
+    {
+      "waveId": 1,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 40,
+          "spawnInterval": 0.8,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 15,
+          "spawnInterval": 2.5,
+          "spawnDelay": 5.0,
+          "characteristics": "高生命, 慢速移动"
+        },
+        {
+          "enemyType": "wandering_zombie",
+          "count": 10,
+          "spawnInterval": 4.0,
+          "spawnDelay": 12.0,
+          "characteristics": "左右摇摆, 近战范围大"
+        }
+      ]
+    },
+    {
+      "waveId": 2,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 35,
+          "spawnInterval": 0.6,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "mage_zombie",
+          "count": 12,
+          "spawnInterval": 3.0,
+          "spawnDelay": 8.0,
+          "characteristics": "远程魔法子弹攻击防御塔"
+        },
+        {
+          "enemyType": "archer_zombie",
+          "count": 10,
+          "spawnInterval": 4.0,
+          "spawnDelay": 15.0,
+          "characteristics": "远程弓箭攻击"
+        },
+        {
+          "enemyType": "barrel_zombie",
+          "count": 6,
+          "spawnInterval": 8.0,
+          "spawnDelay": 22.0,
+          "characteristics": "爆炸伤害, 自爆攻击"
+        }
+      ]
+    },
+    {
+      "waveId": 3,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 30,
+          "spawnInterval": 0.5,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 15,
+          "spawnInterval": 2.0,
+          "spawnDelay": 10.0,
+          "characteristics": "超高生命, 极慢速移动"
+        },
+        {
+          "enemyType": "stealth_zombie",
+          "count": 12,
+          "spawnInterval": 4.0,
+          "spawnDelay": 18.0,
+          "characteristics": "隐身能力, 快速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 4,
+      "enemies": [
+        {
+          "enemyType": "boss1_gatekeeper",
+          "count": 1,
+          "spawnInterval": 0.0,
+          "spawnDelay": 25.0,
+          "characteristics": "超高生命, 多种攻击方式, 召唤小怪"
+        },
+        {
+          "enemyType": "boss2_gravedigger",
+          "count": 1,
+          "spawnInterval": 0.0,
+          "spawnDelay": 60.0,
+          "characteristics": "超高生命, 范围攻击, 召唤增援"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 10,
+          "spawnInterval": 6.0,
+          "spawnDelay": 40.0,
+          "characteristics": "超高生命, 极慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 5,
+      "enemies": [
+        {
+          "enemyType": "终极BOSS",
+          "count": 1,
+          "spawnInterval": 0.0,
+          "spawnDelay": 30.0,
+          "characteristics": "极高生命, 全屏攻击, 无敌阶段, 召唤军团"
+        }
+      ]
+    }
+  ],
+  "levelSettings": {
+    "energyMax": 9,
+    "energyExpValues": [
+      10,
+      15,
+      20,
+      25,
+      30,
+      35,
+      40,
+      45,
+      50,
+      55,
+      60,
+      65,
+      70,
+      75,
+      80,
+      85,
+      90,
+      95,
+      100,
+      105
+    ],
+    "energyMaxUpgrades": [
+      10,
+      11,
+      12,
+      13,
+      14,
+      15,
+      16,
+      17,
+      18,
+      19,
+      20,
+      21,
+      22,
+      23,
+      24,
+      25,
+      26,
+      27,
+      28,
+      29
+    ]
+  }
+}

+ 11 - 0
assets/resources/data/backups/levels/Level9_20250902_151400.json.meta

@@ -0,0 +1,11 @@
+{
+  "ver": "2.0.1",
+  "importer": "json",
+  "imported": true,
+  "uuid": "ef06fbc1-fd87-4529-8f3b-0a6da713e48f",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

+ 174 - 0
assets/resources/data/backups/levels/Level9_20250902_160157.json

@@ -0,0 +1,174 @@
+{
+  "levelId": "Level9",
+  "name": "终极试炼(终极场景)",
+  "scene": "ultimate",
+  "description": "终极试炼关卡,解锁最后的植物武器,面对最强挑战",
+  "backgroundImage": "images/LevelBackground/BG1",
+  "availableWeapons": [
+    "毛豆射手",
+    "尖胡萝卜",
+    "锯齿草",
+    "西瓜炸弹",
+    "回旋镖盆栽",
+    "炙热辣椒",
+    "仙人散弹",
+    "秋葵导弹",
+    "狼牙棒"
+  ],
+  "coinReward": 3000,
+  "diamondReward": 200,
+  "initialCoins": 45,
+  "timeLimit": 300,
+  "difficulty": "normal",
+  "healthMultiplier": 2.6,
+  "waves": [
+    {
+      "waveId": 1,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 40,
+          "spawnInterval": 0.8,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 15,
+          "spawnInterval": 2.5,
+          "spawnDelay": 5.0,
+          "characteristics": "高生命, 慢速移动"
+        },
+        {
+          "enemyType": "wandering_zombie",
+          "count": 10,
+          "spawnInterval": 4.0,
+          "spawnDelay": 12.0,
+          "characteristics": "左右摇摆, 近战范围大"
+        }
+      ]
+    },
+    {
+      "waveId": 2,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 35,
+          "spawnInterval": 0.6,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "mage_zombie",
+          "count": 12,
+          "spawnInterval": 3.0,
+          "spawnDelay": 8.0,
+          "characteristics": "远程魔法子弹攻击防御塔"
+        },
+        {
+          "enemyType": "archer_zombie",
+          "count": 10,
+          "spawnInterval": 4.0,
+          "spawnDelay": 15.0,
+          "characteristics": "远程弓箭攻击"
+        },
+        {
+          "enemyType": "barrel_zombie",
+          "count": 6,
+          "spawnInterval": 8.0,
+          "spawnDelay": 22.0,
+          "characteristics": "爆炸伤害, 自爆攻击"
+        }
+      ]
+    },
+    {
+      "waveId": 3,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 30,
+          "spawnInterval": 0.5,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 15,
+          "spawnInterval": 2.0,
+          "spawnDelay": 10.0,
+          "characteristics": "超高生命, 极慢速移动"
+        },
+        {
+          "enemyType": "stealth_zombie",
+          "count": 12,
+          "spawnInterval": 4.0,
+          "spawnDelay": 18.0,
+          "characteristics": "隐身能力, 快速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 4,
+      "enemies": [
+        {
+          "enemyType": "boss1_gatekeeper",
+          "count": 1,
+          "spawnInterval": 0.0,
+          "spawnDelay": 25.0,
+          "characteristics": "超高生命, 多种攻击方式, 召唤小怪"
+        },
+        {
+          "enemyType": "boss2_gravedigger",
+          "count": 1,
+          "spawnInterval": 0.0,
+          "spawnDelay": 60.0,
+          "characteristics": "超高生命, 范围攻击, 召唤增援"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 10,
+          "spawnInterval": 6.0,
+          "spawnDelay": 40.0,
+          "characteristics": "超高生命, 极慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 5,
+      "enemies": [
+        {
+          "enemyType": "终极BOSS",
+          "count": 1,
+          "spawnInterval": 0.0,
+          "spawnDelay": 30.0,
+          "characteristics": "极高生命, 全屏攻击, 无敌阶段, 召唤军团"
+        }
+      ]
+    }
+  ],
+  "levelSettings": {
+    "energyMax": 9,
+    "energyMaxUpgrades": [
+      10,
+      11,
+      12,
+      13,
+      14,
+      15,
+      16,
+      17,
+      18,
+      19,
+      20,
+      21,
+      22,
+      23,
+      24,
+      25,
+      26,
+      27,
+      28,
+      29
+    ]
+  }
+}

+ 11 - 0
assets/resources/data/backups/levels/Level9_20250902_160157.json.meta

@@ -0,0 +1,11 @@
+{
+  "ver": "2.0.1",
+  "importer": "json",
+  "imported": true,
+  "uuid": "71a857d0-96d3-4959-8f1b-045bd1891f3e",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

+ 8 - 8
assets/resources/data/enemies.json

@@ -533,7 +533,7 @@
       "weapon_prop": "nan"
     },
     "audio": {
-      "attack_sound": "data/弹球音效/hammer1.mp4",
+      "attack_sound": "data/弹球音效/hammer1.mp3",
       "death_sound": "data/弹球音效/normal zombie die 6.mp3",
       "hit_sound": "Null",
       "walk_sound": "Null",
@@ -625,7 +625,7 @@
       "weapon_prop": "props/iron_gate"
     },
     "audio": {
-      "attack_sound": "data/弹球音效/hammer1.mp5",
+      "attack_sound": "data/弹球音效/hammer1.mp3",
       "death_sound": "data/弹球音效/normal zombie die 7.mp3",
       "hit_sound": "Null",
       "walk_sound": "Null",
@@ -717,7 +717,7 @@
       "weapon_prop": "props/tombstone"
     },
     "audio": {
-      "attack_sound": "data/弹球音效/hammer1.mp6",
+      "attack_sound": "data/弹球音效/hammer1.mp3",
       "death_sound": "data/弹球音效/boss die.mp3",
       "hit_sound": "Null",
       "walk_sound": "Null",
@@ -830,7 +830,7 @@
       "weapon_prop": "props/cyber_arm"
     },
     "audio": {
-      "attack_sound": "data/弹球音效/hammer1.mp7",
+      "attack_sound": "data/弹球音效/hammer1.mp3",
       "death_sound": "data/弹球音效/boss die.mp3",
       "hit_sound": "Null",
       "walk_sound": "Null",
@@ -943,8 +943,8 @@
       "weapon_prop": "nan"
     },
     "audio": {
-      "attack_sound": "data/弹球音效/hammer1.mp8",
-      "death_sound": "data/弹球音效/boss die.mp4",
+      "attack_sound": "data/弹球音效/hammer1.mp3",
+      "death_sound": "data/弹球音效/boss die.mp3",
       "hit_sound": "Null",
       "walk_sound": "Null",
       "block_sound": "nan",
@@ -1056,8 +1056,8 @@
       "weapon_prop": "nan"
     },
     "audio": {
-      "attack_sound": "data/弹球音效/hammer1.mp9",
-      "death_sound": "data/弹球音效/boss die.mp5",
+      "attack_sound": "data/弹球音效/hammer1.mp3",
+      "death_sound": "data/弹球音效/boss die.mp3",
       "hit_sound": "Null",
       "walk_sound": "Null",
       "block_sound": "nan",

+ 0 - 1066
assets/resources/data/enemies_backup_20250828_185624.json

@@ -1,1066 +0,0 @@
-[
-  {
-    "id": "normal_zombie",
-    "name": "普通僵尸",
-    "type": "basic",
-    "stats": {
-      "health": 35,
-      "maxHealth": 35,
-      "defense": 0,
-      "speed": 30.0
-    },
-    "movement": {
-      "pattern": "direct",
-      "speed": 30.0,
-      "patrolRange": 100,
-      "chaseRange": 200,
-      "rotationSpeed": 180.0,
-      "moveType": "straight",
-      "swingAmplitude": 0.0,
-      "swingFrequency": 0.0,
-      "speedVariation": 0.1
-    },
-    "combat": {
-      "attackDamage": 1,
-      "attackRange": 1.0,
-      "attackSpeed": 1.0,
-      "canBlock": false,
-      "blockChance": 0.0,
-      "blockDamageReduction": 0.5,
-      "attackCooldown": 1.0,
-      "attackType": "melee",
-      "attackDelay": 1.0,
-      "weaponType": "none",
-      "projectileType": "none",
-      "projectileSpeed": 100.0
-    },
-    "visualConfig": {
-      "spritePath": "Animation/EnemyAni/001",
-      "scale": 1.0,
-      "animationSpeed": 1.0,
-      "flipX": false,
-      "tint": "#FFFFFF",
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weaponProp": "props/baseball_bat"
-    },
-    "audioConfig": {
-      "attackSound": "enemy_attack",
-      "deathSound": "enemy_death",
-      "hitSound": "enemy_hit",
-      "walkSound": "audio/zombie_walk",
-      "blockSound": "",
-      "stealthSound": "",
-      "armorBreakSound": "",
-      "fuseSound": "",
-      "volume": 1.0
-    },
-    "visual": {
-      "sprite_path": "Animation/EnemyAni/001",
-      "scale": 1.0,
-      "animation_speed": 1.0,
-      "flip_horizontal": false,
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weapon_prop": "props/baseball_bat"
-    },
-    "audio": {
-      "attack_sound": "data/弹球音效/dao2",
-      "death_sound": "data/弹球音效/normal zombie die 1",
-      "hit_sound": "Null",
-      "walk_sound": "Null",
-      "block_sound": "nan",
-      "stealth_sound": "nan",
-      "armor_break_sound": "nan",
-      "fuse_sound": "nan"
-    },
-    "boss": {
-      "is_boss": false,
-      "phases": 1,
-      "rage_threshold": 0.3,
-      "rage_damage_multiplier": 1.0,
-      "rage_speed_multiplier": 1.0
-    }
-  },
-  {
-    "id": "roadblock_zombie",
-    "name": "路障僵尸",
-    "type": "armored",
-    "stats": {
-      "health": 50,
-      "maxHealth": 50,
-      "defense": 1,
-      "speed": 25.0
-    },
-    "movement": {
-      "pattern": "direct",
-      "speed": 40.0,
-      "patrolRange": 100,
-      "chaseRange": 200,
-      "rotationSpeed": 180.0,
-      "moveType": "straight",
-      "swingAmplitude": 0.0,
-      "swingFrequency": 0.0,
-      "speedVariation": 0.1
-    },
-    "combat": {
-      "attackDamage": 1,
-      "attackRange": 30.0,
-      "attackSpeed": 0.3,
-      "canBlock": false,
-      "blockChance": 0.0,
-      "blockDamageReduction": 0.5,
-      "attackCooldown": 3.0,
-      "attackType": "melee",
-      "attackDelay": 1.0,
-      "weaponType": "none",
-      "projectileType": "none",
-      "projectileSpeed": 100.0
-    },
-    "visualConfig": {
-      "spritePath": "Animation/EnemyAni/002",
-      "scale": 1.0,
-      "animationSpeed": 1.0,
-      "flipX": false,
-      "tint": "#FFFFFF",
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weaponProp": "props/magic_staff"
-    },
-    "audioConfig": {
-      "attackSound": "enemy_attack",
-      "deathSound": "enemy_death",
-      "hitSound": "enemy_hit",
-      "walkSound": "audio/roadblock_walk",
-      "blockSound": "",
-      "stealthSound": "",
-      "armorBreakSound": "",
-      "fuseSound": "",
-      "volume": 1.0
-    },
-    "visual": {
-      "sprite_path": "Animation/EnemyAni/002",
-      "scale": 1.0,
-      "animation_speed": 1.0,
-      "flip_horizontal": false,
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weapon_prop": "props/magic_staff"
-    },
-    "audio": {
-      "attack_sound": "data/弹球音效/bow",
-      "death_sound": "data/弹球音效/normal zombie die 2",
-      "hit_sound": "Null",
-      "walk_sound": "Null",
-      "block_sound": "nan",
-      "stealth_sound": "nan",
-      "armor_break_sound": "nan",
-      "fuse_sound": "nan"
-    },
-    "boss": {
-      "is_boss": false,
-      "phases": 1,
-      "rage_threshold": 0.3,
-      "rage_damage_multiplier": 1.0,
-      "rage_speed_multiplier": 1.0
-    }
-  },
-  {
-    "id": "wandering_zombie",
-    "name": "漫步僵尸",
-    "type": "wanderer",
-    "stats": {
-      "health": 42,
-      "maxHealth": 42,
-      "defense": 0,
-      "speed": 35.0
-    },
-    "movement": {
-      "pattern": "direct",
-      "speed": 45.0,
-      "patrolRange": 100,
-      "chaseRange": 200,
-      "rotationSpeed": 180.0,
-      "moveType": "sway",
-      "swingAmplitude": 20.0,
-      "swingFrequency": 2.0,
-      "speedVariation": 0.2
-    },
-    "combat": {
-      "attackDamage": 1,
-      "attackRange": 30.0,
-      "attackSpeed": 0.4,
-      "canBlock": false,
-      "blockChance": 0.0,
-      "blockDamageReduction": 0.5,
-      "attackCooldown": 3.0,
-      "attackType": "melee_weapon",
-      "attackDelay": 1.0,
-      "weaponType": "baseball_bat",
-      "projectileType": "none",
-      "projectileSpeed": 100.0
-    },
-    "visualConfig": {
-      "spritePath": "Animation/EnemyAni/003",
-      "scale": 1.0,
-      "animationSpeed": 1.0,
-      "flipX": false,
-      "tint": "#FFFFFF",
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weaponProp": "props/bow"
-    },
-    "audioConfig": {
-      "attackSound": "enemy_attack",
-      "deathSound": "enemy_death",
-      "hitSound": "enemy_hit",
-      "walkSound": "audio/wandering_walk",
-      "blockSound": "",
-      "stealthSound": "",
-      "armorBreakSound": "",
-      "fuseSound": "",
-      "volume": 1.0
-    },
-    "visual": {
-      "sprite_path": "Animation/EnemyAni/003",
-      "scale": 1.0,
-      "animation_speed": 1.0,
-      "flip_horizontal": false,
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weapon_prop": "props/bow"
-    },
-    "audio": {
-      "attack_sound": "data/弹球音效/MagicianAttack",
-      "death_sound": "data/弹球音效/normal zombie die 3",
-      "hit_sound": "Null",
-      "walk_sound": "Null",
-      "block_sound": "nan",
-      "stealth_sound": "nan",
-      "armor_break_sound": "nan",
-      "fuse_sound": "nan"
-    },
-    "boss": {
-      "is_boss": false,
-      "phases": 1,
-      "rage_threshold": 0.3,
-      "rage_damage_multiplier": 1.0,
-      "rage_speed_multiplier": 1.0
-    }
-  },
-  {
-    "id": "mage_zombie",
-    "name": "法师僵尸",
-    "type": "ranged_caster",
-    "stats": {
-      "health": 25,
-      "maxHealth": 25,
-      "defense": 0,
-      "speed": 15.0
-    },
-    "movement": {
-      "pattern": "direct",
-      "speed": 35.0,
-      "patrolRange": 100,
-      "chaseRange": 200,
-      "rotationSpeed": 180.0,
-      "moveType": "straight",
-      "swingAmplitude": 0.0,
-      "swingFrequency": 0.0,
-      "speedVariation": 0.1
-    },
-    "combat": {
-      "attackDamage": 1,
-      "attackRange": 200.0,
-      "attackSpeed": 0.2,
-      "canBlock": false,
-      "blockChance": 0.0,
-      "blockDamageReduction": 0.5,
-      "attackCooldown": 4.0,
-      "attackType": "magic_projectile",
-      "attackDelay": 1.0,
-      "weaponType": "none",
-      "projectileType": "magic_bolt",
-      "projectileSpeed": 50.0
-    },
-    "visualConfig": {
-      "spritePath": "Animation/EnemyAni/004",
-      "scale": 1.0,
-      "animationSpeed": 1.0,
-      "flipX": false,
-      "tint": "#FFFFFF",
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weaponProp": ""
-    },
-    "audioConfig": {
-      "attackSound": "enemy_attack",
-      "deathSound": "enemy_death",
-      "hitSound": "enemy_hit",
-      "walkSound": "audio/mage_walk",
-      "blockSound": "",
-      "stealthSound": "",
-      "armorBreakSound": "",
-      "fuseSound": "",
-      "volume": 1.0
-    },
-    "visual": {
-      "sprite_path": "Animation/EnemyAni/004",
-      "scale": 1.0,
-      "animation_speed": 1.0,
-      "flip_horizontal": false,
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weapon_prop": "nan"
-    },
-    "audio": {
-      "attack_sound": "data/弹球音效/zhanshiAtk",
-      "death_sound": "data/弹球音效/normal zombie die 4",
-      "hit_sound": "Null",
-      "walk_sound": "Null",
-      "block_sound": "nan",
-      "stealth_sound": "nan",
-      "armor_break_sound": "nan",
-      "fuse_sound": "nan"
-    },
-    "boss": {
-      "is_boss": false,
-      "phases": 1,
-      "rage_threshold": 0.3,
-      "rage_damage_multiplier": 1.0,
-      "rage_speed_multiplier": 1.0
-    }
-  },
-  {
-    "id": "archer_zombie",
-    "name": "弓箭僵尸",
-    "type": "ranged_archer",
-    "stats": {
-      "health": 25,
-      "maxHealth": 25,
-      "defense": 0,
-      "speed": 15.0
-    },
-    "movement": {
-      "pattern": "direct",
-      "speed": 40.0,
-      "patrolRange": 100,
-      "chaseRange": 200,
-      "rotationSpeed": 180.0,
-      "moveType": "straight",
-      "swingAmplitude": 0.0,
-      "swingFrequency": 0.0,
-      "speedVariation": 0.1
-    },
-    "combat": {
-      "attackDamage": 1,
-      "attackRange": 250.0,
-      "attackSpeed": 0.2,
-      "canBlock": false,
-      "blockChance": 0.0,
-      "blockDamageReduction": 0.5,
-      "attackCooldown": 4.0,
-      "attackType": "arrow_projectile",
-      "attackDelay": 1.0,
-      "weaponType": "none",
-      "projectileType": "arrow",
-      "projectileSpeed": 100.0
-    },
-    "visualConfig": {
-      "spritePath": "Animation/EnemyAni/005",
-      "scale": 1.0,
-      "animationSpeed": 1.0,
-      "flipX": false,
-      "tint": "#FFFFFF",
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weaponProp": ""
-    },
-    "audioConfig": {
-      "attackSound": "enemy_attack",
-      "deathSound": "enemy_death",
-      "hitSound": "enemy_hit",
-      "walkSound": "audio/archer_walk",
-      "blockSound": "",
-      "stealthSound": "",
-      "armorBreakSound": "",
-      "fuseSound": "",
-      "volume": 1.0
-    },
-    "visual": {
-      "sprite_path": "Animation/EnemyAni/005",
-      "scale": 1.0,
-      "animation_speed": 1.0,
-      "flip_horizontal": false,
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weapon_prop": "nan"
-    },
-    "audio": {
-      "attack_sound": "data/弹球音效/hammer1",
-      "death_sound": "data/弹球音效/normal zombie die 5",
-      "hit_sound": "Null",
-      "walk_sound": "Null",
-      "block_sound": "nan",
-      "stealth_sound": "nan",
-      "armor_break_sound": "nan",
-      "fuse_sound": "nan"
-    },
-    "boss": {
-      "is_boss": false,
-      "phases": 1,
-      "rage_threshold": 0.3,
-      "rage_damage_multiplier": 1.0,
-      "rage_speed_multiplier": 1.0
-    }
-  },
-  {
-    "id": "stealth_zombie",
-    "name": "隐身僵尸",
-    "type": "stealth",
-    "stats": {
-      "health": 42,
-      "maxHealth": 42,
-      "defense": 0,
-      "speed": 35.0
-    },
-    "movement": {
-      "pattern": "direct",
-      "speed": 60.0,
-      "patrolRange": 100,
-      "chaseRange": 200,
-      "rotationSpeed": 180.0,
-      "moveType": "straight",
-      "swingAmplitude": 0.0,
-      "swingFrequency": 0.0,
-      "speedVariation": 0.1
-    },
-    "combat": {
-      "attackDamage": 1,
-      "attackRange": 30.0,
-      "attackSpeed": 0.4,
-      "canBlock": false,
-      "blockChance": 0.0,
-      "blockDamageReduction": 0.5,
-      "attackCooldown": 3.0,
-      "attackType": "stealth_strike",
-      "attackDelay": 1.0,
-      "weaponType": "none",
-      "projectileType": "none",
-      "projectileSpeed": 100.0
-    },
-    "visualConfig": {
-      "spritePath": "Animation/EnemyAni/006",
-      "scale": 1.0,
-      "animationSpeed": 1.0,
-      "flipX": false,
-      "tint": "#FFFFFF",
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weaponProp": ""
-    },
-    "audioConfig": {
-      "attackSound": "enemy_attack",
-      "deathSound": "enemy_death",
-      "hitSound": "enemy_hit",
-      "walkSound": "audio/stealth_walk",
-      "blockSound": "",
-      "stealthSound": "audio/stealth_activate",
-      "armorBreakSound": "",
-      "fuseSound": "",
-      "volume": 1.0
-    },
-    "visual": {
-      "sprite_path": "Animation/EnemyAni/006",
-      "scale": 1.0,
-      "animation_speed": 1.0,
-      "flip_horizontal": false,
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weapon_prop": "nan"
-    },
-    "audio": {
-      "attack_sound": "data/弹球音效/hammer1",
-      "death_sound": "data/弹球音效/normal zombie die 6",
-      "hit_sound": "Null",
-      "walk_sound": "Null",
-      "block_sound": "nan",
-      "stealth_sound": "Null",
-      "armor_break_sound": "nan",
-      "fuse_sound": "nan"
-    },
-    "boss": {
-      "is_boss": false,
-      "phases": 1,
-      "rage_threshold": 0.3,
-      "rage_damage_multiplier": 1.0,
-      "rage_speed_multiplier": 1.0
-    }
-  },
-  {
-    "id": "bucket_zombie",
-    "name": "铁桶僵尸",
-    "type": "heavy_armor",
-    "stats": {
-      "health": 70,
-      "maxHealth": 70,
-      "defense": 2,
-      "speed": 15.0
-    },
-    "movement": {
-      "pattern": "direct",
-      "speed": 30.0,
-      "patrolRange": 100,
-      "chaseRange": 200,
-      "rotationSpeed": 180.0,
-      "moveType": "straight",
-      "swingAmplitude": 0.0,
-      "swingFrequency": 0.0,
-      "speedVariation": 0.1
-    },
-    "combat": {
-      "attackDamage": 1,
-      "attackRange": 30.0,
-      "attackSpeed": 0.3,
-      "canBlock": false,
-      "blockChance": 0.0,
-      "blockDamageReduction": 0.5,
-      "attackCooldown": 4.0,
-      "attackType": "heavy_melee",
-      "attackDelay": 1.0,
-      "weaponType": "none",
-      "projectileType": "none",
-      "projectileSpeed": 100.0
-    },
-    "visualConfig": {
-      "spritePath": "Animation/EnemyAni/007",
-      "scale": 1.0,
-      "animationSpeed": 1.0,
-      "flipX": false,
-      "tint": "#FFFFFF",
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weaponProp": "props/iron_gate"
-    },
-    "audioConfig": {
-      "attackSound": "enemy_attack",
-      "deathSound": "enemy_death",
-      "hitSound": "enemy_hit",
-      "walkSound": "audio/bucket_walk",
-      "blockSound": "",
-      "stealthSound": "",
-      "armorBreakSound": "audio/armor_break",
-      "fuseSound": "",
-      "volume": 1.0
-    },
-    "visual": {
-      "sprite_path": "Animation/EnemyAni/007",
-      "scale": 1.0,
-      "animation_speed": 1.0,
-      "flip_horizontal": false,
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weapon_prop": "props/iron_gate"
-    },
-    "audio": {
-      "attack_sound": "data/弹球音效/hammer1",
-      "death_sound": "data/弹球音效/normal zombie die 7",
-      "hit_sound": "Null",
-      "walk_sound": "Null",
-      "block_sound": "nan",
-      "stealth_sound": "nan",
-      "armor_break_sound": "Null",
-      "fuse_sound": "nan"
-    },
-    "boss": {
-      "is_boss": false,
-      "phases": 1,
-      "rage_threshold": 0.3,
-      "rage_damage_multiplier": 1.0,
-      "rage_speed_multiplier": 1.0
-    }
-  },
-  {
-    "id": "barrel_zombie",
-    "name": "火药桶僵尸",
-    "type": "explosive",
-    "stats": {
-      "health": 35,
-      "maxHealth": 35,
-      "defense": 0,
-      "speed": 30.0
-    },
-    "movement": {
-      "pattern": "direct",
-      "speed": 45.0,
-      "patrolRange": 100,
-      "chaseRange": 200,
-      "rotationSpeed": 180.0,
-      "moveType": "straight",
-      "swingAmplitude": 0.0,
-      "swingFrequency": 0.0,
-      "speedVariation": 0.1
-    },
-    "combat": {
-      "attackDamage": 1,
-      "attackRange": 30.0,
-      "attackSpeed": 0.3,
-      "canBlock": false,
-      "blockChance": 0.0,
-      "blockDamageReduction": 0.5,
-      "attackCooldown": 3.0,
-      "attackType": "melee",
-      "attackDelay": 1.0,
-      "weaponType": "none",
-      "projectileType": "none",
-      "projectileSpeed": 100.0
-    },
-    "visualConfig": {
-      "spritePath": "Animation/EnemyAni/008",
-      "scale": 1.0,
-      "animationSpeed": 1.0,
-      "flipX": false,
-      "tint": "#FFFFFF",
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weaponProp": "props/tombstone"
-    },
-    "audioConfig": {
-      "attackSound": "enemy_attack",
-      "deathSound": "enemy_death",
-      "hitSound": "enemy_hit",
-      "walkSound": "audio/barrel_walk",
-      "blockSound": "",
-      "stealthSound": "",
-      "armorBreakSound": "",
-      "fuseSound": "audio/barrel_fuse",
-      "volume": 1.0
-    },
-    "visual": {
-      "sprite_path": "Animation/EnemyAni/008",
-      "scale": 1.0,
-      "animation_speed": 1.0,
-      "flip_horizontal": false,
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weapon_prop": "props/tombstone"
-    },
-    "audio": {
-      "attack_sound": "data/弹球音效/hammer1",
-      "death_sound": "data/弹球音效/boss die",
-      "hit_sound": "Null",
-      "walk_sound": "Null",
-      "block_sound": "nan",
-      "stealth_sound": "nan",
-      "armor_break_sound": "nan",
-      "fuse_sound": "Null"
-    },
-    "boss": {
-      "is_boss": false,
-      "phases": 1,
-      "rage_threshold": 0.3,
-      "rage_damage_multiplier": 1.0,
-      "rage_speed_multiplier": 1.0
-    }
-  },
-  {
-    "id": "boss1_gatekeeper",
-    "name": "BOSS1",
-    "type": "boss",
-    "stats": {
-      "health": 500,
-      "maxHealth": 500,
-      "defense": 2,
-      "speed": 10.0
-    },
-    "movement": {
-      "pattern": "direct",
-      "speed": 25.0,
-      "patrolRange": 100,
-      "chaseRange": 200,
-      "rotationSpeed": 180.0,
-      "moveType": "straight",
-      "swingAmplitude": 0.0,
-      "swingFrequency": 0.0,
-      "speedVariation": 0.1
-    },
-    "combat": {
-      "attackDamage": 1,
-      "attackRange": 30.0,
-      "attackSpeed": 0.2,
-      "canBlock": false,
-      "blockChance": 0.0,
-      "blockDamageReduction": 0.5,
-      "attackCooldown": 4.0,
-      "attackType": "gate_slam",
-      "attackDelay": 1.0,
-      "weaponType": "none",
-      "projectileType": "none",
-      "projectileSpeed": 100.0
-    },
-    "visualConfig": {
-      "spritePath": "Animation/EnemyAni/009",
-      "scale": 1.0,
-      "animationSpeed": 1.0,
-      "flipX": false,
-      "tint": "#FFFFFF",
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weaponProp": "props/cyber_arm"
-    },
-    "audioConfig": {
-      "attackSound": "enemy_attack",
-      "deathSound": "enemy_death",
-      "hitSound": "enemy_hit",
-      "walkSound": "audio/boss1_walk",
-      "blockSound": "",
-      "stealthSound": "",
-      "armorBreakSound": "",
-      "fuseSound": "",
-      "volume": 1.0
-    },
-    "specialAbilities": [
-      {
-        "type": "charge_attack",
-        "damage": 1,
-        "range": 150.0,
-        "cooldown": 8.0
-      },
-      {
-        "type": "area_attack",
-        "damage": 2,
-        "range": 100.0,
-        "cooldown": 12.0
-      }
-    ],
-    "bossConfig": {
-      "isBoss": true,
-      "phases": 1,
-      "enrageThreshold": 0.3,
-      "enrageDamageMultiplier": 1.5,
-      "enrageSpeedMultiplier": 1.3
-    },
-    "visual": {
-      "sprite_path": "Animation/EnemyAni/009",
-      "scale": 1.0,
-      "animation_speed": 1.0,
-      "flip_horizontal": false,
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weapon_prop": "props/cyber_arm"
-    },
-    "audio": {
-      "attack_sound": "data/弹球音效/hammer1",
-      "death_sound": "data/弹球音效/boss die",
-      "hit_sound": "Null",
-      "walk_sound": "Null",
-      "block_sound": "nan",
-      "stealth_sound": "nan",
-      "armor_break_sound": "nan",
-      "fuse_sound": "nan"
-    },
-    "boss": {
-      "is_boss": true,
-      "phases": 1,
-      "rage_threshold": 0.3,
-      "rage_damage_multiplier": 1.5,
-      "rage_speed_multiplier": 1.3
-    }
-  },
-  {
-    "id": "boss2_gravedigger",
-    "name": "BOSS2",
-    "type": "boss",
-    "stats": {
-      "health": 500,
-      "maxHealth": 500,
-      "defense": 3,
-      "speed": 10.0
-    },
-    "movement": {
-      "pattern": "direct",
-      "speed": 20.0,
-      "patrolRange": 100,
-      "chaseRange": 200,
-      "rotationSpeed": 180.0,
-      "moveType": "straight",
-      "swingAmplitude": 0.0,
-      "swingFrequency": 0.0,
-      "speedVariation": 0.1
-    },
-    "combat": {
-      "attackDamage": 1,
-      "attackRange": 30.0,
-      "attackSpeed": 0.2,
-      "canBlock": false,
-      "blockChance": 0.0,
-      "blockDamageReduction": 0.5,
-      "attackCooldown": 5.0,
-      "attackType": "tombstone_smash",
-      "attackDelay": 1.0,
-      "weaponType": "none",
-      "projectileType": "none",
-      "projectileSpeed": 100.0
-    },
-    "visualConfig": {
-      "spritePath": "Animation/EnemyAni/010",
-      "scale": 1.0,
-      "animationSpeed": 1.0,
-      "flipX": false,
-      "tint": "#FFFFFF",
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weaponProp": ""
-    },
-    "audioConfig": {
-      "attackSound": "enemy_attack",
-      "deathSound": "enemy_death",
-      "hitSound": "enemy_hit",
-      "walkSound": "audio/boss2_walk",
-      "blockSound": "",
-      "stealthSound": "",
-      "armorBreakSound": "",
-      "fuseSound": "",
-      "volume": 1.0
-    },
-    "specialAbilities": [
-      {
-        "type": "charge_attack",
-        "damage": 1,
-        "range": 150.0,
-        "cooldown": 8.0
-      },
-      {
-        "type": "area_attack",
-        "damage": 2,
-        "range": 100.0,
-        "cooldown": 12.0
-      }
-    ],
-    "bossConfig": {
-      "isBoss": true,
-      "phases": 1,
-      "enrageThreshold": 0.3,
-      "enrageDamageMultiplier": 1.5,
-      "enrageSpeedMultiplier": 1.3
-    },
-    "visual": {
-      "sprite_path": "Animation/EnemyAni/010",
-      "scale": 1.0,
-      "animation_speed": 1.0,
-      "flip_horizontal": false,
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weapon_prop": "nan"
-    },
-    "audio": {
-      "attack_sound": "data/弹球音效/hammer1",
-      "death_sound": "data/弹球音效/boss die",
-      "hit_sound": "Null",
-      "walk_sound": "Null",
-      "block_sound": "nan",
-      "stealth_sound": "nan",
-      "armor_break_sound": "nan",
-      "fuse_sound": "nan"
-    },
-    "boss": {
-      "is_boss": true,
-      "phases": 1,
-      "rage_threshold": 0.3,
-      "rage_damage_multiplier": 1.5,
-      "rage_speed_multiplier": 1.3
-    }
-  },
-  {
-    "id": "boss3_cyborg",
-    "name": "BOSS3",
-    "type": "boss",
-    "stats": {
-      "health": 250,
-      "maxHealth": 250,
-      "defense": 1,
-      "speed": 10.0
-    },
-    "movement": {
-      "pattern": "direct",
-      "speed": 35.0,
-      "patrolRange": 100,
-      "chaseRange": 200,
-      "rotationSpeed": 180.0,
-      "moveType": "straight",
-      "swingAmplitude": 0.0,
-      "swingFrequency": 0.0,
-      "speedVariation": 0.1
-    },
-    "combat": {
-      "attackDamage": 1,
-      "attackRange": 80.0,
-      "attackSpeed": 0.2,
-      "canBlock": false,
-      "blockChance": 0.0,
-      "blockDamageReduction": 0.5,
-      "attackCooldown": 4.0,
-      "attackType": "cyber_arm_combo",
-      "attackDelay": 1.0,
-      "weaponType": "none",
-      "projectileType": "none",
-      "projectileSpeed": 100.0
-    },
-    "visualConfig": {
-      "spritePath": "Animation/EnemyAni/011",
-      "scale": 1.0,
-      "animationSpeed": 1.0,
-      "flipX": false,
-      "tint": "#FFFFFF",
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weaponProp": ""
-    },
-    "audioConfig": {
-      "attackSound": "enemy_attack",
-      "deathSound": "enemy_death",
-      "hitSound": "enemy_hit",
-      "walkSound": "audio/boss3_walk",
-      "blockSound": "",
-      "stealthSound": "",
-      "armorBreakSound": "",
-      "fuseSound": "",
-      "volume": 1.0
-    },
-    "specialAbilities": [
-      {
-        "type": "charge_attack",
-        "damage": 1,
-        "range": 150.0,
-        "cooldown": 8.0
-      },
-      {
-        "type": "area_attack",
-        "damage": 2,
-        "range": 100.0,
-        "cooldown": 12.0
-      }
-    ],
-    "bossConfig": {
-      "isBoss": true,
-      "phases": 1,
-      "enrageThreshold": 0.3,
-      "enrageDamageMultiplier": 1.5,
-      "enrageSpeedMultiplier": 1.3
-    },
-    "visual": {
-      "sprite_path": "Animation/EnemyAni/011",
-      "scale": 1.0,
-      "animation_speed": 1.0,
-      "flip_horizontal": false,
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weapon_prop": "nan"
-    },
-    "audio": {
-      "attack_sound": "data/弹球音效/hammer1",
-      "death_sound": "data/弹球音效/boss die",
-      "hit_sound": "Null",
-      "walk_sound": "Null",
-      "block_sound": "nan",
-      "stealth_sound": "nan",
-      "armor_break_sound": "nan",
-      "fuse_sound": "nan"
-    },
-    "boss": {
-      "is_boss": true,
-      "phases": 1,
-      "rage_threshold": 0.3,
-      "rage_damage_multiplier": 1.5,
-      "rage_speed_multiplier": 1.3
-    }
-  }
-]

+ 0 - 1066
assets/resources/data/enemies_backup_20250828_191627.json

@@ -1,1066 +0,0 @@
-[
-  {
-    "id": "normal_zombie",
-    "name": "普通僵尸",
-    "type": "basic",
-    "stats": {
-      "health": 35,
-      "maxHealth": 35,
-      "defense": 0,
-      "speed": 30.0
-    },
-    "movement": {
-      "pattern": "direct",
-      "speed": 30.0,
-      "patrolRange": 100,
-      "chaseRange": 200,
-      "rotationSpeed": 180.0,
-      "moveType": "straight",
-      "swingAmplitude": 0.0,
-      "swingFrequency": 0.0,
-      "speedVariation": 0.1
-    },
-    "combat": {
-      "attackDamage": 1,
-      "attackRange": 1.0,
-      "attackSpeed": 1.0,
-      "canBlock": false,
-      "blockChance": 0.0,
-      "blockDamageReduction": 0.5,
-      "attackCooldown": 1.0,
-      "attackType": "melee",
-      "attackDelay": 1.0,
-      "weaponType": "none",
-      "projectileType": "none",
-      "projectileSpeed": 100.0
-    },
-    "visualConfig": {
-      "spritePath": "Animation/EnemyAni/001",
-      "scale": 1.0,
-      "animationSpeed": 1.0,
-      "flipX": false,
-      "tint": "#FFFFFF",
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weaponProp": "props/baseball_bat"
-    },
-    "audioConfig": {
-      "attackSound": "enemy_attack",
-      "deathSound": "enemy_death",
-      "hitSound": "enemy_hit",
-      "walkSound": "audio/zombie_walk",
-      "blockSound": "",
-      "stealthSound": "",
-      "armorBreakSound": "",
-      "fuseSound": "",
-      "volume": 1.0
-    },
-    "visual": {
-      "sprite_path": "Animation/EnemyAni/001",
-      "scale": 1.0,
-      "animation_speed": 1.0,
-      "flip_horizontal": false,
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weapon_prop": "props/baseball_bat"
-    },
-    "audio": {
-      "attack_sound": "data/弹球音效/dao2.mp3",
-      "death_sound": "data/弹球音效/normal zombie die 1.mp3",
-      "hit_sound": "Null",
-      "walk_sound": "Null",
-      "block_sound": "nan",
-      "stealth_sound": "nan",
-      "armor_break_sound": "nan",
-      "fuse_sound": "nan"
-    },
-    "boss": {
-      "is_boss": false,
-      "phases": 1,
-      "rage_threshold": 0.3,
-      "rage_damage_multiplier": 1.0,
-      "rage_speed_multiplier": 1.0
-    }
-  },
-  {
-    "id": "roadblock_zombie",
-    "name": "路障僵尸",
-    "type": "armored",
-    "stats": {
-      "health": 50,
-      "maxHealth": 50,
-      "defense": 1,
-      "speed": 25.0
-    },
-    "movement": {
-      "pattern": "direct",
-      "speed": 40.0,
-      "patrolRange": 100,
-      "chaseRange": 200,
-      "rotationSpeed": 180.0,
-      "moveType": "straight",
-      "swingAmplitude": 0.0,
-      "swingFrequency": 0.0,
-      "speedVariation": 0.1
-    },
-    "combat": {
-      "attackDamage": 1,
-      "attackRange": 30.0,
-      "attackSpeed": 0.3,
-      "canBlock": false,
-      "blockChance": 0.0,
-      "blockDamageReduction": 0.5,
-      "attackCooldown": 3.0,
-      "attackType": "melee",
-      "attackDelay": 1.0,
-      "weaponType": "none",
-      "projectileType": "none",
-      "projectileSpeed": 100.0
-    },
-    "visualConfig": {
-      "spritePath": "Animation/EnemyAni/002",
-      "scale": 1.0,
-      "animationSpeed": 1.0,
-      "flipX": false,
-      "tint": "#FFFFFF",
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weaponProp": "props/magic_staff"
-    },
-    "audioConfig": {
-      "attackSound": "enemy_attack",
-      "deathSound": "enemy_death",
-      "hitSound": "enemy_hit",
-      "walkSound": "audio/roadblock_walk",
-      "blockSound": "",
-      "stealthSound": "",
-      "armorBreakSound": "",
-      "fuseSound": "",
-      "volume": 1.0
-    },
-    "visual": {
-      "sprite_path": "Animation/EnemyAni/002",
-      "scale": 1.0,
-      "animation_speed": 1.0,
-      "flip_horizontal": false,
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weapon_prop": "props/magic_staff"
-    },
-    "audio": {
-      "attack_sound": "data/弹球音效/bow.mp3",
-      "death_sound": "data/弹球音效/normal zombie die 2.mp3",
-      "hit_sound": "Null",
-      "walk_sound": "Null",
-      "block_sound": "nan",
-      "stealth_sound": "nan",
-      "armor_break_sound": "nan",
-      "fuse_sound": "nan"
-    },
-    "boss": {
-      "is_boss": false,
-      "phases": 1,
-      "rage_threshold": 0.3,
-      "rage_damage_multiplier": 1.0,
-      "rage_speed_multiplier": 1.0
-    }
-  },
-  {
-    "id": "wandering_zombie",
-    "name": "漫步僵尸",
-    "type": "wanderer",
-    "stats": {
-      "health": 42,
-      "maxHealth": 42,
-      "defense": 0,
-      "speed": 35.0
-    },
-    "movement": {
-      "pattern": "direct",
-      "speed": 45.0,
-      "patrolRange": 100,
-      "chaseRange": 200,
-      "rotationSpeed": 180.0,
-      "moveType": "sway",
-      "swingAmplitude": 20.0,
-      "swingFrequency": 2.0,
-      "speedVariation": 0.2
-    },
-    "combat": {
-      "attackDamage": 1,
-      "attackRange": 30.0,
-      "attackSpeed": 0.4,
-      "canBlock": false,
-      "blockChance": 0.0,
-      "blockDamageReduction": 0.5,
-      "attackCooldown": 3.0,
-      "attackType": "melee_weapon",
-      "attackDelay": 1.0,
-      "weaponType": "baseball_bat",
-      "projectileType": "none",
-      "projectileSpeed": 100.0
-    },
-    "visualConfig": {
-      "spritePath": "Animation/EnemyAni/003",
-      "scale": 1.0,
-      "animationSpeed": 1.0,
-      "flipX": false,
-      "tint": "#FFFFFF",
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weaponProp": "props/bow"
-    },
-    "audioConfig": {
-      "attackSound": "enemy_attack",
-      "deathSound": "enemy_death",
-      "hitSound": "enemy_hit",
-      "walkSound": "audio/wandering_walk",
-      "blockSound": "",
-      "stealthSound": "",
-      "armorBreakSound": "",
-      "fuseSound": "",
-      "volume": 1.0
-    },
-    "visual": {
-      "sprite_path": "Animation/EnemyAni/003",
-      "scale": 1.0,
-      "animation_speed": 1.0,
-      "flip_horizontal": false,
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weapon_prop": "props/bow"
-    },
-    "audio": {
-      "attack_sound": "data/弹球音效/MagicianAttack.mp3",
-      "death_sound": "data/弹球音效/normal zombie die 3.mp3",
-      "hit_sound": "Null",
-      "walk_sound": "Null",
-      "block_sound": "nan",
-      "stealth_sound": "nan",
-      "armor_break_sound": "nan",
-      "fuse_sound": "nan"
-    },
-    "boss": {
-      "is_boss": false,
-      "phases": 1,
-      "rage_threshold": 0.3,
-      "rage_damage_multiplier": 1.0,
-      "rage_speed_multiplier": 1.0
-    }
-  },
-  {
-    "id": "mage_zombie",
-    "name": "法师僵尸",
-    "type": "ranged_caster",
-    "stats": {
-      "health": 25,
-      "maxHealth": 25,
-      "defense": 0,
-      "speed": 15.0
-    },
-    "movement": {
-      "pattern": "direct",
-      "speed": 35.0,
-      "patrolRange": 100,
-      "chaseRange": 200,
-      "rotationSpeed": 180.0,
-      "moveType": "straight",
-      "swingAmplitude": 0.0,
-      "swingFrequency": 0.0,
-      "speedVariation": 0.1
-    },
-    "combat": {
-      "attackDamage": 1,
-      "attackRange": 200.0,
-      "attackSpeed": 0.2,
-      "canBlock": false,
-      "blockChance": 0.0,
-      "blockDamageReduction": 0.5,
-      "attackCooldown": 4.0,
-      "attackType": "magic_projectile",
-      "attackDelay": 1.0,
-      "weaponType": "none",
-      "projectileType": "magic_bolt",
-      "projectileSpeed": 50.0
-    },
-    "visualConfig": {
-      "spritePath": "Animation/EnemyAni/004",
-      "scale": 1.0,
-      "animationSpeed": 1.0,
-      "flipX": false,
-      "tint": "#FFFFFF",
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weaponProp": ""
-    },
-    "audioConfig": {
-      "attackSound": "enemy_attack",
-      "deathSound": "enemy_death",
-      "hitSound": "enemy_hit",
-      "walkSound": "audio/mage_walk",
-      "blockSound": "",
-      "stealthSound": "",
-      "armorBreakSound": "",
-      "fuseSound": "",
-      "volume": 1.0
-    },
-    "visual": {
-      "sprite_path": "Animation/EnemyAni/004",
-      "scale": 1.0,
-      "animation_speed": 1.0,
-      "flip_horizontal": false,
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weapon_prop": "nan"
-    },
-    "audio": {
-      "attack_sound": "data/弹球音效/zhanshiAtk.mp3",
-      "death_sound": "data/弹球音效/normal zombie die 4.mp3",
-      "hit_sound": "Null",
-      "walk_sound": "Null",
-      "block_sound": "nan",
-      "stealth_sound": "nan",
-      "armor_break_sound": "nan",
-      "fuse_sound": "nan"
-    },
-    "boss": {
-      "is_boss": false,
-      "phases": 1,
-      "rage_threshold": 0.3,
-      "rage_damage_multiplier": 1.0,
-      "rage_speed_multiplier": 1.0
-    }
-  },
-  {
-    "id": "archer_zombie",
-    "name": "弓箭僵尸",
-    "type": "ranged_archer",
-    "stats": {
-      "health": 25,
-      "maxHealth": 25,
-      "defense": 0,
-      "speed": 15.0
-    },
-    "movement": {
-      "pattern": "direct",
-      "speed": 40.0,
-      "patrolRange": 100,
-      "chaseRange": 200,
-      "rotationSpeed": 180.0,
-      "moveType": "straight",
-      "swingAmplitude": 0.0,
-      "swingFrequency": 0.0,
-      "speedVariation": 0.1
-    },
-    "combat": {
-      "attackDamage": 1,
-      "attackRange": 250.0,
-      "attackSpeed": 0.2,
-      "canBlock": false,
-      "blockChance": 0.0,
-      "blockDamageReduction": 0.5,
-      "attackCooldown": 4.0,
-      "attackType": "arrow_projectile",
-      "attackDelay": 1.0,
-      "weaponType": "none",
-      "projectileType": "arrow",
-      "projectileSpeed": 100.0
-    },
-    "visualConfig": {
-      "spritePath": "Animation/EnemyAni/005",
-      "scale": 1.0,
-      "animationSpeed": 1.0,
-      "flipX": false,
-      "tint": "#FFFFFF",
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weaponProp": ""
-    },
-    "audioConfig": {
-      "attackSound": "enemy_attack",
-      "deathSound": "enemy_death",
-      "hitSound": "enemy_hit",
-      "walkSound": "audio/archer_walk",
-      "blockSound": "",
-      "stealthSound": "",
-      "armorBreakSound": "",
-      "fuseSound": "",
-      "volume": 1.0
-    },
-    "visual": {
-      "sprite_path": "Animation/EnemyAni/005",
-      "scale": 1.0,
-      "animation_speed": 1.0,
-      "flip_horizontal": false,
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weapon_prop": "nan"
-    },
-    "audio": {
-      "attack_sound": "data/弹球音效/hammer1.mp3",
-      "death_sound": "data/弹球音效/normal zombie die 5.mp3",
-      "hit_sound": "Null",
-      "walk_sound": "Null",
-      "block_sound": "nan",
-      "stealth_sound": "nan",
-      "armor_break_sound": "nan",
-      "fuse_sound": "nan"
-    },
-    "boss": {
-      "is_boss": false,
-      "phases": 1,
-      "rage_threshold": 0.3,
-      "rage_damage_multiplier": 1.0,
-      "rage_speed_multiplier": 1.0
-    }
-  },
-  {
-    "id": "stealth_zombie",
-    "name": "隐身僵尸",
-    "type": "stealth",
-    "stats": {
-      "health": 42,
-      "maxHealth": 42,
-      "defense": 0,
-      "speed": 35.0
-    },
-    "movement": {
-      "pattern": "direct",
-      "speed": 60.0,
-      "patrolRange": 100,
-      "chaseRange": 200,
-      "rotationSpeed": 180.0,
-      "moveType": "straight",
-      "swingAmplitude": 0.0,
-      "swingFrequency": 0.0,
-      "speedVariation": 0.1
-    },
-    "combat": {
-      "attackDamage": 1,
-      "attackRange": 30.0,
-      "attackSpeed": 0.4,
-      "canBlock": false,
-      "blockChance": 0.0,
-      "blockDamageReduction": 0.5,
-      "attackCooldown": 3.0,
-      "attackType": "stealth_strike",
-      "attackDelay": 1.0,
-      "weaponType": "none",
-      "projectileType": "none",
-      "projectileSpeed": 100.0
-    },
-    "visualConfig": {
-      "spritePath": "Animation/EnemyAni/006",
-      "scale": 1.0,
-      "animationSpeed": 1.0,
-      "flipX": false,
-      "tint": "#FFFFFF",
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weaponProp": ""
-    },
-    "audioConfig": {
-      "attackSound": "enemy_attack",
-      "deathSound": "enemy_death",
-      "hitSound": "enemy_hit",
-      "walkSound": "audio/stealth_walk",
-      "blockSound": "",
-      "stealthSound": "audio/stealth_activate",
-      "armorBreakSound": "",
-      "fuseSound": "",
-      "volume": 1.0
-    },
-    "visual": {
-      "sprite_path": "Animation/EnemyAni/006",
-      "scale": 1.0,
-      "animation_speed": 1.0,
-      "flip_horizontal": false,
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weapon_prop": "nan"
-    },
-    "audio": {
-      "attack_sound": "data/弹球音效/hammer1.mp4",
-      "death_sound": "data/弹球音效/normal zombie die 6.mp3",
-      "hit_sound": "Null",
-      "walk_sound": "Null",
-      "block_sound": "nan",
-      "stealth_sound": "Null",
-      "armor_break_sound": "nan",
-      "fuse_sound": "nan"
-    },
-    "boss": {
-      "is_boss": false,
-      "phases": 1,
-      "rage_threshold": 0.3,
-      "rage_damage_multiplier": 1.0,
-      "rage_speed_multiplier": 1.0
-    }
-  },
-  {
-    "id": "bucket_zombie",
-    "name": "铁桶僵尸",
-    "type": "heavy_armor",
-    "stats": {
-      "health": 70,
-      "maxHealth": 70,
-      "defense": 2,
-      "speed": 15.0
-    },
-    "movement": {
-      "pattern": "direct",
-      "speed": 30.0,
-      "patrolRange": 100,
-      "chaseRange": 200,
-      "rotationSpeed": 180.0,
-      "moveType": "straight",
-      "swingAmplitude": 0.0,
-      "swingFrequency": 0.0,
-      "speedVariation": 0.1
-    },
-    "combat": {
-      "attackDamage": 1,
-      "attackRange": 30.0,
-      "attackSpeed": 0.3,
-      "canBlock": false,
-      "blockChance": 0.0,
-      "blockDamageReduction": 0.5,
-      "attackCooldown": 4.0,
-      "attackType": "heavy_melee",
-      "attackDelay": 1.0,
-      "weaponType": "none",
-      "projectileType": "none",
-      "projectileSpeed": 100.0
-    },
-    "visualConfig": {
-      "spritePath": "Animation/EnemyAni/007",
-      "scale": 1.0,
-      "animationSpeed": 1.0,
-      "flipX": false,
-      "tint": "#FFFFFF",
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weaponProp": "props/iron_gate"
-    },
-    "audioConfig": {
-      "attackSound": "enemy_attack",
-      "deathSound": "enemy_death",
-      "hitSound": "enemy_hit",
-      "walkSound": "audio/bucket_walk",
-      "blockSound": "",
-      "stealthSound": "",
-      "armorBreakSound": "audio/armor_break",
-      "fuseSound": "",
-      "volume": 1.0
-    },
-    "visual": {
-      "sprite_path": "Animation/EnemyAni/007",
-      "scale": 1.0,
-      "animation_speed": 1.0,
-      "flip_horizontal": false,
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weapon_prop": "props/iron_gate"
-    },
-    "audio": {
-      "attack_sound": "data/弹球音效/hammer1.mp5",
-      "death_sound": "data/弹球音效/normal zombie die 7.mp3",
-      "hit_sound": "Null",
-      "walk_sound": "Null",
-      "block_sound": "nan",
-      "stealth_sound": "nan",
-      "armor_break_sound": "Null",
-      "fuse_sound": "nan"
-    },
-    "boss": {
-      "is_boss": false,
-      "phases": 1,
-      "rage_threshold": 0.3,
-      "rage_damage_multiplier": 1.0,
-      "rage_speed_multiplier": 1.0
-    }
-  },
-  {
-    "id": "barrel_zombie",
-    "name": "火药桶僵尸",
-    "type": "explosive",
-    "stats": {
-      "health": 35,
-      "maxHealth": 35,
-      "defense": 0,
-      "speed": 30.0
-    },
-    "movement": {
-      "pattern": "direct",
-      "speed": 45.0,
-      "patrolRange": 100,
-      "chaseRange": 200,
-      "rotationSpeed": 180.0,
-      "moveType": "straight",
-      "swingAmplitude": 0.0,
-      "swingFrequency": 0.0,
-      "speedVariation": 0.1
-    },
-    "combat": {
-      "attackDamage": 1,
-      "attackRange": 30.0,
-      "attackSpeed": 0.3,
-      "canBlock": false,
-      "blockChance": 0.0,
-      "blockDamageReduction": 0.5,
-      "attackCooldown": 3.0,
-      "attackType": "melee",
-      "attackDelay": 1.0,
-      "weaponType": "none",
-      "projectileType": "none",
-      "projectileSpeed": 100.0
-    },
-    "visualConfig": {
-      "spritePath": "Animation/EnemyAni/008",
-      "scale": 1.0,
-      "animationSpeed": 1.0,
-      "flipX": false,
-      "tint": "#FFFFFF",
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weaponProp": "props/tombstone"
-    },
-    "audioConfig": {
-      "attackSound": "enemy_attack",
-      "deathSound": "enemy_death",
-      "hitSound": "enemy_hit",
-      "walkSound": "audio/barrel_walk",
-      "blockSound": "",
-      "stealthSound": "",
-      "armorBreakSound": "",
-      "fuseSound": "audio/barrel_fuse",
-      "volume": 1.0
-    },
-    "visual": {
-      "sprite_path": "Animation/EnemyAni/008",
-      "scale": 1.0,
-      "animation_speed": 1.0,
-      "flip_horizontal": false,
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weapon_prop": "props/tombstone"
-    },
-    "audio": {
-      "attack_sound": "data/弹球音效/hammer1.mp6",
-      "death_sound": "data/弹球音效/boss die.mp3",
-      "hit_sound": "Null",
-      "walk_sound": "Null",
-      "block_sound": "nan",
-      "stealth_sound": "nan",
-      "armor_break_sound": "nan",
-      "fuse_sound": "Null"
-    },
-    "boss": {
-      "is_boss": false,
-      "phases": 1,
-      "rage_threshold": 0.3,
-      "rage_damage_multiplier": 1.0,
-      "rage_speed_multiplier": 1.0
-    }
-  },
-  {
-    "id": "boss1_gatekeeper",
-    "name": "BOSS1",
-    "type": "boss",
-    "stats": {
-      "health": 500,
-      "maxHealth": 500,
-      "defense": 2,
-      "speed": 10.0
-    },
-    "movement": {
-      "pattern": "direct",
-      "speed": 25.0,
-      "patrolRange": 100,
-      "chaseRange": 200,
-      "rotationSpeed": 180.0,
-      "moveType": "straight",
-      "swingAmplitude": 0.0,
-      "swingFrequency": 0.0,
-      "speedVariation": 0.1
-    },
-    "combat": {
-      "attackDamage": 1,
-      "attackRange": 30.0,
-      "attackSpeed": 0.2,
-      "canBlock": false,
-      "blockChance": 0.0,
-      "blockDamageReduction": 0.5,
-      "attackCooldown": 4.0,
-      "attackType": "gate_slam",
-      "attackDelay": 1.0,
-      "weaponType": "none",
-      "projectileType": "none",
-      "projectileSpeed": 100.0
-    },
-    "visualConfig": {
-      "spritePath": "Animation/EnemyAni/009",
-      "scale": 1.0,
-      "animationSpeed": 1.0,
-      "flipX": false,
-      "tint": "#FFFFFF",
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weaponProp": "props/cyber_arm"
-    },
-    "audioConfig": {
-      "attackSound": "enemy_attack",
-      "deathSound": "enemy_death",
-      "hitSound": "enemy_hit",
-      "walkSound": "audio/boss1_walk",
-      "blockSound": "",
-      "stealthSound": "",
-      "armorBreakSound": "",
-      "fuseSound": "",
-      "volume": 1.0
-    },
-    "specialAbilities": [
-      {
-        "type": "charge_attack",
-        "damage": 1,
-        "range": 150.0,
-        "cooldown": 8.0
-      },
-      {
-        "type": "area_attack",
-        "damage": 2,
-        "range": 100.0,
-        "cooldown": 12.0
-      }
-    ],
-    "bossConfig": {
-      "isBoss": true,
-      "phases": 1,
-      "enrageThreshold": 0.3,
-      "enrageDamageMultiplier": 1.5,
-      "enrageSpeedMultiplier": 1.3
-    },
-    "visual": {
-      "sprite_path": "Animation/EnemyAni/009",
-      "scale": 1.0,
-      "animation_speed": 1.0,
-      "flip_horizontal": false,
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weapon_prop": "props/cyber_arm"
-    },
-    "audio": {
-      "attack_sound": "data/弹球音效/hammer1.mp7",
-      "death_sound": "data/弹球音效/boss die.mp3",
-      "hit_sound": "Null",
-      "walk_sound": "Null",
-      "block_sound": "nan",
-      "stealth_sound": "nan",
-      "armor_break_sound": "nan",
-      "fuse_sound": "nan"
-    },
-    "boss": {
-      "is_boss": true,
-      "phases": 1,
-      "rage_threshold": 0.3,
-      "rage_damage_multiplier": 1.5,
-      "rage_speed_multiplier": 1.3
-    }
-  },
-  {
-    "id": "boss2_gravedigger",
-    "name": "BOSS2",
-    "type": "boss",
-    "stats": {
-      "health": 500,
-      "maxHealth": 500,
-      "defense": 3,
-      "speed": 10.0
-    },
-    "movement": {
-      "pattern": "direct",
-      "speed": 20.0,
-      "patrolRange": 100,
-      "chaseRange": 200,
-      "rotationSpeed": 180.0,
-      "moveType": "straight",
-      "swingAmplitude": 0.0,
-      "swingFrequency": 0.0,
-      "speedVariation": 0.1
-    },
-    "combat": {
-      "attackDamage": 1,
-      "attackRange": 30.0,
-      "attackSpeed": 0.2,
-      "canBlock": false,
-      "blockChance": 0.0,
-      "blockDamageReduction": 0.5,
-      "attackCooldown": 5.0,
-      "attackType": "tombstone_smash",
-      "attackDelay": 1.0,
-      "weaponType": "none",
-      "projectileType": "none",
-      "projectileSpeed": 100.0
-    },
-    "visualConfig": {
-      "spritePath": "Animation/EnemyAni/010",
-      "scale": 1.0,
-      "animationSpeed": 1.0,
-      "flipX": false,
-      "tint": "#FFFFFF",
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weaponProp": ""
-    },
-    "audioConfig": {
-      "attackSound": "enemy_attack",
-      "deathSound": "enemy_death",
-      "hitSound": "enemy_hit",
-      "walkSound": "audio/boss2_walk",
-      "blockSound": "",
-      "stealthSound": "",
-      "armorBreakSound": "",
-      "fuseSound": "",
-      "volume": 1.0
-    },
-    "specialAbilities": [
-      {
-        "type": "charge_attack",
-        "damage": 1,
-        "range": 150.0,
-        "cooldown": 8.0
-      },
-      {
-        "type": "area_attack",
-        "damage": 2,
-        "range": 100.0,
-        "cooldown": 12.0
-      }
-    ],
-    "bossConfig": {
-      "isBoss": true,
-      "phases": 1,
-      "enrageThreshold": 0.3,
-      "enrageDamageMultiplier": 1.5,
-      "enrageSpeedMultiplier": 1.3
-    },
-    "visual": {
-      "sprite_path": "Animation/EnemyAni/010",
-      "scale": 1.0,
-      "animation_speed": 1.0,
-      "flip_horizontal": false,
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weapon_prop": "nan"
-    },
-    "audio": {
-      "attack_sound": "data/弹球音效/hammer1.mp8",
-      "death_sound": "data/弹球音效/boss die.mp4",
-      "hit_sound": "Null",
-      "walk_sound": "Null",
-      "block_sound": "nan",
-      "stealth_sound": "nan",
-      "armor_break_sound": "nan",
-      "fuse_sound": "nan"
-    },
-    "boss": {
-      "is_boss": true,
-      "phases": 1,
-      "rage_threshold": 0.3,
-      "rage_damage_multiplier": 1.5,
-      "rage_speed_multiplier": 1.3
-    }
-  },
-  {
-    "id": "boss3_cyborg",
-    "name": "BOSS3",
-    "type": "boss",
-    "stats": {
-      "health": 250,
-      "maxHealth": 250,
-      "defense": 1,
-      "speed": 10.0
-    },
-    "movement": {
-      "pattern": "direct",
-      "speed": 35.0,
-      "patrolRange": 100,
-      "chaseRange": 200,
-      "rotationSpeed": 180.0,
-      "moveType": "straight",
-      "swingAmplitude": 0.0,
-      "swingFrequency": 0.0,
-      "speedVariation": 0.1
-    },
-    "combat": {
-      "attackDamage": 1,
-      "attackRange": 80.0,
-      "attackSpeed": 0.2,
-      "canBlock": false,
-      "blockChance": 0.0,
-      "blockDamageReduction": 0.5,
-      "attackCooldown": 4.0,
-      "attackType": "cyber_arm_combo",
-      "attackDelay": 1.0,
-      "weaponType": "none",
-      "projectileType": "none",
-      "projectileSpeed": 100.0
-    },
-    "visualConfig": {
-      "spritePath": "Animation/EnemyAni/011",
-      "scale": 1.0,
-      "animationSpeed": 1.0,
-      "flipX": false,
-      "tint": "#FFFFFF",
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weaponProp": ""
-    },
-    "audioConfig": {
-      "attackSound": "enemy_attack",
-      "deathSound": "enemy_death",
-      "hitSound": "enemy_hit",
-      "walkSound": "audio/boss3_walk",
-      "blockSound": "",
-      "stealthSound": "",
-      "armorBreakSound": "",
-      "fuseSound": "",
-      "volume": 1.0
-    },
-    "specialAbilities": [
-      {
-        "type": "charge_attack",
-        "damage": 1,
-        "range": 150.0,
-        "cooldown": 8.0
-      },
-      {
-        "type": "area_attack",
-        "damage": 2,
-        "range": 100.0,
-        "cooldown": 12.0
-      }
-    ],
-    "bossConfig": {
-      "isBoss": true,
-      "phases": 1,
-      "enrageThreshold": 0.3,
-      "enrageDamageMultiplier": 1.5,
-      "enrageSpeedMultiplier": 1.3
-    },
-    "visual": {
-      "sprite_path": "Animation/EnemyAni/011",
-      "scale": 1.0,
-      "animation_speed": 1.0,
-      "flip_horizontal": false,
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weapon_prop": "nan"
-    },
-    "audio": {
-      "attack_sound": "data/弹球音效/hammer1.mp9",
-      "death_sound": "data/弹球音效/boss die.mp5",
-      "hit_sound": "Null",
-      "walk_sound": "Null",
-      "block_sound": "nan",
-      "stealth_sound": "nan",
-      "armor_break_sound": "nan",
-      "fuse_sound": "nan"
-    },
-    "boss": {
-      "is_boss": true,
-      "phases": 1,
-      "rage_threshold": 0.3,
-      "rage_damage_multiplier": 1.5,
-      "rage_speed_multiplier": 1.3
-    }
-  }
-]

+ 0 - 1066
assets/resources/data/enemies_backup_20250901_165404.json

@@ -1,1066 +0,0 @@
-[
-  {
-    "id": "normal_zombie",
-    "name": "普通僵尸",
-    "type": "basic",
-    "stats": {
-      "health": 35,
-      "maxHealth": 35,
-      "defense": 0,
-      "speed": 30.0
-    },
-    "movement": {
-      "pattern": "direct",
-      "speed": 30.0,
-      "patrolRange": 100,
-      "chaseRange": 200,
-      "rotationSpeed": 180.0,
-      "moveType": "straight",
-      "swingAmplitude": 0.0,
-      "swingFrequency": 0.0,
-      "speedVariation": 0.1
-    },
-    "combat": {
-      "attackDamage": 1,
-      "attackRange": 1.0,
-      "attackSpeed": 1.0,
-      "canBlock": false,
-      "blockChance": 0.0,
-      "blockDamageReduction": 0.5,
-      "attackCooldown": 1.0,
-      "attackType": "melee",
-      "attackDelay": 1.0,
-      "weaponType": "none",
-      "projectileType": "none",
-      "projectileSpeed": 100.0
-    },
-    "visualConfig": {
-      "spritePath": "Animation/EnemyAni/001",
-      "scale": 1.0,
-      "animationSpeed": 1.0,
-      "flipX": false,
-      "tint": "#FFFFFF",
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weaponProp": "props/baseball_bat"
-    },
-    "audioConfig": {
-      "attackSound": "enemy_attack",
-      "deathSound": "enemy_death",
-      "hitSound": "enemy_hit",
-      "walkSound": "audio/zombie_walk",
-      "blockSound": "",
-      "stealthSound": "",
-      "armorBreakSound": "",
-      "fuseSound": "",
-      "volume": 1.0
-    },
-    "visual": {
-      "sprite_path": "Animation/EnemyAni/001",
-      "scale": 1.0,
-      "animation_speed": 1.0,
-      "flip_horizontal": false,
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weapon_prop": "props/baseball_bat"
-    },
-    "audio": {
-      "attack_sound": "data/弹球音效/dao2.mp3",
-      "death_sound": "data/弹球音效/normal zombie die 1.mp3",
-      "hit_sound": "Null",
-      "walk_sound": "Null",
-      "block_sound": "nan",
-      "stealth_sound": "nan",
-      "armor_break_sound": "nan",
-      "fuse_sound": "nan"
-    },
-    "boss": {
-      "is_boss": false,
-      "phases": 1,
-      "rage_threshold": 0.3,
-      "rage_damage_multiplier": 1.0,
-      "rage_speed_multiplier": 1.0
-    }
-  },
-  {
-    "id": "roadblock_zombie",
-    "name": "路障僵尸",
-    "type": "armored",
-    "stats": {
-      "health": 60,
-      "maxHealth": 60,
-      "defense": 1,
-      "speed": 25.0
-    },
-    "movement": {
-      "pattern": "direct",
-      "speed": 40.0,
-      "patrolRange": 100,
-      "chaseRange": 200,
-      "rotationSpeed": 180.0,
-      "moveType": "straight",
-      "swingAmplitude": 0.0,
-      "swingFrequency": 0.0,
-      "speedVariation": 0.1
-    },
-    "combat": {
-      "attackDamage": 1,
-      "attackRange": 30.0,
-      "attackSpeed": 0.3,
-      "canBlock": false,
-      "blockChance": 0.0,
-      "blockDamageReduction": 0.5,
-      "attackCooldown": 3.0,
-      "attackType": "melee",
-      "attackDelay": 1.0,
-      "weaponType": "none",
-      "projectileType": "none",
-      "projectileSpeed": 100.0
-    },
-    "visualConfig": {
-      "spritePath": "Animation/EnemyAni/002",
-      "scale": 1.0,
-      "animationSpeed": 1.0,
-      "flipX": false,
-      "tint": "#FFFFFF",
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weaponProp": "props/magic_staff"
-    },
-    "audioConfig": {
-      "attackSound": "enemy_attack",
-      "deathSound": "enemy_death",
-      "hitSound": "enemy_hit",
-      "walkSound": "audio/roadblock_walk",
-      "blockSound": "",
-      "stealthSound": "",
-      "armorBreakSound": "",
-      "fuseSound": "",
-      "volume": 1.0
-    },
-    "visual": {
-      "sprite_path": "Animation/EnemyAni/002",
-      "scale": 1.0,
-      "animation_speed": 1.0,
-      "flip_horizontal": false,
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weapon_prop": "props/magic_staff"
-    },
-    "audio": {
-      "attack_sound": "data/弹球音效/bow.mp3",
-      "death_sound": "data/弹球音效/normal zombie die 2.mp3",
-      "hit_sound": "Null",
-      "walk_sound": "Null",
-      "block_sound": "nan",
-      "stealth_sound": "nan",
-      "armor_break_sound": "nan",
-      "fuse_sound": "nan"
-    },
-    "boss": {
-      "is_boss": false,
-      "phases": 1,
-      "rage_threshold": 0.3,
-      "rage_damage_multiplier": 1.0,
-      "rage_speed_multiplier": 1.0
-    }
-  },
-  {
-    "id": "wandering_zombie",
-    "name": "漫步僵尸",
-    "type": "wanderer",
-    "stats": {
-      "health": 55,
-      "maxHealth": 55,
-      "defense": 0,
-      "speed": 35.0
-    },
-    "movement": {
-      "pattern": "direct",
-      "speed": 45.0,
-      "patrolRange": 100,
-      "chaseRange": 200,
-      "rotationSpeed": 180.0,
-      "moveType": "sway",
-      "swingAmplitude": 20.0,
-      "swingFrequency": 2.0,
-      "speedVariation": 0.2
-    },
-    "combat": {
-      "attackDamage": 1,
-      "attackRange": 30.0,
-      "attackSpeed": 0.4,
-      "canBlock": false,
-      "blockChance": 0.0,
-      "blockDamageReduction": 0.5,
-      "attackCooldown": 3.0,
-      "attackType": "melee_weapon",
-      "attackDelay": 1.0,
-      "weaponType": "baseball_bat",
-      "projectileType": "none",
-      "projectileSpeed": 100.0
-    },
-    "visualConfig": {
-      "spritePath": "Animation/EnemyAni/003",
-      "scale": 1.0,
-      "animationSpeed": 1.0,
-      "flipX": false,
-      "tint": "#FFFFFF",
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weaponProp": "props/bow"
-    },
-    "audioConfig": {
-      "attackSound": "enemy_attack",
-      "deathSound": "enemy_death",
-      "hitSound": "enemy_hit",
-      "walkSound": "audio/wandering_walk",
-      "blockSound": "",
-      "stealthSound": "",
-      "armorBreakSound": "",
-      "fuseSound": "",
-      "volume": 1.0
-    },
-    "visual": {
-      "sprite_path": "Animation/EnemyAni/003",
-      "scale": 1.0,
-      "animation_speed": 1.0,
-      "flip_horizontal": false,
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weapon_prop": "props/bow"
-    },
-    "audio": {
-      "attack_sound": "data/弹球音效/MagicianAttack.mp3",
-      "death_sound": "data/弹球音效/normal zombie die 3.mp3",
-      "hit_sound": "Null",
-      "walk_sound": "Null",
-      "block_sound": "nan",
-      "stealth_sound": "nan",
-      "armor_break_sound": "nan",
-      "fuse_sound": "nan"
-    },
-    "boss": {
-      "is_boss": false,
-      "phases": 1,
-      "rage_threshold": 0.3,
-      "rage_damage_multiplier": 1.0,
-      "rage_speed_multiplier": 1.0
-    }
-  },
-  {
-    "id": "mage_zombie",
-    "name": "法师僵尸",
-    "type": "ranged_caster",
-    "stats": {
-      "health": 32,
-      "maxHealth": 32,
-      "defense": 0,
-      "speed": 15.0
-    },
-    "movement": {
-      "pattern": "direct",
-      "speed": 35.0,
-      "patrolRange": 100,
-      "chaseRange": 200,
-      "rotationSpeed": 180.0,
-      "moveType": "straight",
-      "swingAmplitude": 0.0,
-      "swingFrequency": 0.0,
-      "speedVariation": 0.1
-    },
-    "combat": {
-      "attackDamage": 1,
-      "attackRange": 200.0,
-      "attackSpeed": 0.2,
-      "canBlock": false,
-      "blockChance": 0.0,
-      "blockDamageReduction": 0.5,
-      "attackCooldown": 4.0,
-      "attackType": "magic_projectile",
-      "attackDelay": 1.0,
-      "weaponType": "none",
-      "projectileType": "magic_bolt",
-      "projectileSpeed": 50.0
-    },
-    "visualConfig": {
-      "spritePath": "Animation/EnemyAni/004",
-      "scale": 1.0,
-      "animationSpeed": 1.0,
-      "flipX": false,
-      "tint": "#FFFFFF",
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weaponProp": ""
-    },
-    "audioConfig": {
-      "attackSound": "enemy_attack",
-      "deathSound": "enemy_death",
-      "hitSound": "enemy_hit",
-      "walkSound": "audio/mage_walk",
-      "blockSound": "",
-      "stealthSound": "",
-      "armorBreakSound": "",
-      "fuseSound": "",
-      "volume": 1.0
-    },
-    "visual": {
-      "sprite_path": "Animation/EnemyAni/004",
-      "scale": 1.0,
-      "animation_speed": 1.0,
-      "flip_horizontal": false,
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weapon_prop": "nan"
-    },
-    "audio": {
-      "attack_sound": "data/弹球音效/zhanshiAtk.mp3",
-      "death_sound": "data/弹球音效/normal zombie die 4.mp3",
-      "hit_sound": "Null",
-      "walk_sound": "Null",
-      "block_sound": "nan",
-      "stealth_sound": "nan",
-      "armor_break_sound": "nan",
-      "fuse_sound": "nan"
-    },
-    "boss": {
-      "is_boss": false,
-      "phases": 1,
-      "rage_threshold": 0.3,
-      "rage_damage_multiplier": 1.0,
-      "rage_speed_multiplier": 1.0
-    }
-  },
-  {
-    "id": "archer_zombie",
-    "name": "弓箭僵尸",
-    "type": "ranged_archer",
-    "stats": {
-      "health": 32,
-      "maxHealth": 32,
-      "defense": 0,
-      "speed": 15.0
-    },
-    "movement": {
-      "pattern": "direct",
-      "speed": 40.0,
-      "patrolRange": 100,
-      "chaseRange": 200,
-      "rotationSpeed": 180.0,
-      "moveType": "straight",
-      "swingAmplitude": 0.0,
-      "swingFrequency": 0.0,
-      "speedVariation": 0.1
-    },
-    "combat": {
-      "attackDamage": 1,
-      "attackRange": 250.0,
-      "attackSpeed": 0.2,
-      "canBlock": false,
-      "blockChance": 0.0,
-      "blockDamageReduction": 0.5,
-      "attackCooldown": 4.0,
-      "attackType": "arrow_projectile",
-      "attackDelay": 1.0,
-      "weaponType": "none",
-      "projectileType": "arrow",
-      "projectileSpeed": 100.0
-    },
-    "visualConfig": {
-      "spritePath": "Animation/EnemyAni/005",
-      "scale": 1.0,
-      "animationSpeed": 1.0,
-      "flipX": false,
-      "tint": "#FFFFFF",
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weaponProp": ""
-    },
-    "audioConfig": {
-      "attackSound": "enemy_attack",
-      "deathSound": "enemy_death",
-      "hitSound": "enemy_hit",
-      "walkSound": "audio/archer_walk",
-      "blockSound": "",
-      "stealthSound": "",
-      "armorBreakSound": "",
-      "fuseSound": "",
-      "volume": 1.0
-    },
-    "visual": {
-      "sprite_path": "Animation/EnemyAni/005",
-      "scale": 1.0,
-      "animation_speed": 1.0,
-      "flip_horizontal": false,
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weapon_prop": "nan"
-    },
-    "audio": {
-      "attack_sound": "data/弹球音效/hammer1.mp3",
-      "death_sound": "data/弹球音效/normal zombie die 5.mp3",
-      "hit_sound": "Null",
-      "walk_sound": "Null",
-      "block_sound": "nan",
-      "stealth_sound": "nan",
-      "armor_break_sound": "nan",
-      "fuse_sound": "nan"
-    },
-    "boss": {
-      "is_boss": false,
-      "phases": 1,
-      "rage_threshold": 0.3,
-      "rage_damage_multiplier": 1.0,
-      "rage_speed_multiplier": 1.0
-    }
-  },
-  {
-    "id": "stealth_zombie",
-    "name": "隐身僵尸",
-    "type": "stealth",
-    "stats": {
-      "health": 42,
-      "maxHealth": 42,
-      "defense": 0,
-      "speed": 35.0
-    },
-    "movement": {
-      "pattern": "direct",
-      "speed": 60.0,
-      "patrolRange": 100,
-      "chaseRange": 200,
-      "rotationSpeed": 180.0,
-      "moveType": "straight",
-      "swingAmplitude": 0.0,
-      "swingFrequency": 0.0,
-      "speedVariation": 0.1
-    },
-    "combat": {
-      "attackDamage": 1,
-      "attackRange": 30.0,
-      "attackSpeed": 0.4,
-      "canBlock": false,
-      "blockChance": 0.0,
-      "blockDamageReduction": 0.5,
-      "attackCooldown": 3.0,
-      "attackType": "stealth_strike",
-      "attackDelay": 1.0,
-      "weaponType": "none",
-      "projectileType": "none",
-      "projectileSpeed": 100.0
-    },
-    "visualConfig": {
-      "spritePath": "Animation/EnemyAni/006",
-      "scale": 1.0,
-      "animationSpeed": 1.0,
-      "flipX": false,
-      "tint": "#FFFFFF",
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weaponProp": ""
-    },
-    "audioConfig": {
-      "attackSound": "enemy_attack",
-      "deathSound": "enemy_death",
-      "hitSound": "enemy_hit",
-      "walkSound": "audio/stealth_walk",
-      "blockSound": "",
-      "stealthSound": "audio/stealth_activate",
-      "armorBreakSound": "",
-      "fuseSound": "",
-      "volume": 1.0
-    },
-    "visual": {
-      "sprite_path": "Animation/EnemyAni/006",
-      "scale": 1.0,
-      "animation_speed": 1.0,
-      "flip_horizontal": false,
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weapon_prop": "nan"
-    },
-    "audio": {
-      "attack_sound": "data/弹球音效/hammer1.mp4",
-      "death_sound": "data/弹球音效/normal zombie die 6.mp3",
-      "hit_sound": "Null",
-      "walk_sound": "Null",
-      "block_sound": "nan",
-      "stealth_sound": "Null",
-      "armor_break_sound": "nan",
-      "fuse_sound": "nan"
-    },
-    "boss": {
-      "is_boss": false,
-      "phases": 1,
-      "rage_threshold": 0.3,
-      "rage_damage_multiplier": 1.0,
-      "rage_speed_multiplier": 1.0
-    }
-  },
-  {
-    "id": "bucket_zombie",
-    "name": "铁桶僵尸",
-    "type": "heavy_armor",
-    "stats": {
-      "health": 80,
-      "maxHealth": 80,
-      "defense": 2,
-      "speed": 15.0
-    },
-    "movement": {
-      "pattern": "direct",
-      "speed": 30.0,
-      "patrolRange": 100,
-      "chaseRange": 200,
-      "rotationSpeed": 180.0,
-      "moveType": "straight",
-      "swingAmplitude": 0.0,
-      "swingFrequency": 0.0,
-      "speedVariation": 0.1
-    },
-    "combat": {
-      "attackDamage": 1,
-      "attackRange": 30.0,
-      "attackSpeed": 0.3,
-      "canBlock": false,
-      "blockChance": 0.0,
-      "blockDamageReduction": 0.5,
-      "attackCooldown": 4.0,
-      "attackType": "heavy_melee",
-      "attackDelay": 1.0,
-      "weaponType": "none",
-      "projectileType": "none",
-      "projectileSpeed": 100.0
-    },
-    "visualConfig": {
-      "spritePath": "Animation/EnemyAni/007",
-      "scale": 1.0,
-      "animationSpeed": 1.0,
-      "flipX": false,
-      "tint": "#FFFFFF",
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weaponProp": "props/iron_gate"
-    },
-    "audioConfig": {
-      "attackSound": "enemy_attack",
-      "deathSound": "enemy_death",
-      "hitSound": "enemy_hit",
-      "walkSound": "audio/bucket_walk",
-      "blockSound": "",
-      "stealthSound": "",
-      "armorBreakSound": "audio/armor_break",
-      "fuseSound": "",
-      "volume": 1.0
-    },
-    "visual": {
-      "sprite_path": "Animation/EnemyAni/007",
-      "scale": 1.0,
-      "animation_speed": 1.0,
-      "flip_horizontal": false,
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weapon_prop": "props/iron_gate"
-    },
-    "audio": {
-      "attack_sound": "data/弹球音效/hammer1.mp5",
-      "death_sound": "data/弹球音效/normal zombie die 7.mp3",
-      "hit_sound": "Null",
-      "walk_sound": "Null",
-      "block_sound": "nan",
-      "stealth_sound": "nan",
-      "armor_break_sound": "Null",
-      "fuse_sound": "nan"
-    },
-    "boss": {
-      "is_boss": false,
-      "phases": 1,
-      "rage_threshold": 0.3,
-      "rage_damage_multiplier": 1.0,
-      "rage_speed_multiplier": 1.0
-    }
-  },
-  {
-    "id": "barrel_zombie",
-    "name": "火药桶僵尸",
-    "type": "explosive",
-    "stats": {
-      "health": 45,
-      "maxHealth": 45,
-      "defense": 0,
-      "speed": 30.0
-    },
-    "movement": {
-      "pattern": "direct",
-      "speed": 45.0,
-      "patrolRange": 100,
-      "chaseRange": 200,
-      "rotationSpeed": 180.0,
-      "moveType": "straight",
-      "swingAmplitude": 0.0,
-      "swingFrequency": 0.0,
-      "speedVariation": 0.1
-    },
-    "combat": {
-      "attackDamage": 1,
-      "attackRange": 30.0,
-      "attackSpeed": 0.3,
-      "canBlock": false,
-      "blockChance": 0.0,
-      "blockDamageReduction": 0.5,
-      "attackCooldown": 3.0,
-      "attackType": "melee",
-      "attackDelay": 1.0,
-      "weaponType": "none",
-      "projectileType": "none",
-      "projectileSpeed": 100.0
-    },
-    "visualConfig": {
-      "spritePath": "Animation/EnemyAni/008",
-      "scale": 1.0,
-      "animationSpeed": 1.0,
-      "flipX": false,
-      "tint": "#FFFFFF",
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weaponProp": "props/tombstone"
-    },
-    "audioConfig": {
-      "attackSound": "enemy_attack",
-      "deathSound": "enemy_death",
-      "hitSound": "enemy_hit",
-      "walkSound": "audio/barrel_walk",
-      "blockSound": "",
-      "stealthSound": "",
-      "armorBreakSound": "",
-      "fuseSound": "audio/barrel_fuse",
-      "volume": 1.0
-    },
-    "visual": {
-      "sprite_path": "Animation/EnemyAni/008",
-      "scale": 1.0,
-      "animation_speed": 1.0,
-      "flip_horizontal": false,
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weapon_prop": "props/tombstone"
-    },
-    "audio": {
-      "attack_sound": "data/弹球音效/hammer1.mp6",
-      "death_sound": "data/弹球音效/boss die.mp3",
-      "hit_sound": "Null",
-      "walk_sound": "Null",
-      "block_sound": "nan",
-      "stealth_sound": "nan",
-      "armor_break_sound": "nan",
-      "fuse_sound": "Null"
-    },
-    "boss": {
-      "is_boss": false,
-      "phases": 1,
-      "rage_threshold": 0.3,
-      "rage_damage_multiplier": 1.0,
-      "rage_speed_multiplier": 1.0
-    }
-  },
-  {
-    "id": "boss1_gatekeeper",
-    "name": "BOSS1",
-    "type": "boss",
-    "stats": {
-      "health": 500,
-      "maxHealth": 500,
-      "defense": 2,
-      "speed": 10.0
-    },
-    "movement": {
-      "pattern": "direct",
-      "speed": 25.0,
-      "patrolRange": 100,
-      "chaseRange": 200,
-      "rotationSpeed": 180.0,
-      "moveType": "straight",
-      "swingAmplitude": 0.0,
-      "swingFrequency": 0.0,
-      "speedVariation": 0.1
-    },
-    "combat": {
-      "attackDamage": 1,
-      "attackRange": 30.0,
-      "attackSpeed": 0.2,
-      "canBlock": false,
-      "blockChance": 0.0,
-      "blockDamageReduction": 0.5,
-      "attackCooldown": 4.0,
-      "attackType": "gate_slam",
-      "attackDelay": 1.0,
-      "weaponType": "none",
-      "projectileType": "none",
-      "projectileSpeed": 100.0
-    },
-    "visualConfig": {
-      "spritePath": "Animation/EnemyAni/009",
-      "scale": 1.0,
-      "animationSpeed": 1.0,
-      "flipX": false,
-      "tint": "#FFFFFF",
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weaponProp": "props/cyber_arm"
-    },
-    "audioConfig": {
-      "attackSound": "enemy_attack",
-      "deathSound": "enemy_death",
-      "hitSound": "enemy_hit",
-      "walkSound": "audio/boss1_walk",
-      "blockSound": "",
-      "stealthSound": "",
-      "armorBreakSound": "",
-      "fuseSound": "",
-      "volume": 1.0
-    },
-    "specialAbilities": [
-      {
-        "type": "charge_attack",
-        "damage": 1,
-        "range": 150.0,
-        "cooldown": 8.0
-      },
-      {
-        "type": "area_attack",
-        "damage": 2,
-        "range": 100.0,
-        "cooldown": 12.0
-      }
-    ],
-    "bossConfig": {
-      "isBoss": true,
-      "phases": 1,
-      "enrageThreshold": 0.3,
-      "enrageDamageMultiplier": 1.5,
-      "enrageSpeedMultiplier": 1.3
-    },
-    "visual": {
-      "sprite_path": "Animation/EnemyAni/009",
-      "scale": 1.0,
-      "animation_speed": 1.0,
-      "flip_horizontal": false,
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weapon_prop": "props/cyber_arm"
-    },
-    "audio": {
-      "attack_sound": "data/弹球音效/hammer1.mp7",
-      "death_sound": "data/弹球音效/boss die.mp3",
-      "hit_sound": "Null",
-      "walk_sound": "Null",
-      "block_sound": "nan",
-      "stealth_sound": "nan",
-      "armor_break_sound": "nan",
-      "fuse_sound": "nan"
-    },
-    "boss": {
-      "is_boss": true,
-      "phases": 1,
-      "rage_threshold": 0.3,
-      "rage_damage_multiplier": 1.5,
-      "rage_speed_multiplier": 1.3
-    }
-  },
-  {
-    "id": "boss2_gravedigger",
-    "name": "BOSS2",
-    "type": "boss",
-    "stats": {
-      "health": 500,
-      "maxHealth": 500,
-      "defense": 3,
-      "speed": 10.0
-    },
-    "movement": {
-      "pattern": "direct",
-      "speed": 20.0,
-      "patrolRange": 100,
-      "chaseRange": 200,
-      "rotationSpeed": 180.0,
-      "moveType": "straight",
-      "swingAmplitude": 0.0,
-      "swingFrequency": 0.0,
-      "speedVariation": 0.1
-    },
-    "combat": {
-      "attackDamage": 1,
-      "attackRange": 30.0,
-      "attackSpeed": 0.2,
-      "canBlock": false,
-      "blockChance": 0.0,
-      "blockDamageReduction": 0.5,
-      "attackCooldown": 5.0,
-      "attackType": "tombstone_smash",
-      "attackDelay": 1.0,
-      "weaponType": "none",
-      "projectileType": "none",
-      "projectileSpeed": 100.0
-    },
-    "visualConfig": {
-      "spritePath": "Animation/EnemyAni/010",
-      "scale": 1.0,
-      "animationSpeed": 1.0,
-      "flipX": false,
-      "tint": "#FFFFFF",
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weaponProp": ""
-    },
-    "audioConfig": {
-      "attackSound": "enemy_attack",
-      "deathSound": "enemy_death",
-      "hitSound": "enemy_hit",
-      "walkSound": "audio/boss2_walk",
-      "blockSound": "",
-      "stealthSound": "",
-      "armorBreakSound": "",
-      "fuseSound": "",
-      "volume": 1.0
-    },
-    "specialAbilities": [
-      {
-        "type": "charge_attack",
-        "damage": 1,
-        "range": 150.0,
-        "cooldown": 8.0
-      },
-      {
-        "type": "area_attack",
-        "damage": 2,
-        "range": 100.0,
-        "cooldown": 12.0
-      }
-    ],
-    "bossConfig": {
-      "isBoss": true,
-      "phases": 1,
-      "enrageThreshold": 0.3,
-      "enrageDamageMultiplier": 1.5,
-      "enrageSpeedMultiplier": 1.3
-    },
-    "visual": {
-      "sprite_path": "Animation/EnemyAni/010",
-      "scale": 1.0,
-      "animation_speed": 1.0,
-      "flip_horizontal": false,
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weapon_prop": "nan"
-    },
-    "audio": {
-      "attack_sound": "data/弹球音效/hammer1.mp8",
-      "death_sound": "data/弹球音效/boss die.mp4",
-      "hit_sound": "Null",
-      "walk_sound": "Null",
-      "block_sound": "nan",
-      "stealth_sound": "nan",
-      "armor_break_sound": "nan",
-      "fuse_sound": "nan"
-    },
-    "boss": {
-      "is_boss": true,
-      "phases": 1,
-      "rage_threshold": 0.3,
-      "rage_damage_multiplier": 1.5,
-      "rage_speed_multiplier": 1.3
-    }
-  },
-  {
-    "id": "boss3_cyborg",
-    "name": "BOSS3",
-    "type": "boss",
-    "stats": {
-      "health": 250,
-      "maxHealth": 250,
-      "defense": 1,
-      "speed": 10.0
-    },
-    "movement": {
-      "pattern": "direct",
-      "speed": 35.0,
-      "patrolRange": 100,
-      "chaseRange": 200,
-      "rotationSpeed": 180.0,
-      "moveType": "straight",
-      "swingAmplitude": 0.0,
-      "swingFrequency": 0.0,
-      "speedVariation": 0.1
-    },
-    "combat": {
-      "attackDamage": 1,
-      "attackRange": 80.0,
-      "attackSpeed": 0.2,
-      "canBlock": false,
-      "blockChance": 0.0,
-      "blockDamageReduction": 0.5,
-      "attackCooldown": 4.0,
-      "attackType": "cyber_arm_combo",
-      "attackDelay": 1.0,
-      "weaponType": "none",
-      "projectileType": "none",
-      "projectileSpeed": 100.0
-    },
-    "visualConfig": {
-      "spritePath": "Animation/EnemyAni/011",
-      "scale": 1.0,
-      "animationSpeed": 1.0,
-      "flipX": false,
-      "tint": "#FFFFFF",
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weaponProp": ""
-    },
-    "audioConfig": {
-      "attackSound": "enemy_attack",
-      "deathSound": "enemy_death",
-      "hitSound": "enemy_hit",
-      "walkSound": "audio/boss3_walk",
-      "blockSound": "",
-      "stealthSound": "",
-      "armorBreakSound": "",
-      "fuseSound": "",
-      "volume": 1.0
-    },
-    "specialAbilities": [
-      {
-        "type": "charge_attack",
-        "damage": 1,
-        "range": 150.0,
-        "cooldown": 8.0
-      },
-      {
-        "type": "area_attack",
-        "damage": 2,
-        "range": 100.0,
-        "cooldown": 12.0
-      }
-    ],
-    "bossConfig": {
-      "isBoss": true,
-      "phases": 1,
-      "enrageThreshold": 0.3,
-      "enrageDamageMultiplier": 1.5,
-      "enrageSpeedMultiplier": 1.3
-    },
-    "visual": {
-      "sprite_path": "Animation/EnemyAni/011",
-      "scale": 1.0,
-      "animation_speed": 1.0,
-      "flip_horizontal": false,
-      "animations": {
-        "idle": "idle",
-        "walk": "walk",
-        "attack": "attack",
-        "death": "dead"
-      },
-      "weapon_prop": "nan"
-    },
-    "audio": {
-      "attack_sound": "data/弹球音效/hammer1.mp9",
-      "death_sound": "data/弹球音效/boss die.mp5",
-      "hit_sound": "Null",
-      "walk_sound": "Null",
-      "block_sound": "nan",
-      "stealth_sound": "nan",
-      "armor_break_sound": "nan",
-      "fuse_sound": "nan"
-    },
-    "boss": {
-      "is_boss": true,
-      "phases": 1,
-      "rage_threshold": 0.3,
-      "rage_damage_multiplier": 1.5,
-      "rage_speed_multiplier": 1.3
-    }
-  }
-]

+ 62 - 15
assets/resources/data/excel/level_config_manager.py

@@ -33,6 +33,8 @@ class LevelConfigManager:
         self.weapon_config = None
         self.wave_config = None
         self.enemy_config = None
+        self.energy_exp_config = None
+        self.energy_upgrade_config = None
     
     def read_excel_data(self, excel_path=None):
         """
@@ -60,6 +62,8 @@ class LevelConfigManager:
             self._parse_weapon_config(all_sheets)
             self._parse_wave_config(all_sheets)
             self._parse_enemy_config(all_sheets)
+            self._parse_energy_exp_config(all_sheets)
+            self._parse_energy_upgrade_config(all_sheets)
             
             print(f"成功读取Excel数据: {self.excel_path}")
             return True
@@ -124,6 +128,34 @@ class LevelConfigManager:
                 
         print("警告: 未找到敌人详细配置工作表")
     
+    def _parse_energy_exp_config(self, all_sheets):
+        """
+        解析能量条经验值配置工作表
+        """
+        sheet_names = ['能量经验配置', 'Energy Exp Config', 'energy_exp', '能量经验']
+        
+        for sheet_name in sheet_names:
+            if sheet_name in all_sheets:
+                self.energy_exp_config = all_sheets[sheet_name]
+                print(f"找到能量条经验值配置工作表: {sheet_name}")
+                return
+                
+        print("警告: 未找到能量条经验值配置工作表")
+    
+    def _parse_energy_upgrade_config(self, all_sheets):
+        """
+        解析能量条升级配置工作表
+        """
+        sheet_names = ['能量最大值升级', 'Energy Upgrade Config', 'energy_upgrade', '能量升级']
+        
+        for sheet_name in sheet_names:
+            if sheet_name in all_sheets:
+                self.energy_upgrade_config = all_sheets[sheet_name]
+                print(f"找到能量条升级配置工作表: {sheet_name}")
+                return
+                
+        print("警告: 未找到能量条升级配置工作表")
+    
     def get_all_level_ids(self):
         """
         获取所有关卡ID
@@ -262,21 +294,36 @@ class LevelConfigManager:
                 if pd.notna(row['初始金币']):
                     existing_config['initialCoins'] = int(row['初始金币'])
                 
-                # 处理能量最大值配置
-                if pd.notna(row.get('能量最大值', None)):
-                    if 'levelSettings' not in existing_config:
-                        existing_config['levelSettings'] = {}
-                    existing_config['levelSettings']['energyMax'] = int(row['能量最大值'])
-                elif pd.notna(row.get('energyMax', None)):
-                    if 'levelSettings' not in existing_config:
-                        existing_config['levelSettings'] = {}
-                    existing_config['levelSettings']['energyMax'] = int(row['energyMax'])
-                else:
-                    # 确保levelSettings存在并有默认的energyMax值
-                    if 'levelSettings' not in existing_config:
-                        existing_config['levelSettings'] = {}
-                    if 'energyMax' not in existing_config['levelSettings']:
-                        existing_config['levelSettings']['energyMax'] = 5  # 默认值
+                # 确保levelSettings存在(用于后续的energyMaxUpgrades配置)
+                if 'levelSettings' not in existing_config:
+                    existing_config['levelSettings'] = {}
+                
+                # 注释:energyMax配置已移除,现在只使用energyMaxUpgrades数组管理能量最大值
+        
+        # 注释:energyExpValues配置已移除,现在只使用energyMaxUpgrades配置
+        # 能量条经验值现在直接在游戏代码中硬编码为递增模式
+        
+        # 更新能量条升级配置
+        if self.energy_upgrade_config is not None:
+            energy_upgrade_row = self.energy_upgrade_config[self.energy_upgrade_config['关卡ID'] == level_id]
+            if not energy_upgrade_row.empty:
+                row = energy_upgrade_row.iloc[0]
+                
+                if 'levelSettings' not in existing_config:
+                    existing_config['levelSettings'] = {}
+                
+                # 读取20次升级后的最大值配置
+                energy_max_values = []
+                for i in range(1, 21):  # 1到20次升级
+                    col_name = f'第{i}次升级后最大值'
+                    if col_name in row and pd.notna(row[col_name]):
+                        energy_max_values.append(int(row[col_name]))
+                    else:
+                        # 如果没有配置,使用默认值(基于固定初始值6递增)
+                        base_max = 6  # 固定初始值,与energyMaxUpgrades数组第一个值保持一致
+                        energy_max_values.append(base_max + (i - 1))  # 修正递增逻辑
+                
+                existing_config['levelSettings']['energyMaxUpgrades'] = energy_max_values
         
         # 更新武器配置
         if self.weapon_config is not None:

BIN
assets/resources/data/excel/关卡配置/关卡配置表.xlsx


BIN
assets/resources/data/excel/敌人配置表.xlsx


+ 22 - 1
assets/resources/data/levels/Level1.json

@@ -147,6 +147,27 @@
     }
   ],
   "levelSettings": {
-    "energyMax": 5
+    "energyMaxUpgrades": [
+      6,
+      7,
+      8,
+      9,
+      10,
+      11,
+      12,
+      13,
+      14,
+      15,
+      16,
+      17,
+      18,
+      19,
+      20,
+      21,
+      22,
+      23,
+      24,
+      25
+    ]
   }
 }

+ 23 - 1
assets/resources/data/levels/Level2.json

@@ -147,6 +147,28 @@
     }
   ],
   "levelSettings": {
-    "energyMax": 5
+    "energyMax": 5,
+    "energyMaxUpgrades": [
+      6,
+      7,
+      8,
+      9,
+      10,
+      11,
+      12,
+      13,
+      14,
+      15,
+      16,
+      17,
+      18,
+      19,
+      20,
+      21,
+      22,
+      23,
+      24,
+      25
+    ]
   }
 }

+ 23 - 1
assets/resources/data/levels/Level3.json

@@ -90,6 +90,28 @@
     }
   ],
   "levelSettings": {
-    "energyMax": 6
+    "energyMax": 6,
+    "energyMaxUpgrades": [
+      7,
+      8,
+      9,
+      10,
+      11,
+      12,
+      13,
+      14,
+      15,
+      16,
+      17,
+      18,
+      19,
+      20,
+      21,
+      22,
+      23,
+      24,
+      25,
+      26
+    ]
   }
 }

+ 23 - 1
assets/resources/data/levels/Level4.json

@@ -94,6 +94,28 @@
     }
   ],
   "levelSettings": {
-    "energyMax": 6
+    "energyMax": 6,
+    "energyMaxUpgrades": [
+      7,
+      8,
+      9,
+      10,
+      11,
+      12,
+      13,
+      14,
+      15,
+      16,
+      17,
+      18,
+      19,
+      20,
+      21,
+      22,
+      23,
+      24,
+      25,
+      26
+    ]
   }
 }

+ 23 - 1
assets/resources/data/levels/Level5.json

@@ -94,6 +94,28 @@
     }
   ],
   "levelSettings": {
-    "energyMax": 7
+    "energyMax": 7,
+    "energyMaxUpgrades": [
+      8,
+      9,
+      10,
+      11,
+      12,
+      13,
+      14,
+      15,
+      16,
+      17,
+      18,
+      19,
+      20,
+      21,
+      22,
+      23,
+      24,
+      25,
+      26,
+      27
+    ]
   }
 }

+ 23 - 1
assets/resources/data/levels/Level6.json

@@ -94,6 +94,28 @@
     }
   ],
   "levelSettings": {
-    "energyMax": 7
+    "energyMax": 7,
+    "energyMaxUpgrades": [
+      8,
+      9,
+      10,
+      11,
+      12,
+      13,
+      14,
+      15,
+      16,
+      17,
+      18,
+      19,
+      20,
+      21,
+      22,
+      23,
+      24,
+      25,
+      26,
+      27
+    ]
   }
 }

+ 23 - 1
assets/resources/data/levels/Level7.json

@@ -106,6 +106,28 @@
     }
   ],
   "levelSettings": {
-    "energyMax": 8
+    "energyMax": 8,
+    "energyMaxUpgrades": [
+      9,
+      10,
+      11,
+      12,
+      13,
+      14,
+      15,
+      16,
+      17,
+      18,
+      19,
+      20,
+      21,
+      22,
+      23,
+      24,
+      25,
+      26,
+      27,
+      28
+    ]
   }
 }

+ 23 - 1
assets/resources/data/levels/Level8.json

@@ -127,6 +127,28 @@
     }
   ],
   "levelSettings": {
-    "energyMax": 8
+    "energyMax": 8,
+    "energyMaxUpgrades": [
+      9,
+      10,
+      11,
+      12,
+      13,
+      14,
+      15,
+      16,
+      17,
+      18,
+      19,
+      20,
+      21,
+      22,
+      23,
+      24,
+      25,
+      26,
+      27,
+      28
+    ]
   }
 }

+ 23 - 1
assets/resources/data/levels/Level9.json

@@ -147,6 +147,28 @@
     }
   ],
   "levelSettings": {
-    "energyMax": 9
+    "energyMax": 9,
+    "energyMaxUpgrades": [
+      10,
+      11,
+      12,
+      13,
+      14,
+      15,
+      16,
+      17,
+      18,
+      19,
+      20,
+      21,
+      22,
+      23,
+      24,
+      25,
+      26,
+      27,
+      28,
+      29
+    ]
   }
 }

+ 107 - 25
assets/scripts/LevelSystem/IN_game.ts

@@ -125,6 +125,12 @@ export class InGameManager extends Component {
     private energyMax: number = 0; // 必须从关卡配置中读取
     private energyBar: ProgressBar = null;
     private selectSkillUI: Node = null;
+    
+    // 新增:能量条升级系统
+    private energyUpgradeCount: number = 0; // 当前能量条升级次数
+
+    private energyMaxUpgrades: number[] = []; // 每次升级后的最大值配置
+
 
     // 能量条UI节点
     @property({
@@ -464,10 +470,10 @@ export class InGameManager extends Component {
                 }
             }
         } else if (energyWillBeFull) {
-            // 如果波次未结束但能量已满,也需要触发技能选择
-            console.log('[InGameManager] 能量已满但波次未结束,触发技能选择');
+            // 如果波次未结束但能量已满,设置状态为方块选择
+            // 注意:onEnergyFull()已在incrementEnergy()中调用,这里不需要重复调用
+            console.log('[InGameManager] 能量已满但波次未结束,设置方块选择状态');
             this.currentState = GameState.BLOCK_SELECTION;
-            this.onEnergyFull();
         }
     }
 
@@ -479,12 +485,17 @@ export class InGameManager extends Component {
         const energyHunterLevel = SkillManager.getInstance() ? SkillManager.getInstance().getSkillLevel('energy_hunter') : 0;
         const baseEnergy = 1;
         const bonusEnergy = SkillManager.calculateEnergyBonus ? SkillManager.calculateEnergyBonus(baseEnergy, energyHunterLevel) : baseEnergy;
-        this.energyPoints = Math.min(this.energyPoints + bonusEnergy, this.energyMax);
-        this.updateEnergyBar();
+        this.energyPoints += bonusEnergy;
         console.log(`[InGameManager] 能量值增加: +${bonusEnergy}, 当前: ${this.energyPoints}/${this.energyMax}`);
+        
+        // 检查是否达到当前能量最大值
         if (this.energyPoints >= this.energyMax) {
             this.onEnergyFull();
+            // 能量满后重置为0,开始下一轮积累
+            this.energyPoints = 0;
         }
+        
+        this.updateEnergyBar();
     }
 
     /**
@@ -587,6 +598,11 @@ export class InGameManager extends Component {
      */
     public setCurrentState(state: GameState) {
         this.currentState = state;
+        
+        // 当游戏状态变为PLAYING时,更新能量条显示
+        if (state === GameState.PLAYING) {
+            this.updateEnergyBar();
+        }
     }
 
     /**
@@ -598,8 +614,7 @@ export class InGameManager extends Component {
             this.energyBar = this.energyBarNode.getComponent(ProgressBar);
             if (this.energyBar) {
                 console.log('[InGameManager] 能量条组件初始化成功');
-                // 初始化能量条显示
-                this.updateEnergyBar();
+                // 不在初始化阶段更新能量条,等待游戏状态变为PLAYING后再更新
             } else {
                 console.error('[InGameManager] 能量条节点存在但ProgressBar组件未找到');
             }
@@ -644,12 +659,17 @@ export class InGameManager extends Component {
      * 更新能量条显示
      */
     private updateEnergyBar() {
-        if (this.energyBar) {
+        // 只有在游戏状态为PLAYING时才更新能量条,避免初始化阶段的报错
+        if (this.currentState !== GameState.PLAYING) {
+            return;
+        }
+        
+        if (this.energyBar && this.energyMax > 0) {
             const progress = this.energyPoints / this.energyMax;
-            this.energyBar.progress = progress;
+            this.energyBar.progress = Math.min(progress, 1.0);
             console.log(`[InGameManager] 能量条更新: ${this.energyPoints}/${this.energyMax} (${Math.round(progress * 100)}%)`);
         } else {
-            console.warn('[InGameManager] 能量条组件未初始化,无法更新显示');
+            console.warn('[InGameManager] 能量条组件未初始化或energyMax未设置,无法更新显示');
         }
     }
     
@@ -657,11 +677,38 @@ export class InGameManager extends Component {
      * 能量满时的处理
      */
     private onEnergyFull() {
-        console.log('[InGameManager] 能量已满,显示技能选择UI');
-        // 直接显示技能选择UI
+        console.log('[InGameManager] 能量已满,开始升级处理');
+        
+        // 升级能量条
+        this.upgradeEnergySystem();
+        
+        // 显示技能选择UI
         this.showSkillSelection();
     }
     
+    /**
+     * 升级能量系统
+     */
+    private upgradeEnergySystem() {
+        // 增加升级次数
+        this.energyUpgradeCount++;
+        
+        // 更新能量最大值
+        // energyMaxUpgrades数组索引0是初始值,索引1是第1次升级后的值,以此类推
+        if (this.energyUpgradeCount < this.energyMaxUpgrades.length) {
+            const newMaxEnergy = this.energyMaxUpgrades[this.energyUpgradeCount];
+            this.energyMax = newMaxEnergy;
+            console.log(`[InGameManager] 能量条升级 ${this.energyUpgradeCount} 次,新的最大值: ${this.energyMax}`);
+        } else {
+            // 超出配置次数,按照上一次的值+1递增
+            this.energyMax = this.energyMax + 1;
+            console.log(`[InGameManager] 能量条升级超出配置次数,使用递增模式,新的最大值: ${this.energyMax}`);
+        }
+        
+        // 立即更新能量条显示,确保新的最大值生效
+        this.updateEnergyBar();
+    }
+    
     /**
      * 显示技能选择UI
      */
@@ -669,8 +716,8 @@ export class InGameManager extends Component {
         if (this.selectSkillUI) {
             this.selectSkillUI.active = true;
             this.pauseGame();
-            // 重置能量
-            StartGame.resetEnergy();
+            // 注意:不调用StartGame.resetEnergy(),因为那会重置整个能量系统包括最大值
+            // 能量点数已在onEnergyFull()中重置为0
         }
     }
     
@@ -902,13 +949,26 @@ export class InGameManager extends Component {
     
     /**
      * 重置能量系统(供StartGame调用)
+     * 注意:只在游戏真正重新开始时重置升级状态,技能选择后不应重置升级状态
      */
     public resetEnergySystem() {
         this.energyPoints = 0;
-        // energyMax 必须通过 applyLevelConfig 从关卡配置中设置
-        // 不再设置默认值,确保从JSON配置文件中读取
+        
+        // 只有在游戏状态不是BLOCK_SELECTION时才重置升级状态
+        // 这样可以避免技能选择后重置已获得的能量升级
+        if (this.currentState !== GameState.BLOCK_SELECTION) {
+            this.energyUpgradeCount = 0;
+            // 重置energyMax到初始值(energyMaxUpgrades数组的第一个值)
+            if (this.energyMaxUpgrades && this.energyMaxUpgrades.length > 0) {
+                this.energyMax = this.energyMaxUpgrades[0];
+            }
+            console.log('[InGameManager] 能量系统完全重置(包括升级状态)');
+        } else {
+            console.log('[InGameManager] 技能选择状态下,仅重置能量点数,保持升级状态');
+        }
+        
         this.updateEnergyBar();
-        console.log('[InGameManager] 能量系统重置完成,energyMax需要从关卡配置中设置');
+        console.log('[InGameManager] 能量系统重置完成');
     }
 
     /**
@@ -1030,15 +1090,37 @@ export class InGameManager extends Component {
     public applyLevelConfig(levelConfig: any) {
         console.log('[InGameManager] 应用关卡配置');
         
-        // 应用能量配置(必须配置)
-        if (levelConfig.levelSettings && levelConfig.levelSettings.energyMax) {
-            this.energyMax = levelConfig.levelSettings.energyMax;
-            this.updateEnergyBar();
-            console.log(`[InGameManager] 应用能量配置: ${this.energyMax}`);
+        // 应用能量配置 - 现在从energyMaxUpgrades数组获取初始值
+        let initialEnergyMax = 5; // 默认值
+        
+        // 先读取energyMaxUpgrades配置以获取初始能量最大值
+        if (levelConfig.levelSettings && levelConfig.levelSettings.energyMaxUpgrades && Array.isArray(levelConfig.levelSettings.energyMaxUpgrades) && levelConfig.levelSettings.energyMaxUpgrades.length > 0) {
+            initialEnergyMax = levelConfig.levelSettings.energyMaxUpgrades[0];
+            console.log(`[InGameManager] 从energyMaxUpgrades获取初始能量配置: ${initialEnergyMax}`);
         } else {
-            console.error('[InGameManager] 错误:关卡配置中缺少 energyMax 设置!');
-            // 设置一个临时默认值以防止游戏崩溃,但会在控制台显示错误
-            this.energyMax = 5;
+            console.warn('[InGameManager] 警告:关卡配置中缺少 energyMaxUpgrades 设置,使用默认值!');
+        }
+        
+        this.energyMax = initialEnergyMax;
+        this.updateEnergyBar();
+        
+        // 应用新的能量条升级配置
+        if (levelConfig.levelSettings) {
+            // 读取能量条升级后最大值配置
+            if (levelConfig.levelSettings.energyMaxUpgrades && Array.isArray(levelConfig.levelSettings.energyMaxUpgrades)) {
+                this.energyMaxUpgrades = [...levelConfig.levelSettings.energyMaxUpgrades];
+                console.log(`[InGameManager] 应用能量条升级配置: ${this.energyMaxUpgrades.length}个配置`);
+            } else {
+                // 默认升级配置(基于初始最大值递增)
+                this.energyMaxUpgrades = [];
+                for (let i = 0; i < 20; i++) {
+                    this.energyMaxUpgrades.push(this.energyMax + i + 1);
+                }
+                console.log('[InGameManager] 使用默认能量条升级配置');
+            }
+            
+            this.energyUpgradeCount = 0;
+            console.log('[InGameManager] 初始化能量条升级系统');
         }
         
         // 如果有武器配置,应用武器

+ 181 - 0
test_energy_system.js

@@ -0,0 +1,181 @@
+/**
+ * 能量条经验值系统测试脚本
+ * 用于验证新的能量条升级配置是否正确加载和应用
+ */
+
+console.log('=== 能量条经验值系统测试 ===');
+
+// 测试1: 检查关卡配置中的能量条配置
+function testLevelEnergyConfig() {
+    console.log('\n1. 测试关卡配置中的能量条配置:');
+    
+    // 测试加载Level1配置
+    cc.resources.load('data/levels/Level1', cc.JsonAsset, (err, asset) => {
+        if (err) {
+            console.error('❌ Level1配置加载失败:', err);
+            return;
+        }
+        
+        const config = asset.json;
+        console.log('✓ Level1配置加载成功');
+        
+        // 检查levelSettings
+        if (config.levelSettings) {
+            console.log('✓ levelSettings存在');
+            
+            // 检查能量相关配置
+            if (config.levelSettings.energyMax) {
+                console.log(`✓ energyMax: ${config.levelSettings.energyMax}`);
+            } else {
+                console.error('❌ energyMax配置缺失');
+            }
+            
+            if (config.levelSettings.energyExpValues) {
+                console.log(`✓ energyExpValues配置存在,长度: ${config.levelSettings.energyExpValues.length}`);
+                console.log(`  前5个值: [${config.levelSettings.energyExpValues.slice(0, 5).join(', ')}]`);
+            } else {
+                console.error('❌ energyExpValues配置缺失');
+            }
+            
+            if (config.levelSettings.energyMaxUpgrades) {
+                console.log(`✓ energyMaxUpgrades配置存在,长度: ${config.levelSettings.energyMaxUpgrades.length}`);
+                console.log(`  前5个值: [${config.levelSettings.energyMaxUpgrades.slice(0, 5).join(', ')}]`);
+            } else {
+                console.error('❌ energyMaxUpgrades配置缺失');
+            }
+        } else {
+            console.error('❌ levelSettings配置缺失');
+        }
+    });
+}
+
+// 测试2: 检查IN_game组件的能量系统属性
+function testInGameEnergySystem() {
+    console.log('\n2. 测试IN_game组件的能量系统属性:');
+    
+    // 查找IN_game节点
+    const gameManagerNode = cc.find('GameManager');
+    if (!gameManagerNode) {
+        console.error('❌ GameManager节点未找到');
+        return;
+    }
+    
+    const inGameComponent = gameManagerNode.getComponent('IN_game');
+    if (!inGameComponent) {
+        console.error('❌ IN_game组件未找到');
+        return;
+    }
+    
+    console.log('✓ IN_game组件找到');
+    
+    // 检查新增的属性(通过反射访问私有属性)
+    try {
+        const energyUpgradeCount = inGameComponent['energyUpgradeCount'];
+        const energyExpValues = inGameComponent['energyExpValues'];
+        const energyMaxUpgrades = inGameComponent['energyMaxUpgrades'];
+        const currentEnergyExpRequired = inGameComponent['currentEnergyExpRequired'];
+        
+        console.log(`✓ energyUpgradeCount: ${energyUpgradeCount}`);
+        console.log(`✓ energyExpValues长度: ${energyExpValues ? energyExpValues.length : '未定义'}`);
+        console.log(`✓ energyMaxUpgrades长度: ${energyMaxUpgrades ? energyMaxUpgrades.length : '未定义'}`);
+        console.log(`✓ currentEnergyExpRequired: ${currentEnergyExpRequired}`);
+        
+        if (energyExpValues && energyExpValues.length > 0) {
+            console.log(`  energyExpValues前5个值: [${energyExpValues.slice(0, 5).join(', ')}]`);
+        }
+        
+        if (energyMaxUpgrades && energyMaxUpgrades.length > 0) {
+            console.log(`  energyMaxUpgrades前5个值: [${energyMaxUpgrades.slice(0, 5).join(', ')}]`);
+        }
+    } catch (e) {
+        console.error('❌ 访问IN_game组件属性失败:', e);
+    }
+}
+
+// 测试3: 模拟能量系统升级流程
+function testEnergyUpgradeFlow() {
+    console.log('\n3. 测试能量系统升级流程:');
+    
+    const gameManagerNode = cc.find('GameManager');
+    if (!gameManagerNode) {
+        console.error('❌ GameManager节点未找到');
+        return;
+    }
+    
+    const inGameComponent = gameManagerNode.getComponent('IN_game');
+    if (!inGameComponent) {
+        console.error('❌ IN_game组件未找到');
+        return;
+    }
+    
+    try {
+        // 获取当前状态
+        const initialEnergyPoints = inGameComponent['energyPoints'];
+        const initialEnergyMax = inGameComponent['energyMax'];
+        const initialUpgradeCount = inGameComponent['energyUpgradeCount'];
+        const initialExpRequired = inGameComponent['currentEnergyExpRequired'];
+        
+        console.log('初始状态:');
+        console.log(`  能量值: ${initialEnergyPoints}`);
+        console.log(`  能量最大值: ${initialEnergyMax}`);
+        console.log(`  升级次数: ${initialUpgradeCount}`);
+        console.log(`  当前需要经验值: ${initialExpRequired}`);
+        
+        // 模拟增加能量到满
+        console.log('\n模拟能量增加到满:');
+        for (let i = 0; i < initialExpRequired; i++) {
+            if (inGameComponent.incrementEnergy) {
+                inGameComponent.incrementEnergy(1);
+            }
+        }
+        
+        // 检查升级后状态
+        setTimeout(() => {
+            const newEnergyPoints = inGameComponent['energyPoints'];
+            const newEnergyMax = inGameComponent['energyMax'];
+            const newUpgradeCount = inGameComponent['energyUpgradeCount'];
+            const newExpRequired = inGameComponent['currentEnergyExpRequired'];
+            
+            console.log('升级后状态:');
+            console.log(`  能量值: ${newEnergyPoints}`);
+            console.log(`  能量最大值: ${newEnergyMax}`);
+            console.log(`  升级次数: ${newUpgradeCount}`);
+            console.log(`  当前需要经验值: ${newExpRequired}`);
+            
+            if (newUpgradeCount > initialUpgradeCount) {
+                console.log('✓ 能量系统升级成功!');
+            } else {
+                console.error('❌ 能量系统升级失败');
+            }
+        }, 100);
+        
+    } catch (e) {
+        console.error('❌ 能量升级流程测试失败:', e);
+    }
+}
+
+// 执行所有测试
+function runAllTests() {
+    console.log('开始执行能量条经验值系统测试...');
+    
+    testLevelEnergyConfig();
+    
+    setTimeout(() => {
+        testInGameEnergySystem();
+    }, 1000);
+    
+    setTimeout(() => {
+        testEnergyUpgradeFlow();
+    }, 2000);
+    
+    setTimeout(() => {
+        console.log('\n=== 测试完成 ===');
+    }, 3000);
+}
+
+// 如果在Cocos Creator环境中运行
+if (typeof cc !== 'undefined') {
+    runAllTests();
+} else {
+    console.log('请在Cocos Creator控制台中运行此脚本');
+}

+ 172 - 0
verify_energy_config.py

@@ -0,0 +1,172 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+"""
+能量条经验值系统配置验证脚本
+用于验证新的能量条配置是否正确生成和应用
+"""
+
+import json
+import os
+from pathlib import Path
+
+def verify_energy_config():
+    """验证能量条配置"""
+    print("=== 能量条经验值系统配置验证 ===")
+    
+    # 检查关卡配置文件
+    levels_dir = Path("assets/resources/data/levels")
+    if not levels_dir.exists():
+        print(f"❌ 关卡配置目录不存在: {levels_dir}")
+        return False
+    
+    success_count = 0
+    total_count = 0
+    
+    # 检查所有关卡配置文件
+    for level_file in levels_dir.glob("Level*.json"):
+        total_count += 1
+        print(f"\n检查关卡配置: {level_file.name}")
+        
+        try:
+            with open(level_file, 'r', encoding='utf-8') as f:
+                config = json.load(f)
+            
+            # 检查基本结构
+            if 'levelSettings' not in config:
+                print(f"  ❌ 缺少 levelSettings")
+                continue
+            
+            level_settings = config['levelSettings']
+            
+            # 检查原有能量配置
+            if 'energyMax' not in level_settings:
+                print(f"  ❌ 缺少 energyMax")
+                continue
+            else:
+                print(f"  ✓ energyMax: {level_settings['energyMax']}")
+            
+            # 检查新的能量条经验值配置
+            if 'energyExpValues' not in level_settings:
+                print(f"  ❌ 缺少 energyExpValues")
+                continue
+            else:
+                exp_values = level_settings['energyExpValues']
+                if isinstance(exp_values, list) and len(exp_values) > 0:
+                    print(f"  ✓ energyExpValues: 长度={len(exp_values)}, 前5个值={exp_values[:5]}")
+                else:
+                    print(f"  ❌ energyExpValues 格式错误")
+                    continue
+            
+            # 检查新的能量条升级配置
+            if 'energyMaxUpgrades' not in level_settings:
+                print(f"  ❌ 缺少 energyMaxUpgrades")
+                continue
+            else:
+                upgrade_values = level_settings['energyMaxUpgrades']
+                if isinstance(upgrade_values, list) and len(upgrade_values) > 0:
+                    print(f"  ✓ energyMaxUpgrades: 长度={len(upgrade_values)}, 前5个值={upgrade_values[:5]}")
+                else:
+                    print(f"  ❌ energyMaxUpgrades 格式错误")
+                    continue
+            
+            # 验证数据逻辑
+            if len(exp_values) != len(upgrade_values):
+                print(f"  ⚠️  警告: energyExpValues和energyMaxUpgrades长度不匹配")
+            
+            # 验证递增趋势
+            if exp_values == sorted(exp_values):
+                print(f"  ✓ energyExpValues 呈递增趋势")
+            else:
+                print(f"  ⚠️  警告: energyExpValues 未呈递增趋势")
+            
+            if upgrade_values == sorted(upgrade_values):
+                print(f"  ✓ energyMaxUpgrades 呈递增趋势")
+            else:
+                print(f"  ⚠️  警告: energyMaxUpgrades 未呈递增趋势")
+            
+            print(f"  ✅ {level_file.name} 配置验证通过")
+            success_count += 1
+            
+        except Exception as e:
+            print(f"  ❌ 读取配置文件失败: {e}")
+    
+    print(f"\n=== 验证结果 ===")
+    print(f"总计关卡: {total_count}")
+    print(f"验证通过: {success_count}")
+    print(f"验证失败: {total_count - success_count}")
+    
+    if success_count == total_count and total_count > 0:
+        print("🎉 所有关卡配置验证通过!")
+        return True
+    else:
+        print("❌ 部分关卡配置验证失败")
+        return False
+
+def verify_excel_config():
+    """验证Excel配置文件"""
+    print("\n=== Excel配置文件验证 ===")
+    
+    excel_file = Path("assets/resources/data/excel/关卡配置/关卡配置表.xlsx")
+    if not excel_file.exists():
+        print(f"❌ Excel配置文件不存在: {excel_file}")
+        return False
+    
+    try:
+        import pandas as pd
+        
+        # 检查能量经验配置工作表
+        try:
+            df_exp = pd.read_excel(excel_file, sheet_name='能量经验配置')
+            print(f"✓ '能量经验配置' 工作表存在,行数: {len(df_exp)}")
+            print(f"  列数: {len(df_exp.columns)}")
+            if len(df_exp.columns) >= 21:  # 关卡ID + 20次经验值
+                print(f"  ✓ 列数符合预期 (>=21)")
+            else:
+                print(f"  ❌ 列数不足 (<21)")
+        except Exception as e:
+            print(f"❌ '能量经验配置' 工作表读取失败: {e}")
+        
+        # 检查能量升级配置工作表
+        try:
+            df_upgrade = pd.read_excel(excel_file, sheet_name='能量最大值升级')
+            print(f"✓ '能量最大值升级' 工作表存在,行数: {len(df_upgrade)}")
+            print(f"  列数: {len(df_upgrade.columns)}")
+            if len(df_upgrade.columns) >= 21:  # 关卡ID + 20次升级值
+                print(f"  ✓ 列数符合预期 (>=21)")
+            else:
+                print(f"  ❌ 列数不足 (<21)")
+        except Exception as e:
+            print(f"❌ '能量最大值升级' 工作表读取失败: {e}")
+        
+        return True
+        
+    except ImportError:
+        print("❌ pandas库未安装,无法验证Excel文件")
+        return False
+    except Exception as e:
+        print(f"❌ Excel文件验证失败: {e}")
+        return False
+
+def main():
+    """主函数"""
+    print("开始验证能量条经验值系统配置...\n")
+    
+    # 验证Excel配置
+    excel_ok = verify_excel_config()
+    
+    # 验证JSON配置
+    json_ok = verify_energy_config()
+    
+    print("\n=== 总体验证结果 ===")
+    if excel_ok and json_ok:
+        print("🎉 能量条经验值系统配置验证全部通过!")
+        print("\n系统已准备就绪,可以进行游戏测试:")
+        print("1. 在Cocos Creator中打开项目")
+        print("2. 运行游戏场景")
+        print("3. 击杀敌人观察能量条变化")
+        print("4. 能量满时观察升级效果")
+    else:
+        print("❌ 配置验证存在问题,请检查上述错误信息")
+
+if __name__ == "__main__":
+    main()