From 9ddf5b99c553acf8e6cebcdeabc1d491fb230366 Mon Sep 17 00:00:00 2001 From: panw Date: Thu, 28 May 2026 10:04:39 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E8=B0=83=E6=95=B4=E5=8D=A1?= =?UTF-8?q?=E7=89=8C=E7=AD=89=E7=BA=A7=E9=80=BB=E8=BE=91=EF=BC=8C=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E5=9F=BA=E7=A1=80=E6=B1=A0=E7=AD=89=E7=BA=A7=E5=AD=97?= =?UTF-8?q?=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. 新增base_pool_lv字段存储英雄初始池等级 2. 替换多处直接使用pool_lv的逻辑,优先使用base_pool_lv 3. 移除预制体中废弃的pool_lv_node节点 --- assets/resources/gui/element/cardlite.prefab | 7 +------ assets/script/game/common/config/CardSet.ts | 4 +++- assets/script/game/hero/Hero.ts | 1 + assets/script/game/hero/HeroAttrsComp.ts | 1 + assets/script/game/map/CardComp.ts | 5 +++-- assets/script/game/map/CardLiteComp.ts | 3 ++- assets/script/game/map/HInfoComp.ts | 2 +- assets/script/game/map/VictoryComp.ts | 2 +- 8 files changed, 13 insertions(+), 12 deletions(-) diff --git a/assets/resources/gui/element/cardlite.prefab b/assets/resources/gui/element/cardlite.prefab index e91fe176..2217528b 100644 --- a/assets/resources/gui/element/cardlite.prefab +++ b/assets/resources/gui/element/cardlite.prefab @@ -3453,12 +3453,7 @@ "BG_node": { "__id__": 2 }, - "pool_lv_node": { - "__id__": 172 - }, - "lvl_node": { - "__id__": 187 - }, + "lvl_node": null, "_id": "" }, { diff --git a/assets/script/game/common/config/CardSet.ts b/assets/script/game/common/config/CardSet.ts index e8475d0a..9d0d6046 100644 --- a/assets/script/game/common/config/CardSet.ts +++ b/assets/script/game/common/config/CardSet.ts @@ -53,6 +53,7 @@ export interface CardConfig { pool_lv: CardLV hero_lv?: number card_lv?:number + base_pool_lv?: number // 技能卡扩展属性 name?: string // 卡牌名称 @@ -116,7 +117,8 @@ HeroList.forEach(uuid => { weight: baseWeight, pool_lv: pLv as CardLV, kind: CKind.Hero, - hero_lv: targetHeroLv + hero_lv: targetHeroLv, + base_pool_lv: basePoolLv }); } }); diff --git a/assets/script/game/hero/Hero.ts b/assets/script/game/hero/Hero.ts index 1aab45eb..94fc9f85 100644 --- a/assets/script/game/hero/Hero.ts +++ b/assets/script/game/hero/Hero.ts @@ -111,6 +111,7 @@ export class Hero extends ecs.Entity { model.hero_name = hero.name; model.lv = hero_lv; model.pool_lv = pool_lv; + model.base_pool_lv = hero.pool_lv ?? 1; model.type = hero.type; model.fac = FacSet.HERO; model.dis = hero.dis ?? 720; diff --git a/assets/script/game/hero/HeroAttrsComp.ts b/assets/script/game/hero/HeroAttrsComp.ts index f91019f7..b859db70 100644 --- a/assets/script/game/hero/HeroAttrsComp.ts +++ b/assets/script/game/hero/HeroAttrsComp.ts @@ -20,6 +20,7 @@ export class HeroAttrsComp extends ecs.Comp { hero_name: string = "hero"; lv: number = 1; pool_lv: number = 1; + base_pool_lv: number = 1; type: number = 0; // 0近战 1远程 2辅助 fac: number = 0; // 0:hero 1:monster // ==================== 基础属性(有初始值) ==================== diff --git a/assets/script/game/map/CardComp.ts b/assets/script/game/map/CardComp.ts index 6c26b3d6..40dc53e9 100644 --- a/assets/script/game/map/CardComp.ts +++ b/assets/script/game/map/CardComp.ts @@ -548,7 +548,7 @@ export class CardComp extends CCComp { this.isLongPressed = true; const heroUuid = this.card_uuid; const heroLv = Math.max(1, this.cardData.hero_lv ?? 1); - const poolLv = Math.max(1, this.cardData.pool_lv ?? 1); + const poolLv = Math.max(1, this.cardData.base_pool_lv ?? this.cardData.pool_lv ?? 1); oops.gui.remove(UIID.HInfo); oops.gui.open(UIID.HInfo, { heroUuid, heroLv, poolLv }); } @@ -607,10 +607,11 @@ export class CardComp extends CCComp { const kindName = CKind[this.cardData.kind]; if (this.BG_node) { + const bgLv = this.cardData.base_pool_lv ?? this.cardData.pool_lv; this.BG_node.children.forEach(child => { child.active = (child.name === kindName); const bg = child.getComponent(CardBgComp); - if (bg) child.active ? bg.apply(this.cardData.pool_lv) : bg.clear(); + if (bg) child.active ? bg.apply(bgLv) : bg.clear(); }); } diff --git a/assets/script/game/map/CardLiteComp.ts b/assets/script/game/map/CardLiteComp.ts index 237ddb33..76dde728 100644 --- a/assets/script/game/map/CardLiteComp.ts +++ b/assets/script/game/map/CardLiteComp.ts @@ -220,10 +220,11 @@ export class CardLiteComp extends CCComp { const kindName = CKind[this.cardData.kind]; if (this.BG_node) { + const bgLv = this.cardData.base_pool_lv ?? this.cardData.pool_lv; this.BG_node.children.forEach(child => { child.active = (child.name === kindName); const bg = child.getComponent(CardBgComp); - if (bg) child.active ? bg.apply(this.cardData.pool_lv) : bg.clear(); + if (bg) child.active ? bg.apply(bgLv) : bg.clear(); }); } diff --git a/assets/script/game/map/HInfoComp.ts b/assets/script/game/map/HInfoComp.ts index 0a803b3e..745fad2c 100644 --- a/assets/script/game/map/HInfoComp.ts +++ b/assets/script/game/map/HInfoComp.ts @@ -275,7 +275,7 @@ export class HInfoComp extends CCComp { this.BG_node.children.forEach(child => { child.active = (child.name === kindName); const bg = child.getComponent(CardBgComp); - if (bg) child.active ? bg.apply(this.model.pool_lv ?? 1) : bg.clear(); + if (bg) child.active ? bg.apply(this.model.base_pool_lv ?? this.model.pool_lv ?? 1) : bg.clear(); }); } diff --git a/assets/script/game/map/VictoryComp.ts b/assets/script/game/map/VictoryComp.ts index ca86de80..e048573b 100644 --- a/assets/script/game/map/VictoryComp.ts +++ b/assets/script/game/map/VictoryComp.ts @@ -189,7 +189,7 @@ export class VictoryComp extends CCComp { if (hbNode) hbNode.active = false; // ---- 卡牌等级标识 ---- - const cardLvStr = `lv${mvp.pool_lv || 1}`; + const cardLvStr = `lv${mvp.base_pool_lv || mvp.pool_lv || 1}`; if (lv_node) { lv_node.children.forEach(child => { if (child.name === "light") {