import { _decorator, Component, JsonAsset } from 'cc'; const { ccclass, property } = _decorator; /** * 武器配置测试组件 * 用于验证装饰器加载weapons.json的功能 */ @ccclass('WeaponsConfigTest') export class WeaponsConfigTest extends Component { @property({ type: JsonAsset, tooltip: '拖拽weapons.json文件到这里进行测试' }) public weaponsConfig: JsonAsset = null; start() { this.testWeaponsConfig(); } private testWeaponsConfig() { console.log('=== 武器配置测试开始 ==='); // 检查装饰器配置 if (this.weaponsConfig) { console.log('✅ weaponsConfig装饰器属性已配置'); if (this.weaponsConfig.json) { console.log('✅ weaponsConfig.json数据存在'); const data = this.weaponsConfig.json; // 检查weapons数组 if (data.weapons && Array.isArray(data.weapons)) { console.log(`✅ weapons数组存在,包含 ${data.weapons.length} 个武器`); } else { console.error('❌ weapons数组不存在或格式错误'); } // 检查blockSizes数组 if (data.blockSizes && Array.isArray(data.blockSizes)) { console.log(`✅ blockSizes数组存在,包含 ${data.blockSizes.length} 个形状`); // 打印所有形状ID const shapeIds = data.blockSizes.map((shape: any) => shape.id); console.log('可用形状ID:', shapeIds); } else { console.error('❌ blockSizes数组不存在或格式错误'); } console.log('武器配置数据结构:', { hasWeapons: !!data.weapons, weaponsCount: data.weapons?.length || 0, hasBlockSizes: !!data.blockSizes, blockSizesCount: data.blockSizes?.length || 0 }); } else { console.error('❌ weaponsConfig.json为空'); } } else { console.error('❌ weaponsConfig装饰器属性未配置'); console.log('请在Inspector中将weapons.json文件拖拽到weaponsConfig属性'); } console.log('=== 武器配置测试结束 ==='); } /** * 手动测试方法,可以在Inspector中调用 */ public manualTest() { this.testWeaponsConfig(); } }