API 参考 / 事件系统
GameEndEvent
一局游玩结束时投递一次。宿主在进入结算、选择重试、退出到主菜单,以及关闭预览会话(非静默策略)时都会补发,保证模组收尾逻辑不遗漏。
方法速览
| 方法 | 用途 |
|---|---|
context() | 本局结束时的游玩状态只读快照 |
context()
java
public GameplayContext context();行为:返回本局结束瞬间的状态快照。用于统计与收尾;结算统计(评级、各判定计数、总分)不在本快照里,请改订阅 HostGameResultEvent。
示例:
java
ctx.eventBus().subscribe(GameEndEvent.class, event -> {
int comboPeak = event.context().maxCombo();
uploaded = false;
pendingPeakCombo = comboPeak;
});完整签名
java
public class GameEndEvent extends Event {
public GameEndEvent(GameplayContext context);
public GameplayContext context();
}行为核验:结束已成事实,不可取消。它与 HostGameResultEvent 的时机和信息面均不等价:本事件早于结算界面,且不带结算统计。
稳定性:2.0 起冻结,2.x 内只增不破。