Add handler for GetEnteredSceneCsReq

This commit is contained in:
Melledy
2023-10-15 05:26:06 -07:00
parent 23d4a663f2
commit 19f44a84fe
4 changed files with 762 additions and 0 deletions

View File

@@ -0,0 +1,18 @@
package emu.lunarcore.server.packet.recv;
import emu.lunarcore.server.game.GameSession;
import emu.lunarcore.server.packet.CmdId;
import emu.lunarcore.server.packet.Opcodes;
import emu.lunarcore.server.packet.PacketHandler;
import emu.lunarcore.server.packet.send.PacketGetEnteredSceneScRsp;
@Opcodes(CmdId.GetEnteredSceneCsReq)
public class HandlerGetEnteredSceneCsReq extends PacketHandler {
@Override
public void handle(GameSession session, byte[] header, byte[] data) throws Exception {
// Note: This packet is not necessary for the client to load into a scene
session.send(new PacketGetEnteredSceneScRsp(session.getPlayer()));
}
}

View File

@@ -0,0 +1,26 @@
package emu.lunarcore.server.packet.send;
import emu.lunarcore.game.player.Player;
import emu.lunarcore.proto.EnteredSceneInfoOuterClass.EnteredSceneInfo;
import emu.lunarcore.proto.GetEnteredSceneScRspOuterClass.GetEnteredSceneScRsp;
import emu.lunarcore.server.packet.BasePacket;
import emu.lunarcore.server.packet.CmdId;
public class PacketGetEnteredSceneScRsp extends BasePacket {
public PacketGetEnteredSceneScRsp(Player player) {
super(CmdId.GetEnteredSceneScRsp);
var sceneInfo = EnteredSceneInfo.newInstance();
if (player.getScene() != null) {
sceneInfo.setFloorId(player.getScene().getFloorId());
sceneInfo.setPlaneId(player.getScene().getPlaneId());
}
var data = GetEnteredSceneScRsp.newInstance()
.addEnteredSceneInfo(sceneInfo);
this.setData(data);
}
}