| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- import { _decorator, Component } from 'cc';
- import { BundleLoader } from '../Core/BundleLoader';
- const { ccclass, property } = _decorator;
- /**
- * 武器配置测试组件
- * 用于验证装饰器加载weapons.json的功能
- */
- @ccclass('WeaponsConfigTest')
- export class WeaponsConfigTest extends Component {
-
- // @property({
- // type: JsonAsset,
- // tooltip: '拖拽weapons.json文件到这里进行测试'
- // })
- // public weaponsConfig: JsonAsset = null;
-
- // 武器配置数据,通过 BundleLoader 异步加载
- private weaponsConfigData: any = null;
-
- async start() {
- await this.loadWeaponsConfig();
- this.testWeaponsConfig();
- }
-
- /**
- * 异步加载武器配置
- */
- private async loadWeaponsConfig() {
- try {
- const bundleLoader = BundleLoader.getInstance();
- const weaponsConfigAsset = await bundleLoader.loadDataJson('weapons');
- this.weaponsConfigData = weaponsConfigAsset.json;
- console.log('[WeaponsConfigTest] 武器配置加载成功');
- } catch (error) {
- console.error('[WeaponsConfigTest] 武器配置加载失败:', error);
- this.weaponsConfigData = null;
- }
- }
-
- private testWeaponsConfig() {
- console.log('=== 武器配置测试开始 ===');
-
- // 检查 BundleLoader 加载的配置
- if (this.weaponsConfigData) {
- console.log('✅ 武器配置通过 BundleLoader 加载成功');
-
- const data = this.weaponsConfigData;
-
- // 检查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('❌ 武器配置加载失败');
- console.log('请检查 weapons.json 文件是否存在于 data 目录中');
- }
-
- console.log('=== 武器配置测试结束 ===');
- }
-
- /**
- * 手动测试方法,可以在Inspector中调用
- */
- public async manualTest() {
- await this.loadWeaponsConfig();
- this.testWeaponsConfig();
- }
- }
|