feat(英雄): 为主角添加天赋组件支持

只有主角角色会初始化天赋组件,用于管理角色的天赋系统
This commit is contained in:
panw
2026-01-04 16:42:02 +08:00
parent 497d1f18d8
commit 7309f98b51

View File

@@ -12,6 +12,7 @@ import { time } from "console";
import { getNeAttrs, getAttrs ,Attrs} from "../common/config/HeroAttrs";
import { HeroSkillsComp } from "./HeroSkills";
import { HeroMoveComp } from "./HeroMove";
import { TalComp } from "./TalComp";
/** 角色实体 */
@ecs.register(`Hero`)
@@ -20,6 +21,7 @@ export class Hero extends ecs.Entity {
HeroSkills!: HeroSkillsComp;
View!: HeroViewComp;
HeroMove!: HeroMoveComp;
TalComp!: TalComp;
protected init() {
this.addComponents<ecs.Comp>(
HeroMoveComp,
@@ -38,6 +40,7 @@ export class Hero extends ecs.Entity {
this.remove(HeroViewComp);
this.remove(HeroAttrsComp);
this.remove(HeroSkillsComp);
this.remove(TalComp);
super.destroy();
}
@@ -80,6 +83,15 @@ export class Hero extends ecs.Entity {
model.fac = FacSet.HERO;
model.is_master = is_master;
// 只有主角才挂载天赋组件
if (is_master) {
this.add(TalComp);
const talComp = this.get(TalComp);
if (talComp) {
talComp.init(uuid);
}
}
// ✅ 初始化技能数据(迁移到 HeroSkillsComp
skillsComp.initSkills(hero.skills, uuid, this);