import { Vec3 } from 'cc'; import type { CocosBagBoardView } from '../../battle/view/CocosBagBoardView'; import type { ProjectBattleHandle } from '../../battle/runtime/BattleRuntime'; /** 被动 skill CD 触发时的 UI / 棋盘上下文 */ export interface BattleGamePassiveSkillHost { /** 战斗句柄 */ battle: ProjectBattleHandle | null; /** 背包棋盘视图 */ bagView: CocosBagBoardView | null; /** * 被动 buff 图标世界坐标 * @param slotIndex ui_selfskill2List 槽位下标(非 buffId) */ getIconWorldPosition(slotIndex: number): Readonly | null; /** * 被动效果成功触发后重启 CD 遮罩 * @param slotIndex ui_selfskill2List 槽位下标 */ restartPassiveCd(slotIndex: number): void; /** * 标记异步产字进行中(避免重复触发) * @param slotIndex ui_selfskill2List 槽位下标 * @param inflight 是否进行中 */ setPassiveSpawnInflight(slotIndex: number, inflight: boolean): void; }