mirror of
https://git.lewd.wtf/PGR/ascnet
synced 2025-12-12 22:54:37 +01:00
GuideCompleteRequest impl and saving progression
This commit is contained in:
@@ -15,6 +15,25 @@ namespace AscNet.GameServer.Handlers
|
||||
public int Code;
|
||||
public List<dynamic>? RewardGoodsList;
|
||||
}
|
||||
|
||||
[MessagePackObject(true)]
|
||||
public class GuideCompleteRequest
|
||||
{
|
||||
public int GuideGroupId;
|
||||
}
|
||||
|
||||
[MessagePackObject(true)]
|
||||
public class NotifyGuide
|
||||
{
|
||||
public int GuideGroupId;
|
||||
}
|
||||
|
||||
[MessagePackObject(true)]
|
||||
public class GuideCompleteResponse
|
||||
{
|
||||
public int Code;
|
||||
public List<dynamic>? RewardGoodsList;
|
||||
}
|
||||
|
||||
internal class GuideModule
|
||||
{
|
||||
@@ -30,5 +49,15 @@ namespace AscNet.GameServer.Handlers
|
||||
{
|
||||
session.SendResponse(new GuideGroupFinishResponse(), packet.Id);
|
||||
}
|
||||
|
||||
[RequestPacketHandler("GuideCompleteRequest")]
|
||||
public static void GuideCompleteRequestHandler(Session session, Packet.Request packet)
|
||||
{
|
||||
GuideCompleteRequest request = MessagePackSerializer.Deserialize<GuideCompleteRequest>(packet.Content);
|
||||
|
||||
session.player.PlayerData.GuideData.Add(request.GuideGroupId);
|
||||
session.SendPush(new NotifyGuide() { GuideGroupId = request.GuideGroupId });
|
||||
session.SendResponse(new GuideCompleteResponse(), packet.Id);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -204,6 +204,12 @@ namespace AscNet.GameServer
|
||||
if (Server.Instance.Sessions.GetValueOrDefault(id) is null)
|
||||
return;
|
||||
|
||||
// DB save on disconnect
|
||||
log.Info($"saving session state...");
|
||||
player?.Save();
|
||||
character?.Save();
|
||||
stage?.Save();
|
||||
|
||||
log.Warn($"{id} disconnected");
|
||||
client.Close();
|
||||
Server.Instance.Sessions.Remove(id);
|
||||
|
||||
Reference in New Issue
Block a user