test_block_shape_debug.js 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. // 测试方块形状配置加载和识别的调试脚本
  2. // 用于诊断配置加载时序问题
  3. const { ccclass, property } = cc._decorator;
  4. @ccclass
  5. export default class BlockShapeDebugTest extends cc.Component {
  6. onLoad() {
  7. console.log('[DebugTest] 开始测试方块形状配置...');
  8. // 延迟测试,确保系统初始化完成
  9. this.scheduleOnce(() => {
  10. this.testConfigurationLoading();
  11. }, 3.0);
  12. }
  13. testConfigurationLoading() {
  14. console.log('[DebugTest] ===== 配置加载测试开始 =====');
  15. // 1. 测试ConfigManager实例
  16. const configManager = cc.find('GameManager')?.getComponent('ConfigManager');
  17. console.log('[DebugTest] ConfigManager实例:', !!configManager);
  18. if (!configManager) {
  19. console.error('[DebugTest] ConfigManager未找到');
  20. return;
  21. }
  22. // 2. 测试配置加载状态
  23. console.log('[DebugTest] 配置加载状态:', configManager.isConfigLoaded());
  24. // 3. 测试武器配置
  25. const weaponsConfig = configManager['weaponsConfig'];
  26. console.log('[DebugTest] weaponsConfig存在:', !!weaponsConfig);
  27. if (weaponsConfig) {
  28. console.log('[DebugTest] weaponsConfig结构:', Object.keys(weaponsConfig));
  29. console.log('[DebugTest] weapons数组长度:', weaponsConfig.weapons?.length || 0);
  30. console.log('[DebugTest] blockSizes存在:', !!weaponsConfig.blockSizes);
  31. if (weaponsConfig.blockSizes) {
  32. console.log('[DebugTest] blockSizes类型:', typeof weaponsConfig.blockSizes);
  33. console.log('[DebugTest] blockSizes长度:', weaponsConfig.blockSizes.length);
  34. console.log('[DebugTest] blockSizes内容:');
  35. weaponsConfig.blockSizes.forEach((shape, index) => {
  36. console.log(`[DebugTest] - 形状${index}: ${shape.id} (${shape.name})`);
  37. console.log(`[DebugTest] - 矩阵:`, shape.shape);
  38. });
  39. }
  40. }
  41. // 4. 测试getBlockShapes方法
  42. console.log('[DebugTest] 测试getBlockShapes方法...');
  43. const blockShapes = configManager.getBlockShapes();
  44. console.log('[DebugTest] getBlockShapes返回:', blockShapes);
  45. console.log('[DebugTest] getBlockShapes长度:', blockShapes?.length || 0);
  46. // 5. 测试BlockManager
  47. const blockManager = cc.find('GameManager')?.getComponent('BlockManager');
  48. console.log('[DebugTest] BlockManager实例:', !!blockManager);
  49. if (blockManager) {
  50. console.log('[DebugTest] BlockManager配置管理器:', !!blockManager['configManager']);
  51. }
  52. console.log('[DebugTest] ===== 配置加载测试结束 =====');
  53. // 如果配置未加载,延迟重试
  54. if (!configManager.isConfigLoaded()) {
  55. console.log('[DebugTest] 配置未加载完成,3秒后重试...');
  56. this.scheduleOnce(() => {
  57. this.testConfigurationLoading();
  58. }, 3.0);
  59. }
  60. }
  61. }