You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
AdLike2048/assets/mx/module/battle/bridge/IBattleBridge.ts

23 lines
841 B

3 weeks ago
import type { BattleSession } from '../core/BattleSession';
import type { BattleEvent } from '../events/BattleEvents';
/**
* 项目层桥接:表现、寻路、特效等引擎相关逻辑由此注入,MX 内核不依赖 Cocos。
* 未实现的方法可省略;战斗事件仍优先走 BattleEventBus。
*/
export interface IBattleBridge {
/**
* COMBAT 表现同步(位移/阴影/LOD)。每个渲染帧最多一次,固定步长追赶不重复调用。
* @param session 战斗会话
* @param dt 渲染帧间隔(秒)
*/
onCombatTick?(session: BattleSession, dt: number): void;
/**
* 事件发出后、flush 前(可选拦截或补表现)
* @param session 战斗会话
* @param event 战斗事件
*/
onBattleEvent?(session: BattleSession, event: BattleEvent): void;
}