mirror of
https://github.com/Melledy/Nebula.git
synced 2026-09-20 01:29:54 +02:00
Improve Boss Blitz UI
This commit is contained in:
@@ -2,6 +2,7 @@ package emu.nebula.server.handlers;
|
||||
|
||||
import emu.nebula.net.NetHandler;
|
||||
import emu.nebula.net.NetMsgId;
|
||||
import emu.nebula.proto.Public.ScoreBossLevel;
|
||||
import emu.nebula.proto.ScoreBossInfoOuterClass.ScoreBossInfo;
|
||||
import emu.nebula.net.HandlerId;
|
||||
import emu.nebula.net.GameSession;
|
||||
@@ -15,6 +16,33 @@ public class HandlerScoreBossInfoReq extends NetHandler {
|
||||
var rsp = ScoreBossInfo.newInstance()
|
||||
.setControlId(session.getPlayer().getScoreBossManager().getControlId());
|
||||
|
||||
// Get rank entry
|
||||
var rankEntry = session.getPlayer().getScoreBossManager().getRankEntry();
|
||||
if (rankEntry != null) {
|
||||
// Set total score
|
||||
rsp.setScore(rankEntry.getScore());
|
||||
rsp.setStar(rankEntry.getStars());
|
||||
|
||||
// Encode team data to proto
|
||||
for (var teamEntry : rankEntry.getTeams().entrySet()) {
|
||||
int id = teamEntry.getKey();
|
||||
var team = teamEntry.getValue();
|
||||
|
||||
var info = ScoreBossLevel.newInstance()
|
||||
.setBuildId(team.getBuildId())
|
||||
.setLevelId(id)
|
||||
.setScore(team.getLevelScore())
|
||||
.setSkillScore(team.getSkillScore())
|
||||
.setStar(team.getStars());
|
||||
|
||||
for (var charEntry : team.getCharacters()) {
|
||||
info.addCharIds(charEntry.getId());
|
||||
}
|
||||
|
||||
rsp.addLevels(info);
|
||||
}
|
||||
}
|
||||
|
||||
// Encode and send
|
||||
return session.encodeMsg(NetMsgId.score_boss_info_succeed_ack, rsp);
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ public class HandlerScoreBossRankReq extends NetHandler {
|
||||
.setLastRefreshTime(Nebula.getCurrentTime());
|
||||
|
||||
// Get self
|
||||
var self = session.getPlayer().getScoreBossManager().getRanking();
|
||||
var self = session.getPlayer().getScoreBossManager().getRankEntry();
|
||||
|
||||
if (self != null) {
|
||||
rsp.setSelf(self.toProto());
|
||||
|
||||
@@ -16,7 +16,7 @@ public class HandlerScoreBossSettleReq extends NetHandler {
|
||||
var req = ScoreBossSettleReq.parseFrom(message);
|
||||
|
||||
// Settle
|
||||
boolean success = session.getPlayer().getScoreBossManager().settle(req.getStar(), req.getScore());
|
||||
boolean success = session.getPlayer().getScoreBossManager().settle(req.getStar(), req.getScore(), req.getSkillScore());
|
||||
|
||||
if (success == false) {
|
||||
return session.encodeMsg(NetMsgId.score_boss_settle_failed_ack);
|
||||
|
||||
Reference in New Issue
Block a user