refactor(护盾): 移除 shield_max 属性并简化护盾逻辑

护盾系统不再需要维护最大护盾值,因为护盾层数已有明确上限(FightSet.SHIELD_MAX)。
移除 HeroAttrs 枚举、HeroAttrsComp 组件、HeroAtkSystem 和 HeroViewComp 中所有对 shield_max 的引用和操作。
现在护盾层数直接受 SHIELD_MAX 限制,视图层仅需当前护盾值即可显示。
This commit is contained in:
walkpan
2026-04-12 23:03:03 +08:00
parent 323b9a0d89
commit c275a0ee94
4 changed files with 4 additions and 10 deletions

View File

@@ -156,7 +156,7 @@ export class HeroViewComp extends CCComp {
if (this.model.dirty_shield) {
this.show_shield(this.model.shield, this.model.shield_max);
this.show_shield(this.model.shield);
this.model.dirty_shield = false;
}
}
@@ -166,10 +166,9 @@ export class HeroViewComp extends CCComp {
}
/** 显示护盾 */
private show_shield(shield: number = 0, shield_max: number = 0) {
private show_shield(shield: number = 0) {
this.lastBarUpdateTime = Date.now() / 1000;
this.node.getChildByName("shielded").active = shield > 0;
void shield_max;
}
/** 显示血量 */
@@ -370,7 +369,7 @@ export class HeroViewComp extends CCComp {
}
add_shield(shield:number){
// 护盾数据更新由 Model 层处理,这里只负责视图表现
if(this.model && this.model.shield>0) this.show_shield(this.model.shield, this.model.shield_max);
if(this.model && this.model.shield>0) this.show_shield(this.model.shield);
}
health(hp: number = 0) {