feat(怪物系统): 添加游戏时间参数影响怪物属性计算

在怪物加载和生成逻辑中添加gameTime参数,用于动态成长系统根据游戏时间调整怪物属性
This commit is contained in:
walkpan
2026-01-01 23:39:22 +08:00
parent 5bef0bebbb
commit 95f216e6e7
2 changed files with 12 additions and 6 deletions

View File

@@ -32,6 +32,8 @@ export class MissionMonCompComp extends CCComp {
private eventProcessed: boolean = false; // 事件是否已处理
/** 全局生成顺序计数器,用于层级管理 */
private globalSpawnOrder: number = 0;
/** 游戏进行时间(秒) */
private gameTime: number = 0;
onLoad(){
@@ -56,6 +58,9 @@ export class MissionMonCompComp extends CCComp {
protected update(dt: number): void {
if(!smc.mission.play||smc.mission.pause) return
// 累加游戏时间
this.gameTime += dt;
// 处理随机事件
@@ -167,7 +172,8 @@ export class MissionMonCompComp extends CCComp {
monsterData.position,
monsterData.type,
monsterData.level,
monsterData.buffs
monsterData.buffs,
this.gameTime
);
// 增加召唤计数
this.spawnCount++;
@@ -180,8 +186,8 @@ export class MissionMonCompComp extends CCComp {
i: number = 0,
monType: number = 0,
lv: number = 1,
buffs: BuffConf[] = []
buffs: BuffConf[] = [],
gameTime: number = 0
) {
let mon = ecs.getEntity<Monster>(Monster);
let scale = -1;
@@ -199,7 +205,7 @@ export class MissionMonCompComp extends CCComp {
this.globalSpawnOrder = (this.globalSpawnOrder + 1) % 999; // 防止无限增长在999处循环重置
// 生成怪物,传递线路和生成顺序
mon.load(pos, scale, uuid, lv, monType, buffs, false, lane, this.globalSpawnOrder);
mon.load(pos, scale, uuid, lv, monType, buffs, false, lane, this.globalSpawnOrder, gameTime);
}