Implement potential selector in monoliths

This commit is contained in:
Melledy
2025-10-27 08:39:53 -07:00
parent d57caeffe1
commit 08feedc766
10 changed files with 492 additions and 47 deletions

View File

@@ -0,0 +1,20 @@
package emu.nebula.server.handlers;
import emu.nebula.net.NetHandler;
import emu.nebula.net.NetMsgId;
import emu.nebula.proto.StarTowerBuildWhetherSave.StarTowerBuildWhetherSaveReq;
import emu.nebula.net.HandlerId;
import emu.nebula.net.GameSession;
@HandlerId(NetMsgId.star_tower_build_whether_save_req)
public class HandlerStarTowerBuildWhetherSaveReq extends NetHandler {
@Override
public byte[] handle(GameSession session, byte[] message) throws Exception {
var req = StarTowerBuildWhetherSaveReq.parseFrom(message);
// TODO
return this.encodeMsg(NetMsgId.star_tower_build_whether_save_succeed_ack);
}
}

View File

@@ -0,0 +1,30 @@
package emu.nebula.server.handlers;
import emu.nebula.net.NetHandler;
import emu.nebula.net.NetMsgId;
import emu.nebula.proto.StarTowerGiveUp.StarTowerGiveUpResp;
import emu.nebula.net.HandlerId;
import emu.nebula.net.GameSession;
@HandlerId(NetMsgId.star_tower_give_up_req)
public class HandlerStarTowerGiveUpReq extends NetHandler {
@Override
public byte[] handle(GameSession session, byte[] message) throws Exception {
var instance = session.getPlayer().getStarTowerManager().giveUp();
if (instance == null) {
return this.encodeMsg(NetMsgId.star_tower_give_up_failed_ack);
}
// Build response
var rsp = StarTowerGiveUpResp.newInstance()
.setFloor(instance.getFloor());
rsp.getMutableChange();
rsp.setBuild(instance.getBuild().toProto());
return this.encodeMsg(NetMsgId.star_tower_give_up_succeed_ack, rsp);
}
}