mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-02-25 03:13:22 +08:00
implement McoinExchange packet Handler
This commit is contained in:
parent
fb547c17ca
commit
da3eb3d26c
@ -0,0 +1,26 @@
|
||||
package emu.grasscutter.server.packet.recv;
|
||||
|
||||
import emu.grasscutter.net.packet.Opcodes;
|
||||
import emu.grasscutter.net.packet.PacketHandler;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.McoinExchangeHcoinReqOuterClass;
|
||||
import emu.grasscutter.server.game.GameSession;
|
||||
import emu.grasscutter.server.packet.send.PacketMcoinExchangeHcoinRsp;
|
||||
|
||||
@Opcodes(PacketOpcodes.McoinExchangeHcoinReq)
|
||||
public class HandlerMcoinExchangeHcoinReq extends PacketHandler {
|
||||
|
||||
@Override
|
||||
public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
|
||||
McoinExchangeHcoinReqOuterClass.McoinExchangeHcoinReq exchangeReq = McoinExchangeHcoinReqOuterClass.McoinExchangeHcoinReq.parseFrom(payload);
|
||||
if (session == null) {
|
||||
return;
|
||||
} else if (session.getPlayer().getCrystals() < exchangeReq.getMCoinNum()) {
|
||||
return;
|
||||
}
|
||||
session.getPlayer().setCrystals(session.getPlayer().getCrystals() - exchangeReq.getMCoinNum());
|
||||
session.getPlayer().setPrimogems(session.getPlayer().getPrimogems() + exchangeReq.getHCoinNum());
|
||||
session.getPlayer().save();
|
||||
session.send(new PacketMcoinExchangeHcoinRsp(session.getPlayer().getCrystals(), session.getPlayer().getPrimogems()));
|
||||
}
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.McoinExchangeHcoinRspOuterClass;
|
||||
|
||||
public class PacketMcoinExchangeHcoinRsp extends BasePacket {
|
||||
|
||||
public PacketMcoinExchangeHcoinRsp(int mcoin, int hcoin) {
|
||||
super(PacketOpcodes.McoinExchangeHcoinRsp);
|
||||
|
||||
McoinExchangeHcoinRspOuterClass.McoinExchangeHcoinRsp mcoinExchangeHcoinRsp = McoinExchangeHcoinRspOuterClass.McoinExchangeHcoinRsp.newBuilder()
|
||||
.setMCoinNum(mcoin)
|
||||
.setHCoinNum(hcoin).build();
|
||||
|
||||
this.setData(mcoinExchangeHcoinRsp);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user