Refactor gacha banner proto creation to not do a lookup on the database

This commit is contained in:
Melledy
2022-06-16 08:18:24 -07:00
parent 2624f48a84
commit 359e83596c
4 changed files with 14 additions and 50 deletions

View File

@@ -14,10 +14,7 @@ public class HandlerGetGachaInfoReq extends PacketHandler {
@Override
public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
session.send(new PacketGetGachaInfoRsp(session.getServer().getGachaManager(),
// TODO: use other Nonce/key insteadof session key to ensure the overall security for the player
session.getPlayer().getAccount().getSessionKey())
);
session.send(new PacketGetGachaInfoRsp(session.getServer().getGachaManager(), session.getPlayer()));
}
}

View File

@@ -1,22 +1,16 @@
package emu.grasscutter.server.packet.send;
import emu.grasscutter.game.gacha.GachaManager;
import emu.grasscutter.game.player.Player;
import emu.grasscutter.net.packet.BasePacket;
import emu.grasscutter.net.packet.PacketOpcodes;
public class PacketGetGachaInfoRsp extends BasePacket {
@Deprecated
public PacketGetGachaInfoRsp(GachaManager manager) {
public PacketGetGachaInfoRsp(GachaManager manager, Player player) {
super(PacketOpcodes.GetGachaInfoRsp);
this.setData(manager.toProto());
}
public PacketGetGachaInfoRsp(GachaManager manager, String sessionKey) {
super(PacketOpcodes.GetGachaInfoRsp);
this.setData(manager.toProto(sessionKey));
this.setData(manager.toProto(player));
}
}