feat(英雄属性): 添加处理属性卡使用的功能

实现属性卡使用逻辑,当使用属性卡时根据配置添加对应buff效果并显示提示信息
This commit is contained in:
walkpan
2026-01-16 19:47:36 +08:00
parent 9779d21e6c
commit ab4b7d356c

View File

@@ -7,6 +7,7 @@ import { HeroInfo, AttrSet } from "../common/config/heroSet";
import { HeroSkillsComp } from "./HeroSkills";
import { smc } from "../common/SingletonModuleComp";
import { ItemSet } from "../common/config/ItemSet";
import { AttrCards } from "../common/config/AttrSet";
interface talTrigger{
@@ -80,11 +81,32 @@ export class HeroAttrsComp extends ecs.Comp {
// 监听升级事件
oops.message.on(GameEvent.CanUpdateLv, this.onLevelUp, this);
oops.message.on(GameEvent.UseItemCard, this.onUseItemCard, this);
oops.message.on(GameEvent.UseAttrCard, this.onUseAttrCard, this);
}
onDestroy() {
oops.message.off(GameEvent.CanUpdateLv, this.onLevelUp, this);
oops.message.off(GameEvent.UseItemCard, this.onUseItemCard, this);
oops.message.off(GameEvent.UseAttrCard, this.onUseAttrCard, this);
}
onUseAttrCard(event: string, args: any) {
if (!this.is_master) return;
const uuid = args;
const attrCard = AttrCards[uuid];
if (attrCard) {
console.log(`[HeroAttrs] 使用属性卡: ${attrCard.desc}`);
// 构造 BuffConf默认使用 BType.VALUE永久生效 (time: 0)
const buffConf: BuffConf = {
buff: attrCard.attr,
value: attrCard.value,
BType: BType.VALUE,
time: 0,
chance: 1, // 必中
};
this.addBuff(buffConf);
oops.gui.toast(attrCard.desc);
}
}
onUseItemCard(event: string, args: any) {