fix: 修复实体视图状态初始化问题并调整关卡参数

- 为 Monster 和 Hero 实体添加 idle 状态初始化,确保视图组件正确显示
- 调用 Hero 视图组件的 init 方法以完成初始化流程
- 调整关卡配置参数:关闭内存面板显示,减少怪物上限和恢复阈值以优化性能
This commit is contained in:
walkpan
2026-03-24 19:41:39 +08:00
parent 57dadf8017
commit d6a4cfe07e
3 changed files with 6 additions and 3 deletions

View File

@@ -111,6 +111,7 @@ export class Hero extends ecs.Entity {
// 将视图组件注册到实体,打通逻辑与表现
this.add(hv);
hv.init();
// 广播主角召唤事件,触发外部系统监听逻辑
oops.message.dispatchEvent(GameEvent.MasterCalled,{uuid:uuid})
@@ -120,6 +121,7 @@ export class Hero extends ecs.Entity {
move.targetX = resolveFormationTargetX(model.fac, model.type);
move.baseY = dropToY;
move.moving = false;
hv.as.idle();
// 依据下落距离自适应入场时长,保证手感稳定
const dropDistance = Math.abs(pos.y - dropToY);

View File

@@ -182,6 +182,7 @@ export class Monster extends ecs.Entity {
// 注册视图组件并重置对象池复用状态
this.add(view);
view.init();
view.as.idle();
// 广播怪物加载事件,供刷怪与战斗系统联动
oops.message.dispatchEvent("monster_load",this)
// 初始化移动参数:方向、目标 X、站位基准 Y

View File

@@ -25,11 +25,11 @@ export class MissionComp extends CCComp {
@property({ tooltip: "是否启用调试日志" })
private debugMode: boolean = false;
@property({ tooltip: "是否显示战斗内存观测面板" })
private showMemoryPanel: boolean = true;
private showMemoryPanel: boolean = false;
@property({ tooltip: "场上怪物上限" })
private maxMonsterCount: number = 15;
private maxMonsterCount: number = 5;
@property({ tooltip: "恢复刷怪阈值" })
private resumeMonsterCount: number = 10;
private resumeMonsterCount: number = 3;
// VictoryComp:any = null;
// reward:number = 0;