API 参考 / 事件系统
PauseEvent
本局被暂停时投递(ESC 或暂停菜单)。宿主在改变暂停状态之前投递,因此可被否决。
方法速览
| 方法 | 用途 |
|---|---|
context() | 暂停前的游玩状态只读快照 |
context()
java
public GameplayContext context();行为:返回暂停请求受理时的状态快照(此时 paused() 仍为 false,因为状态尚未改变)。
示例
java
ctx.eventBus().subscribe(PauseEvent.class, EventPriority.HIGHEST, event -> {
if (isBossFightActive()) {
// 宿主直接返回,不进入暂停;音乐与判定继续
event.setResult(EventResult.DENY);
}
});完整签名
java
public class PauseEvent extends CancellableEvent {
public PauseEvent(GameplayContext context);
public GameplayContext context();
}行为核验:宿主的 ESC 路径、pauseGame() 与暂停菜单都读 isDenied() 决定是否跳过暂停;置 DENY 后宿主什么都不做(状态一律不变)。宿主不读 isAllowed(),ALLOW 的实际作用是提前短路、阻止后续监听器投 DENY。
稳定性:2.0 起冻结,2.x 内只增不破。