EnemyLoadTest.ts 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. import { _decorator, Component, Node } from 'cc';
  2. import { ConfigManager } from '../Core/ConfigManager';
  3. import { JsonConfigLoader } from '../Core/JsonConfigLoader';
  4. import { BundleLoader } from '../Core/BundleLoader';
  5. const { ccclass, property } = _decorator;
  6. @ccclass('EnemyLoadTest')
  7. export class EnemyLoadTest extends Component {
  8. start() {
  9. // 延迟5秒后开始测试,确保所有系统都已初始化
  10. this.scheduleOnce(() => {
  11. this.testEnemyLoading();
  12. }, 5);
  13. }
  14. private async testEnemyLoading() {
  15. console.log('=== 开始测试敌人配置加载 ===');
  16. try {
  17. // 测试1: 直接使用BundleLoader加载data bundle
  18. console.log('测试1: 加载data bundle');
  19. const bundleLoader = BundleLoader.getInstance();
  20. await bundleLoader.loadBundle('data');
  21. console.log('✓ data bundle加载成功');
  22. // 测试2: 使用JsonConfigLoader加载enemies配置
  23. console.log('测试2: 使用JsonConfigLoader加载enemies配置');
  24. const jsonLoader = JsonConfigLoader.getInstance();
  25. const enemiesConfig = await jsonLoader.loadConfig('enemies');
  26. if (enemiesConfig) {
  27. console.log('✓ enemies配置加载成功');
  28. console.log('enemies配置类型:', typeof enemiesConfig);
  29. console.log('是否为数组:', Array.isArray(enemiesConfig));
  30. if (Array.isArray(enemiesConfig)) {
  31. console.log('敌人数量:', enemiesConfig.length);
  32. console.log('前3个敌人ID:', enemiesConfig.slice(0, 3).map(e => e.id));
  33. } else {
  34. console.log('enemies配置结构:', Object.keys(enemiesConfig));
  35. }
  36. } else {
  37. console.error('✗ enemies配置加载失败');
  38. }
  39. // 测试3: 检查ConfigManager的状态
  40. console.log('测试3: 检查ConfigManager状态');
  41. const configManager = ConfigManager.getInstance();
  42. const allEnemies = configManager.getAllEnemies();
  43. console.log('ConfigManager中的敌人数量:', allEnemies.length);
  44. if (allEnemies.length > 0) {
  45. console.log('✓ ConfigManager成功获取敌人配置');
  46. console.log('前3个敌人ID:', allEnemies.slice(0, 3).map(e => e.id));
  47. } else {
  48. console.error('✗ ConfigManager未能获取敌人配置');
  49. }
  50. } catch (error) {
  51. console.error('测试过程中发生错误:', error);
  52. }
  53. console.log('=== 敌人配置加载测试完成 ===');
  54. }
  55. }