Handle SetClientPausedCsReq

This commit is contained in:
Melledy
2023-09-29 02:35:47 -07:00
parent e1bbf5589f
commit 23b62639bd
3 changed files with 43 additions and 0 deletions

View File

@@ -32,6 +32,7 @@ import emu.lunarcore.server.packet.send.PacketSetHeroBasicTypeScRsp;
import emu.lunarcore.util.Position;
import lombok.Getter;
import lombok.Setter;
@Entity(value = "players", useDiscriminator = false)
@Getter
@@ -60,6 +61,9 @@ public class Player {
private int planeId;
private int floorId;
private int entryId;
// Etc
@Setter private transient boolean paused;
// Player managers
private transient final AvatarStorage avatars;

View File

@@ -0,0 +1,21 @@
package emu.lunarcore.server.packet.recv;
import emu.lunarcore.proto.SetClientPausedCsReqOuterClass.SetClientPausedCsReq;
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.PacketSetClientPausedScRsp;
@Opcodes(CmdId.SetClientPausedCsReq)
public class HandlerSetClientPausedCsReq extends PacketHandler {
@Override
public void handle(GameSession session, byte[] header, byte[] data) throws Exception {
var req = SetClientPausedCsReq.parseFrom(data);
session.getPlayer().setPaused(req.getPaused());
session.send(new PacketSetClientPausedScRsp(session.getPlayer()));
}
}

View File

@@ -0,0 +1,18 @@
package emu.lunarcore.server.packet.send;
import emu.lunarcore.game.player.Player;
import emu.lunarcore.proto.SetClientPausedScRspOuterClass.SetClientPausedScRsp;
import emu.lunarcore.server.packet.BasePacket;
import emu.lunarcore.server.packet.CmdId;
public class PacketSetClientPausedScRsp extends BasePacket {
public PacketSetClientPausedScRsp(Player player) {
super(CmdId.SetClientPausedScRsp);
var data = SetClientPausedScRsp.newInstance()
.setPaused(player.isPaused());
this.setData(data);
}
}