// 测试方块形状配置加载和识别的调试脚本 // 用于诊断配置加载时序问题 const { ccclass, property } = cc._decorator; @ccclass export default class BlockShapeDebugTest extends cc.Component { onLoad() { console.log('[DebugTest] 开始测试方块形状配置...'); // 延迟测试,确保系统初始化完成 this.scheduleOnce(() => { this.testConfigurationLoading(); }, 3.0); } testConfigurationLoading() { console.log('[DebugTest] ===== 配置加载测试开始 ====='); // 1. 测试ConfigManager实例 const configManager = cc.find('GameManager')?.getComponent('ConfigManager'); console.log('[DebugTest] ConfigManager实例:', !!configManager); if (!configManager) { console.error('[DebugTest] ConfigManager未找到'); return; } // 2. 测试配置加载状态 console.log('[DebugTest] 配置加载状态:', configManager.isConfigLoaded()); // 3. 测试武器配置 const weaponsConfig = configManager['weaponsConfig']; console.log('[DebugTest] weaponsConfig存在:', !!weaponsConfig); if (weaponsConfig) { console.log('[DebugTest] weaponsConfig结构:', Object.keys(weaponsConfig)); console.log('[DebugTest] weapons数组长度:', weaponsConfig.weapons?.length || 0); console.log('[DebugTest] blockSizes存在:', !!weaponsConfig.blockSizes); if (weaponsConfig.blockSizes) { console.log('[DebugTest] blockSizes类型:', typeof weaponsConfig.blockSizes); console.log('[DebugTest] blockSizes长度:', weaponsConfig.blockSizes.length); console.log('[DebugTest] blockSizes内容:'); weaponsConfig.blockSizes.forEach((shape, index) => { console.log(`[DebugTest] - 形状${index}: ${shape.id} (${shape.name})`); console.log(`[DebugTest] - 矩阵:`, shape.shape); }); } } // 4. 测试getBlockShapes方法 console.log('[DebugTest] 测试getBlockShapes方法...'); const blockShapes = configManager.getBlockShapes(); console.log('[DebugTest] getBlockShapes返回:', blockShapes); console.log('[DebugTest] getBlockShapes长度:', blockShapes?.length || 0); // 5. 测试BlockManager const blockManager = cc.find('GameManager')?.getComponent('BlockManager'); console.log('[DebugTest] BlockManager实例:', !!blockManager); if (blockManager) { console.log('[DebugTest] BlockManager配置管理器:', !!blockManager['configManager']); } console.log('[DebugTest] ===== 配置加载测试结束 ====='); // 如果配置未加载,延迟重试 if (!configManager.isConfigLoaded()) { console.log('[DebugTest] 配置未加载完成,3秒后重试...'); this.scheduleOnce(() => { this.testConfigurationLoading(); }, 3.0); } } }