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,
|
pool_lv: CardLV.LV1,
|
||||||
kind: CKind.Hero,
|
kind: CKind.Hero,
|
||||||
hero_lv: 1,
|
hero_lv: 1,
|
||||||
|
card_lv: 1,
|
||||||
base_pool_lv: 1,
|
base_pool_lv: 1,
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -191,22 +192,22 @@ export interface SpecialRefreshCardConfig extends CardConfig {
|
|||||||
*/
|
*/
|
||||||
export const SpecialUpgradeCardList: Record<number, SpecialUpgradeCardConfig> = {
|
export const SpecialUpgradeCardList: Record<number, SpecialUpgradeCardConfig> = {
|
||||||
7001: {
|
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,
|
currentLv: 0, targetLv: 0,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
export const SpecialRefreshCardList: Record<number, SpecialRefreshCardConfig> = {
|
export const SpecialRefreshCardList: Record<number, SpecialRefreshCardConfig> = {
|
||||||
7101: {
|
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,
|
refreshLv: 0, refreshHeroType: SpecialRefreshHeroType.Melee,
|
||||||
},
|
},
|
||||||
7102: {
|
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,
|
refreshLv: 0, refreshHeroType: SpecialRefreshHeroType.Ranged,
|
||||||
},
|
},
|
||||||
7103: {
|
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,
|
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)
|
// 描述词条(最多显示 3 条,对应 fied1/fied2/fied3)
|
||||||
const fieldLabels = [this.fied1, this.fied2, this.fied3];
|
const fieldLabels = [this.fied1, this.fied2, this.fied3];
|
||||||
const desc = hero?.info || this.cardData.info || "";
|
const desc = hero?.info || this.cardData.info || "";
|
||||||
@@ -321,6 +324,30 @@ export class CHeroComp extends CCComp {
|
|||||||
this.playEnterAnim();
|
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