mirror of
https://github.com/Melledy/Nebula.git
synced 2025-12-12 20:34:36 +01:00
Avoid null pointer
This commit is contained in:
@@ -15,25 +15,25 @@ public class HandlerTowerGrowthGroupNodeUnlockReq extends NetHandler {
|
|||||||
public byte[] handle(GameSession session, byte[] message) throws Exception {
|
public byte[] handle(GameSession session, byte[] message) throws Exception {
|
||||||
// Parse request
|
// Parse request
|
||||||
var req = UI32.parseFrom(message);
|
var req = UI32.parseFrom(message);
|
||||||
|
|
||||||
// Quick unlock
|
// Quick unlock
|
||||||
var change = session.getPlayer().getStarTowerManager().unlockGrowthNodeGroup(req.getValue());
|
var change = session.getPlayer().getStarTowerManager().unlockGrowthNodeGroup(req.getValue());
|
||||||
|
|
||||||
if (change == null) {
|
if (change == null) {
|
||||||
session.encodeMsg(NetMsgId.tower_growth_group_node_unlock_failed_ack);
|
return session.encodeMsg(NetMsgId.tower_growth_group_node_unlock_failed_ack);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get list of unlocked nodes
|
// Get list of unlocked nodes
|
||||||
var unlocked = (IntList) change.getExtraData();
|
var unlocked = (IntList) change.getExtraData();
|
||||||
|
|
||||||
// Build response
|
// Build response
|
||||||
var rsp = TowerGrowthGroupNodeUnlockResp.newInstance()
|
var rsp = TowerGrowthGroupNodeUnlockResp.newInstance()
|
||||||
.setChangeInfo(change.toProto());
|
.setChangeInfo(change.toProto());
|
||||||
|
|
||||||
for (int nodeId : unlocked) {
|
for (int nodeId : unlocked) {
|
||||||
rsp.addNodes(nodeId);
|
rsp.addNodes(nodeId);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Encode and send
|
// Encode and send
|
||||||
return session.encodeMsg(NetMsgId.tower_growth_group_node_unlock_succeed_ack, rsp);
|
return session.encodeMsg(NetMsgId.tower_growth_group_node_unlock_succeed_ack, rsp);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,28 +14,28 @@ public class HandlerVampireSurvivorRewardSelectReq extends NetHandler {
|
|||||||
public byte[] handle(GameSession session, byte[] message) throws Exception {
|
public byte[] handle(GameSession session, byte[] message) throws Exception {
|
||||||
// Parse
|
// Parse
|
||||||
var req = VampireSurvivorRewardSelectReq.parseFrom(message);
|
var req = VampireSurvivorRewardSelectReq.parseFrom(message);
|
||||||
|
|
||||||
// Get game
|
// Get game
|
||||||
var game = session.getPlayer().getVampireSurvivorManager().getGame();
|
var game = session.getPlayer().getVampireSurvivorManager().getGame();
|
||||||
|
|
||||||
if (game == null) {
|
if (game == null) {
|
||||||
session.encodeMsg(NetMsgId.vampire_survivor_reward_select_failed_ack);
|
return session.encodeMsg(NetMsgId.vampire_survivor_reward_select_failed_ack);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Select
|
// Select
|
||||||
int cardId = game.selectReward(req.getIndex(), req.getReRoll());
|
int cardId = game.selectReward(req.getIndex(), req.getReRoll());
|
||||||
|
|
||||||
if (cardId <= 0) {
|
if (cardId <= 0) {
|
||||||
session.encodeMsg(NetMsgId.vampire_survivor_reward_select_failed_ack);
|
return session.encodeMsg(NetMsgId.vampire_survivor_reward_select_failed_ack);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Build response
|
// Build response
|
||||||
var rsp = VampireSurvivorRewardSelectResp.newInstance();
|
var rsp = VampireSurvivorRewardSelectResp.newInstance();
|
||||||
|
|
||||||
rsp.getMutableResp()
|
rsp.getMutableResp()
|
||||||
.setFateCardId(cardId)
|
.setFateCardId(cardId)
|
||||||
.setReward(game.getRewardProto());
|
.setReward(game.getRewardProto());
|
||||||
|
|
||||||
// Encode and send
|
// Encode and send
|
||||||
return session.encodeMsg(NetMsgId.vampire_survivor_reward_select_succeed_ack, rsp);
|
return session.encodeMsg(NetMsgId.vampire_survivor_reward_select_succeed_ack, rsp);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user