forked from PGR/ascnet
75 lines
2.4 KiB
C#
75 lines
2.4 KiB
C#
using AscNet.Common.MsgPack;
|
|
using MessagePack;
|
|
|
|
namespace AscNet.GameServer.Handlers
|
|
{
|
|
|
|
#region MsgPackScheme
|
|
#pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable.
|
|
[MessagePackObject(true)]
|
|
public class ChangePlayerMarkRequest
|
|
{
|
|
public long MaskId;
|
|
}
|
|
|
|
[MessagePackObject(true)]
|
|
public class ChangeCommunicationResponse
|
|
{
|
|
public int Code;
|
|
}
|
|
|
|
[MessagePackObject(true)]
|
|
public class TouchBoardMutualRequest
|
|
{
|
|
public int CharacterId;
|
|
}
|
|
|
|
[MessagePackObject(true)]
|
|
public class TouchBoardMutualResponse
|
|
{
|
|
}
|
|
|
|
[MessagePackObject(true)]
|
|
public class ChangeCommunicationRequest
|
|
{
|
|
public long Id;
|
|
}
|
|
#pragma warning restore CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable.
|
|
#endregion
|
|
|
|
internal class PlayerModule
|
|
{
|
|
[RequestPacketHandler("ChangePlayerMarkRequest")]
|
|
public static void ChangePlayerMarkRequestHandler(Session session, Packet.Request packet)
|
|
{
|
|
ChangePlayerMarkRequest request = MessagePackSerializer.Deserialize<ChangePlayerMarkRequest>(packet.Content);
|
|
|
|
if (session.player.PlayerData.Marks is null)
|
|
{
|
|
session.log.Debug("Marks is somehow null");
|
|
session.player.PlayerData.Marks = new();
|
|
}
|
|
|
|
session.player.PlayerData.Marks.Add(request.MaskId);
|
|
session.SendResponse(new ChangePlayerMarkResponse(), packet.Id);
|
|
}
|
|
|
|
[RequestPacketHandler("ChangeCommunicationRequest")]
|
|
public static void ChangeCommunicationRequestHandler(Session session, Packet.Request packet)
|
|
{
|
|
ChangeCommunicationRequest request = MessagePackSerializer.Deserialize<ChangeCommunicationRequest>(packet.Content);
|
|
session.player.PlayerData.Communications.Add(request.Id);
|
|
|
|
session.SendResponse(new ChangeCommunicationResponse(), packet.Id);
|
|
}
|
|
|
|
[RequestPacketHandler("TouchBoardMutualRequest")]
|
|
public static void TouchBoardMutualRequestHandler(Session session, Packet.Request packet)
|
|
{
|
|
TouchBoardMutualRequest request = MessagePackSerializer.Deserialize<TouchBoardMutualRequest>(packet.Content);
|
|
|
|
session.SendResponse(new TouchBoardMutualResponse(), packet.Id);
|
|
}
|
|
}
|
|
}
|