import type { Player } from '../game/Player'; import type { TableBattleConfigProvider } from './config/TableBattleConfigProvider'; import type { BattleDeployParams, BattleStartParams, IBattleRuntimeHandle, } from './types/ProjectBattleTypes'; /** 战斗模块对外契约:业务层只通过 gg.battle 访问 */ export interface IBattleService { readonly config: TableBattleConfigProvider; readonly match: IBattleRuntimeHandle | null; readonly localPlayer: Player | undefined; readonly players: readonly Player[]; readonly remotePlayer: Player | undefined; init(): void; start(params: BattleStartParams): IBattleRuntimeHandle | null; end(): void; tick(dt: number): void; deploy(params: BattleDeployParams): boolean; startCombat(): void; startPrep(): void; }