API 参考 / 事件系统
HostGameResultEvent
宿主事实转播:结算界面初始化(成绩落库之后)投递,每局一次,携带宿主官方口径的完整结算统计。
方法速览
| 方法 | 用途 |
|---|---|
chartFile() | 谱面文件路径 |
cleared() | 是否通关 |
misses() | MISS 数 |
perfects() | PERFECT 数 |
greats() | GREAT 数 |
maxCombo() | 最大连击 |
totalScore() | 总分 |
grade() | 评级 |
chartFile()
java
public String chartFile();行为:返回谱面文件路径。
cleared()
java
public boolean cleared();行为:返回是否通关。
misses()
java
public int misses();行为:返回 MISS 数。
perfects()
java
public int perfects();行为:返回 PERFECT 数。
greats()
java
public int greats();行为:返回 GREAT 数。
maxCombo()
java
public int maxCombo();行为:返回本局最大连击。
totalScore()
java
public int totalScore();行为:返回总分。
grade()
java
public String grade();行为:返回评级字符串(如 "S")。
示例
java
ctx.eventBus().subscribe(HostGameResultEvent.class, event -> {
ctx.getLogger().info("结算:" + event.chartFile() + " grade=" + event.grade()
+ " score=" + event.totalScore() + " cleared=" + event.cleared());
});完整签名
java
public class HostGameResultEvent extends Event {
public HostGameResultEvent(String chartFile, boolean cleared, int misses, int perfects,
int greats, int maxCombo, int totalScore, String grade);
public String chartFile();
public boolean cleared();
public int misses();
public int perfects();
public int greats();
public int maxCombo();
public int totalScore();
public String grade();
}行为核验:与 GameEndEvent 的区别——GameEndEvent 在「一局游玩结束」时投递(早于结算界面,快照只有游玩中状态);本事件在「结算统计定稿」时投递。要拿评级 / 各判定计数 / 总分 / 是否通关,请订阅本事件。成绩已成事实,不可取消。
稳定性:2.0 起冻结,2.x 内只增不破。