refactor(hero card): add card_lv background color logic
1. 新增updateBgNode方法根据card_lv切换英雄背景节点颜色 2. 为所有基础卡牌配置补充缺失的card_lv字段 3. 调整配置项字段顺序保持代码整洁
This commit is contained in:
@@ -154,6 +154,7 @@ HeroList.forEach(uuid => {
|
||||
pool_lv: CardLV.LV1,
|
||||
kind: CKind.Hero,
|
||||
hero_lv: 1,
|
||||
card_lv: 1,
|
||||
base_pool_lv: 1,
|
||||
});
|
||||
});
|
||||
@@ -191,22 +192,22 @@ export interface SpecialRefreshCardConfig extends CardConfig {
|
||||
*/
|
||||
export const SpecialUpgradeCardList: Record<number, SpecialUpgradeCardConfig> = {
|
||||
7001: {
|
||||
uuid: 7001, type: CardType.SpecialUpgrade, cost: 10, weight: 18, pool_lv: CardLV.LV1, kind: CKind.Card, name: t("scard_name_7001"), info: t("scard_info_7001"),
|
||||
uuid: 7001, type: CardType.SpecialUpgrade, cost: 10, weight: 18, pool_lv: CardLV.LV1, kind: CKind.Card, card_lv: 1, name: t("scard_name_7001"), info: t("scard_info_7001"),
|
||||
currentLv: 0, targetLv: 0,
|
||||
},
|
||||
}
|
||||
|
||||
export const SpecialRefreshCardList: Record<number, SpecialRefreshCardConfig> = {
|
||||
7101: {
|
||||
uuid: 7101, type: CardType.SpecialRefresh, cost: 3, weight: 14, pool_lv: CardLV.LV1, kind: CKind.Card, name: t("scard_name_7101"), info: t("scard_info_7101"),
|
||||
uuid: 7101, type: CardType.SpecialRefresh, cost: 3, weight: 14, pool_lv: CardLV.LV1, kind: CKind.Card, card_lv: 1, name: t("scard_name_7101"), info: t("scard_info_7101"),
|
||||
refreshLv: 0, refreshHeroType: SpecialRefreshHeroType.Melee,
|
||||
},
|
||||
7102: {
|
||||
uuid: 7102, type: CardType.SpecialRefresh, cost: 3, weight: 14, pool_lv: CardLV.LV1, kind: CKind.Card, name: t("scard_name_7102"), info: t("scard_info_7102"),
|
||||
uuid: 7102, type: CardType.SpecialRefresh, cost: 3, weight: 14, pool_lv: CardLV.LV1, kind: CKind.Card, card_lv: 1, name: t("scard_name_7102"), info: t("scard_info_7102"),
|
||||
refreshLv: 0, refreshHeroType: SpecialRefreshHeroType.Ranged,
|
||||
},
|
||||
7103: {
|
||||
uuid: 7103, type: CardType.SpecialRefresh, cost: 4, weight: 12, pool_lv: CardLV.LV1, kind: CKind.Card, name: t("scard_name_7103"), info: t("scard_info_7103"),
|
||||
uuid: 7103, type: CardType.SpecialRefresh, cost: 4, weight: 12, pool_lv: CardLV.LV1, kind: CKind.Card, card_lv: 1, name: t("scard_name_7103"), info: t("scard_info_7103"),
|
||||
refreshLv: 0, refreshHeroType: SpecialRefreshHeroType.Any,
|
||||
},
|
||||
}
|
||||
|
||||
@@ -292,6 +292,9 @@ export class CHeroComp extends CCComp {
|
||||
}
|
||||
}
|
||||
|
||||
// 背景:按 card_lv 激活对应颜色子节点(1→green 2→blue 3→purple 4→red 5→yellow)
|
||||
this.updateBgNode();
|
||||
|
||||
// 描述词条(最多显示 3 条,对应 fied1/fied2/fied3)
|
||||
const fieldLabels = [this.fied1, this.fied2, this.fied3];
|
||||
const desc = hero?.info || this.cardData.info || "";
|
||||
@@ -321,6 +324,30 @@ export class CHeroComp extends CCComp {
|
||||
this.playEnterAnim();
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据 card_lv 切换 bg_node 下的颜色子节点显示。
|
||||
* 等级与颜色对应关系:
|
||||
* card_lv 1 → green
|
||||
* card_lv 2 → blue
|
||||
* card_lv 3 → purple
|
||||
* card_lv 4 → red
|
||||
* card_lv 5 → yellow
|
||||
*/
|
||||
private updateBgNode() {
|
||||
if (!this.bg_node || !this.cardData) return;
|
||||
const lvToColor: Record<number, string> = {
|
||||
1: "green",
|
||||
2: "blue",
|
||||
3: "purple",
|
||||
4: "red",
|
||||
5: "yellow",
|
||||
};
|
||||
const targetColor = lvToColor[this.cardData.card_lv ?? 1];
|
||||
this.bg_node.children.forEach(child => {
|
||||
child.active = (child.name === targetColor);
|
||||
});
|
||||
}
|
||||
|
||||
// ======================== 动画效果 ========================
|
||||
|
||||
/** 入场动画时长(秒) */
|
||||
|
||||
Reference in New Issue
Block a user