重构怪物属性系统,移除MonAttrsComp并替换为HeroAttrsComp。更新相关组件和系统以适应新属性结构,确保怪物逻辑与英雄逻辑一致。
This commit is contained in:
@@ -4,7 +4,7 @@ import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ec
|
||||
import { smc } from "../common/SingletonModuleComp";
|
||||
import { BoxSet, FacSet } from "../common/config/BoxSet";
|
||||
import { HeroInfo } from "../common/config/heroSet";
|
||||
import { MonAttrsComp } from "./MonAttrsComp";
|
||||
import { HeroAttrsComp } from "./HeroAttrsComp";
|
||||
import { BattleMoveComp } from "../common/ecs/position/BattleMoveComp";
|
||||
import { SkillConComp } from "./SkillConComp";
|
||||
import { BuffConf, SkillSet } from "../common/config/SkillSet";
|
||||
@@ -16,14 +16,14 @@ import { HeroViewComp } from "./HeroViewComp";
|
||||
/** 角色实体 */
|
||||
@ecs.register(`Monster`)
|
||||
export class Monster extends ecs.Entity {
|
||||
HeroModel!: MonAttrsComp;
|
||||
HeroModel!: HeroAttrsComp;
|
||||
HeroView!: HeroViewComp;
|
||||
BattleMove!: BattleMoveComp;
|
||||
|
||||
protected init() {
|
||||
this.addComponents<ecs.Comp>(
|
||||
BattleMoveComp,
|
||||
MonAttrsComp,
|
||||
HeroAttrsComp,
|
||||
TalComp,
|
||||
EBusComp,
|
||||
);
|
||||
@@ -31,7 +31,7 @@ export class Monster extends ecs.Entity {
|
||||
|
||||
destroy(): void {
|
||||
this.remove(HeroViewComp);
|
||||
this.remove(MonAttrsComp);
|
||||
this.remove(HeroAttrsComp);
|
||||
this.remove(TalComp);
|
||||
this.remove(EBusComp);
|
||||
super.destroy();
|
||||
@@ -53,7 +53,7 @@ export class Monster extends ecs.Entity {
|
||||
|
||||
|
||||
var view = node.getComponent(HeroViewComp)!;
|
||||
const model = this.get(MonAttrsComp);
|
||||
const model = this.get(HeroAttrsComp);
|
||||
let hero = HeroInfo[uuid]; // 共用英雄数据
|
||||
// 设置 View 层属性(表现相关)
|
||||
view.scale = scale;
|
||||
@@ -116,16 +116,16 @@ export class MonLifecycleSystem extends ecs.ComblockSystem
|
||||
implements ecs.IEntityEnterSystem, ecs.IEntityRemoveSystem {
|
||||
|
||||
filter() {
|
||||
return ecs.allOf(MonAttrsComp);
|
||||
return ecs.allOf(HeroAttrsComp);
|
||||
}
|
||||
|
||||
entityEnter(e: ecs.Entity): void {
|
||||
// 英雄实体创建时的特殊处理
|
||||
console.log(`怪物进入世界: ${e.get(MonAttrsComp).hero_name}`);
|
||||
// 怪物实体创建时的特殊处理
|
||||
console.log(`怪物进入世界: ${e.get(HeroAttrsComp).hero_name}`);
|
||||
}
|
||||
|
||||
entityRemove(e: ecs.Entity): void {
|
||||
// 英雄实体销毁时的清理工作
|
||||
console.log(`怪物离开世界: ${e.get(MonAttrsComp).hero_name}`);
|
||||
// 怪物实体销毁时的清理工作
|
||||
console.log(`怪物离开世界: ${e.get(HeroAttrsComp).hero_name}`);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user