| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- 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();
- }
- }
|