diff --git a/assets/script/game/common/config/TalentSet.ts b/assets/script/game/common/config/TalentSet.ts index e97e9117..e498707b 100644 --- a/assets/script/game/common/config/TalentSet.ts +++ b/assets/script/game/common/config/TalentSet.ts @@ -56,9 +56,9 @@ export const TalentConfig = { maxLevel: 5, values: [2, 4, 6, 8, 10], costs: [1, 1, 2, 2, 3] }, { id: TalentType.Puncture, name: "穿刺", icon: "1006", desc: "+{value}", maxLevel: 5, values: [0.2, 0.4, 0.6, 0.8, 1.0], costs: [1, 1, 2, 2, 3] }, - { id: TalentType.DeadTrigger, name: "亡语额外触发", icon: "1006", desc: "+{value}次", + { id: TalentType.DeadTrigger, name: "亡语触发", icon: "1006", desc: "+{value}次", maxLevel: 1, values: [1], costs: [25] }, - { id: TalentType.Summon, name: "召唤额外触发", icon: "1006", desc: "+{value}次", + { id: TalentType.Summon, name: "召唤触发", icon: "1006", desc: "+{value}次", maxLevel: 1, values: [1], costs: [25] }, { id: TalentType.BuyDiscount, name: "购买优惠", icon: "1006", desc: "-{value}金币", maxLevel: 1, values: [1], costs: [10] }, diff --git a/assets/script/game/map/CardComp.ts b/assets/script/game/map/CardComp.ts index 6dd01932..7c8312ee 100644 --- a/assets/script/game/map/CardComp.ts +++ b/assets/script/game/map/CardComp.ts @@ -29,6 +29,7 @@ import { SkillSet } from "../common/config/SkillSet"; import { GameEvent } from "../common/config/GameEvent"; import { oops } from "db://oops-framework/core/Oops"; import { smc } from "../common/SingletonModuleComp"; + import { UIID } from "../common/config/GameUIConfig"; import { HeroAttrsComp } from "../hero/HeroAttrsComp"; import { TalentType } from "../common/config/TalentSet"; @@ -102,8 +103,6 @@ export class CardComp extends CCComp { card_uuid:number=0 /** 是否处于锁定状态(锁定且有卡时,抽卡分发会被跳过) */ private isLocked: boolean = false; - /** 图标图集缓存(首次加载后复用,避免重复 IO) */ - private uiconsAtlas: SpriteAtlas | null = null; /** 当前槽位承载的卡牌数据,null 表示空槽 */ private cardData: CardConfig | null = null; /** 上划使用阈值(像素):拖拽距离 >= 此值视为"使用卡牌" */ @@ -194,7 +193,7 @@ export class CardComp extends CCComp { } /** - * 更新卡牌图标:先尝试从缓存图集获取,未缓存则异步加载图集后获取。 + * 更新卡牌图标:从全局缓存图集中获取对应帧 * @param node 图标所在节点 * @param iconId 图标在 SpriteAtlas 中的帧名称 */ @@ -202,30 +201,11 @@ export class CardComp extends CCComp { if (!node || !iconId) return; const sprite = node.getComponent(Sprite) || node.getComponentInChildren(Sprite); if (!sprite) return; - // 已缓存图集 → 直接获取帧 - if (this.uiconsAtlas) { - const frame = this.uiconsAtlas.getSpriteFrame(iconId); - if (frame) { - sprite.spriteFrame = frame; - } else { - sprite.spriteFrame = null; - } - return; + // 已全局缓存图集 → 直接获取帧 + if (smc.uiconsAtlas) { + const frame = smc.uiconsAtlas.getSpriteFrame(iconId); + sprite.spriteFrame = frame || null; } - // 首次加载图集 - resources.load("gui/uicons", SpriteAtlas, (err, atlas) => { - if (err || !atlas) { - mLogger.log(this.debugMode, "CardComp", "load uicons atlas failed", err); - return; - } - this.uiconsAtlas = atlas; - const frame = atlas.getSpriteFrame(iconId); - if (frame) { - sprite.spriteFrame = frame; - } else { - sprite.spriteFrame = null; - } - }); } /** diff --git a/assets/script/game/map/MissionCardComp.ts b/assets/script/game/map/MissionCardComp.ts index cd4bfc3a..44463c67 100644 --- a/assets/script/game/map/MissionCardComp.ts +++ b/assets/script/game/map/MissionCardComp.ts @@ -121,8 +121,6 @@ export class MissionCardComp extends CCComp { /** 当前是否为战斗阶段 */ private isBattlePhase: boolean = false; - /** 预留图集缓存(后续接入按钮/卡面图标时复用) */ - private uiconsAtlas: SpriteAtlas | null = null; /** 四个槽位对应的 CardComp 控制器缓存(有序数组) */ private cardComps: CardComp[] = []; /** 当前卡池等级(仅影响抽卡来源,不直接改卡槽现有内容) */ diff --git a/assets/script/game/map/SkillBoxComp.ts b/assets/script/game/map/SkillBoxComp.ts index 6acbeede..81732efa 100644 --- a/assets/script/game/map/SkillBoxComp.ts +++ b/assets/script/game/map/SkillBoxComp.ts @@ -151,14 +151,13 @@ export class SkillBoxComp extends CCComp { // 加载技能图标 if (this.icon_node) { const iconId = SkillSet[this.s_uuid]?.icon || `${this.s_uuid}`; - resources.load("gui/uicons", SpriteAtlas, (err, atlas) => { - if (err || !atlas) return; - const frame = atlas.getSpriteFrame(iconId); + if (smc.uiconsAtlas) { + const frame = smc.uiconsAtlas.getSpriteFrame(iconId); if (frame && this.icon_node && this.icon_node.isValid) { - const sprite = this.icon_node.getComponent(Sprite) || this.icon_node.addComponent(Sprite); + let sprite = this.icon_node.getComponent(Sprite) || this.icon_node.addComponent(Sprite); sprite.spriteFrame = frame; } - }); + } } // 更新剩余次数标签