API 参考 / 事件系统
GameStartEvent
一局游玩开始时投递一次:谱面已加载完成、音乐启动。宿主在同一帧先投递 ChartLoadEvent,紧接着投递本事件。
方法速览
| 方法 | 用途 |
|---|---|
context() | 本局游玩状态的只读快照 |
context()
java
public GameplayContext context();行为:返回本局游玩状态只读快照。可读 chartTitle() / chartDifficulty() / totalNoteCount() / combo() 等;快照反映投递瞬间的状态。不要长期持有快照,也不要写入。
示例:
java
ctx.eventBus().subscribe(GameStartEvent.class, event -> {
GameplayContext snapshot = event.context();
judgedInThisRun = 0;
ctx.getLogger().info("本局开始:" + snapshot.chartTitle()
+ "(难度 " + snapshot.chartDifficulty() + ")");
});完整签名
java
public class GameStartEvent extends Event {
public GameStartEvent(GameplayContext context);
public GameplayContext context();
}行为核验:投递时本局已经在跑,「取消开始」没有可执行的默认动作,因此不可取消,setResult 无效。
稳定性:2.0 起冻结,2.x 内只增不破。