EnemyConfigTest.ts 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. import { _decorator, Component, log } from 'cc';
  2. import { ConfigManager } from '../Core/ConfigManager';
  3. const { ccclass, property } = _decorator;
  4. /**
  5. * 敌人配置测试组件
  6. * 用于验证敌人配置加载功能
  7. */
  8. @ccclass('EnemyConfigTest')
  9. export class EnemyConfigTest extends Component {
  10. async start() {
  11. // 等待一段时间确保ConfigManager初始化完成
  12. setTimeout(() => {
  13. this.testEnemyConfig();
  14. }, 3000);
  15. }
  16. private testEnemyConfig() {
  17. console.log('=== 敌人配置测试开始 ===');
  18. const configManager = ConfigManager.getInstance();
  19. // 检查配置是否已加载
  20. if (!configManager.isConfigLoaded()) {
  21. console.error('❌ ConfigManager配置尚未加载完成');
  22. return;
  23. }
  24. // 获取所有敌人配置
  25. const enemies = configManager.getAllEnemies();
  26. if (enemies && enemies.length > 0) {
  27. console.log(`✅ 敌人配置加载成功,共 ${enemies.length} 个敌人`);
  28. // 测试特定敌人ID
  29. const testEnemyIds = ['normal_zombie', 'roadblock_zombie', 'mage_zombie', 'boss1_gatekeeper'];
  30. testEnemyIds.forEach(enemyId => {
  31. const enemy = configManager.getEnemyById(enemyId);
  32. if (enemy) {
  33. console.log(`✅ 找到敌人: ${enemyId} - ${enemy.name}`);
  34. } else {
  35. console.error(`❌ 未找到敌人: ${enemyId}`);
  36. }
  37. });
  38. // 打印前5个敌人的基本信息
  39. console.log('前5个敌人信息:');
  40. enemies.slice(0, 5).forEach((enemy, index) => {
  41. console.log(`${index + 1}. ID: ${enemy.id}, 名称: ${enemy.name}, 类型: ${enemy.type}`);
  42. });
  43. } else {
  44. console.error('❌ 敌人配置为空或加载失败');
  45. }
  46. console.log('=== 敌人配置测试结束 ===');
  47. }
  48. /**
  49. * 手动测试方法,可以在Inspector中调用
  50. */
  51. public manualTest() {
  52. this.testEnemyConfig();
  53. }
  54. }