|
|
@@ -175,7 +175,6 @@ export class ConfigManager extends BaseSingleton {
|
|
|
|
|
|
private weaponsConfig: any = null;
|
|
|
private enemiesConfig: any = null;
|
|
|
- private ballControllerConfig: BallControllerConfig = null;
|
|
|
private configLoaded: boolean = false;
|
|
|
|
|
|
// 武器权重缓存
|
|
|
@@ -187,27 +186,60 @@ export class ConfigManager extends BaseSingleton {
|
|
|
* BaseSingleton 首次实例化回调
|
|
|
*/
|
|
|
protected init() {
|
|
|
+ console.log('[ConfigManager] 开始初始化配置管理器');
|
|
|
this.loadConfigs();
|
|
|
}
|
|
|
|
|
|
// 加载所有配置文件
|
|
|
private async loadConfigs() {
|
|
|
+ console.log('[ConfigManager] 开始加载配置文件');
|
|
|
this.configLoaded = false;
|
|
|
|
|
|
try {
|
|
|
+ // 确保resources bundle已经准备好
|
|
|
+ await this.ensureResourcesBundle();
|
|
|
+
|
|
|
// 加载武器配置
|
|
|
+ console.log('[ConfigManager] 开始加载武器配置');
|
|
|
await this.loadWeaponsConfig();
|
|
|
+ console.log('[ConfigManager] 武器配置加载完成');
|
|
|
+
|
|
|
// 加载敌人配置
|
|
|
+ console.log('[ConfigManager] 开始加载敌人配置');
|
|
|
await this.loadEnemiesConfig();
|
|
|
- // 加载球控制器配置
|
|
|
- await this.loadBallControllerConfig();
|
|
|
+ console.log('[ConfigManager] 敌人配置加载完成');
|
|
|
+
|
|
|
+ // 注意:球控制器配置现在通过BallController组件的装饰器直接加载
|
|
|
+ console.log('[ConfigManager] 球控制器配置通过装饰器加载,跳过ConfigManager加载');
|
|
|
|
|
|
this.configLoaded = true;
|
|
|
+ console.log('[ConfigManager] ✅ 所有配置文件加载成功,配置管理器初始化完成');
|
|
|
} catch (error) {
|
|
|
+ console.error('[ConfigManager] ❌ 配置文件加载失败:', error);
|
|
|
this.configLoaded = false;
|
|
|
+
|
|
|
+ // 延迟重试加载
|
|
|
+ console.log('[ConfigManager] 将在3秒后重试加载配置');
|
|
|
+ setTimeout(() => {
|
|
|
+ console.log('[ConfigManager] 开始重试加载配置');
|
|
|
+ this.loadConfigs();
|
|
|
+ }, 3000);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ // 确保resources bundle已经准备好
|
|
|
+ private ensureResourcesBundle(): Promise<void> {
|
|
|
+ return new Promise((resolve) => {
|
|
|
+ console.log('[ConfigManager] 检查resources bundle状态...');
|
|
|
+
|
|
|
+ // 简单延迟确保Cocos Creator资源系统已经初始化
|
|
|
+ setTimeout(() => {
|
|
|
+ console.log('[ConfigManager] resources bundle初始化等待完成');
|
|
|
+ resolve();
|
|
|
+ }, 1000);
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
// 加载武器配置
|
|
|
private loadWeaponsConfig(): Promise<void> {
|
|
|
return new Promise((resolve, reject) => {
|
|
|
@@ -259,20 +291,7 @@ export class ConfigManager extends BaseSingleton {
|
|
|
}
|
|
|
|
|
|
// 加载球控制器配置
|
|
|
- private loadBallControllerConfig(): Promise<void> {
|
|
|
- return new Promise((resolve, reject) => {
|
|
|
- resources.load('data/ballController', JsonAsset, (err, jsonAsset) => {
|
|
|
- if (err) {
|
|
|
- console.error('加载球控制器配置失败:', err);
|
|
|
- reject(err);
|
|
|
- } else {
|
|
|
- this.ballControllerConfig = jsonAsset.json as BallControllerConfig;
|
|
|
- console.log('球控制器配置加载成功:', this.ballControllerConfig);
|
|
|
- resolve();
|
|
|
- }
|
|
|
- });
|
|
|
- });
|
|
|
- }
|
|
|
+ // 球控制器配置现在通过BallController组件的装饰器直接加载,不再需要在ConfigManager中处理
|
|
|
|
|
|
// 构建武器权重列表
|
|
|
private buildWeaponWeightedList() {
|
|
|
@@ -484,7 +503,5 @@ export class ConfigManager extends BaseSingleton {
|
|
|
}
|
|
|
|
|
|
// 获取球控制器配置
|
|
|
- public getBallControllerConfig(): BallControllerConfig | null {
|
|
|
- return this.ballControllerConfig;
|
|
|
- }
|
|
|
+ // getBallControllerConfig方法已移除,球控制器配置现在通过装饰器直接在BallController中加载
|
|
|
}
|