From 3f387da322f6dfad642cf5ab2046536137e2361d Mon Sep 17 00:00:00 2001 From: Naruse <71993948+DevilProMT@users.noreply.github.com> Date: Sun, 26 Apr 2026 19:46:55 +0800 Subject: [PATCH] enter girl room --- GameServer/Server/CallGS/CallGSRouter.cs | 1 + .../CallGS/Handlers/Girl/EnterGirlRoom.cs | 31 +++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 GameServer/Server/CallGS/Handlers/Girl/EnterGirlRoom.cs diff --git a/GameServer/Server/CallGS/CallGSRouter.cs b/GameServer/Server/CallGS/CallGSRouter.cs index 5268a15..6ea0281 100644 --- a/GameServer/Server/CallGS/CallGSRouter.cs +++ b/GameServer/Server/CallGS/CallGSRouter.cs @@ -27,6 +27,7 @@ public static class CallGSRouter try { await handler.Handle(connection, req.Param, seqNo); + await connection.Player!.OnHeartBeat(); } catch (Exception e) { diff --git a/GameServer/Server/CallGS/Handlers/Girl/EnterGirlRoom.cs b/GameServer/Server/CallGS/Handlers/Girl/EnterGirlRoom.cs new file mode 100644 index 0000000..d2101d5 --- /dev/null +++ b/GameServer/Server/CallGS/Handlers/Girl/EnterGirlRoom.cs @@ -0,0 +1,31 @@ +using System.Text.Json; +using System.Text.Json.Nodes; +using System.Text.Json.Serialization; + +namespace MikuSB.GameServer.Server.CallGS.Handlers.Girl; + +[CallGSApi("EnterGirlRoom")] +public class EnterGirlRoom : ICallGSHandler +{ + public async Task Handle(Connection connection, string param, ushort seqNo) + { + var req = JsonSerializer.Deserialize(param); + var response = new JsonObject + { + ["nCardId"] = req?.CardId ?? 1, + ["nSkinId"] = req?.SkinId ?? 0, + ["bOpen"] = true + }; + + await CallGSRouter.SendScript(connection, "EnterGirlRoom", response.ToJsonString()); + } +} + +internal sealed class EnterGirlRoomParam +{ + [JsonPropertyName("nSkinId")] + public int SkinId { get; set; } + + [JsonPropertyName("nCardID")] + public uint CardId { get; set; } +} \ No newline at end of file