perf(talent): 优化天赋系统的图集预加载与缓存逻辑

将天赋图集预加载从天赋界面初始化时提前至游戏公共资源加载阶段,新增全局单例缓存机制替换组件自身的静态缓存,移除冗余的异步加载代码与未使用的导入语句,修正TalentItemComp的初始默认天赋类型为Attack
This commit is contained in:
walkpan
2026-05-11 16:08:20 +08:00
parent 336d7d03db
commit bcef8fbc64
4 changed files with 26 additions and 25 deletions

View File

@@ -1,4 +1,4 @@
import { sys } from "cc";
import { sys, resources, SpriteAtlas } from "cc";
import { VM } from "../../../../extensions/oops-plugin-framework/assets/libs/model-view/ViewModel";
import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS";
import { Initialize } from "../initialize/Initialize";
@@ -39,6 +39,10 @@ export class SingletonModuleComp extends ecs.Comp {
initialize: Initialize = null!;
/** 游戏地图 */
map: GameMap = null!;
/** 全局缓存的通用图集 */
uiconsAtlas: SpriteAtlas | null = null;
openid:string=''
mission:any={
status:0, //0:未开始 1:进行中 2:胜利 3:失败
@@ -282,6 +286,19 @@ export class SingletonModuleComp extends ecs.Comp {
oops.message.dispatchEvent(GameEvent.GOLD_UPDATE)
return true
}
/**
* 在游戏载入早期调用,预加载常用图集
*/
preloadCommonAssets() {
resources.load("gui/uicons", SpriteAtlas, (err, atlas) => {
if (!err && atlas) {
this.uiconsAtlas = atlas;
} else {
mLogger.error(this.debugMode, 'SMC', "预加载 gui/uicons 图集失败:", err);
}
});
}
}
export var smc: SingletonModuleComp = ecs.getSingleton(SingletonModuleComp);