fix: 更新提交

This commit is contained in:
han_han9
2025-11-26 22:57:07 +08:00
parent 8a6620cf8f
commit 4c16bec13f
640 changed files with 70914 additions and 13327 deletions

View File

@@ -1,11 +1,11 @@
import { JsonAsset } from "cc";
import { ResManager } from "@max-studio/core/res/ResManager";
import { singleton, Singleton } from "@max-studio/core/Singleton";
import LogUtils from "@max-studio/core/utils/LogUtils";
import { ConfigParseUtils } from "./ConfigParseUtils";
import { PetConfigData, parsePetConfigData } from "./PetConfigData";
import ResManager from "@max-studio/core/res/ResManager";
/**
* PetConfig配置管理器
@@ -13,10 +13,11 @@ import { PetConfigData, parsePetConfigData } from "./PetConfigData";
* ⚠️ 此文件由配置表生成器自动生成,请勿手动修改!
* 如需修改请编辑对应的Excel配置文件然后重新生成
*/
@singleton()
@singleton({ auto: true })
export class PetConfigManager extends Singleton {
private configList: readonly PetConfigData[] = [];
private configMap = new Map<number, PetConfigData>();
private isLoaded = false;
protected async onInit(): Promise<void> {
@@ -25,19 +26,15 @@ export class PetConfigManager extends Singleton {
private async loadConfig(): Promise<void> {
try {
const asset = await ResManager.getInstance().loadAsset<JsonAsset>(
"generated/data/PetConfig",
JsonAsset,
"configs",
);
const { err, asset } = await ResManager.getInstance().loadAsset<JsonAsset>({
path: "generated/data/PetConfig",
type: JsonAsset,
bundle: "configs",
});
this.parseConfig(<any>asset.json);
this.isLoaded = true;
} catch (err) {
LogUtils.error(
"PetConfigManager",
"加载 PetConfig 配置失败:",
err,
);
LogUtils.error("PetConfigManager", "加载 PetConfig 配置失败:", err);
}
}
@@ -46,26 +43,20 @@ export class PetConfigManager extends Singleton {
data.map((item) => {
const config = parsePetConfigData(item);
const frozenConfig = ConfigParseUtils.deepFreeze(config);
return ConfigParseUtils.createReadonlyProxy(
frozenConfig,
"PetConfigData配置",
);
return ConfigParseUtils.createReadonlyProxy(frozenConfig, "PetConfigData配置");
}),
);
this.configMap.clear();
for (const config of this.configList) {
this.configMap.set(config.id, config);
this.configMap.set((config as any).id, config);
}
// 深度冻结配置映射,防止运行时修改
ConfigParseUtils.deepFreeze(this.configMap);
}
public getConfig(id: number): PetConfigData | null {
if (!this.isLoaded) {
LogUtils.warn(
"PetConfigManager",
"PetConfig 配置尚未加载完成,请等待加载完成",
);
LogUtils.warn("PetConfigManager", "PetConfig 配置尚未加载完成,请等待加载完成");
return null;
}
return this.configMap.get(id) || null;
@@ -73,10 +64,7 @@ export class PetConfigManager extends Singleton {
public getAllConfigs(): PetConfigData[] {
if (!this.isLoaded) {
LogUtils.warn(
"PetConfigManager",
"PetConfig 配置尚未加载完成,请等待加载完成",
);
LogUtils.warn("PetConfigManager", "PetConfig 配置尚未加载完成,请等待加载完成");
return [];
}
return [...this.configList];