| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- import { _decorator, Component, log } from 'cc';
- import { ResourcePreloader } from '../Core/ResourcePreloader';
- import { ConfigManager } from '../Core/ConfigManager';
- const { ccclass, property } = _decorator;
- /**
- * 资源预加载器测试组件
- * 用于验证敌人动画预加载功能
- */
- @ccclass('ResourcePreloaderTest')
- export class ResourcePreloaderTest extends Component {
- async start() {
- // 等待一段时间确保ConfigManager初始化完成
- setTimeout(() => {
- this.testResourcePreloader();
- }, 5000);
- }
- private async testResourcePreloader() {
- console.log('=== 资源预加载器测试开始 ===');
-
- const configManager = ConfigManager.getInstance();
- const resourcePreloader = ResourcePreloader.getInstance();
-
- // 检查配置是否已加载
- if (!configManager.isConfigLoaded()) {
- console.error('❌ ConfigManager配置尚未加载完成');
- return;
- }
-
- // 获取所有敌人配置
- const enemies = configManager.getAllEnemies();
-
- if (!enemies || enemies.length === 0) {
- console.error('❌ 敌人配置为空');
- return;
- }
-
- console.log(`✅ 敌人配置已加载,共 ${enemies.length} 个敌人`);
-
- // 测试预加载特定敌人动画
- const testEnemyIds = ['normal_zombie', 'roadblock_zombie', 'mage_zombie', 'boss1_gatekeeper'];
-
- for (const enemyId of testEnemyIds) {
- try {
- console.log(`开始预加载敌人动画: ${enemyId}`);
-
- // 直接调用私有方法进行测试(通过反射)
- const preloader = resourcePreloader as any;
- if (preloader.preloadEnemyAnimation) {
- await preloader.preloadEnemyAnimation(enemyId);
- console.log(`✅ 敌人动画预加载成功: ${enemyId}`);
- } else {
- console.error(`❌ preloadEnemyAnimation方法不存在`);
- }
-
- } catch (error) {
- console.error(`❌ 敌人动画预加载失败: ${enemyId}`, error);
- }
- }
-
- console.log('=== 资源预加载器测试结束 ===');
- }
-
- /**
- * 手动测试方法,可以在Inspector中调用
- */
- public async manualTest() {
- await this.testResourcePreloader();
- }
- }
|