equip command + put on

This commit is contained in:
rfi
2023-12-03 21:44:33 +07:00
parent e5aa565eb2
commit f3468a908a
2 changed files with 95 additions and 0 deletions

View File

@@ -22,6 +22,20 @@ namespace AscNet.GameServer.Handlers
public int Code;
}
[MessagePackObject(true)]
public class EquipPutOnRequest
{
public int CharacterId;
public int EquipId;
public int Site;
}
[MessagePackObject(true)]
public class EquipPutOnResponse
{
public int Code;
}
[MessagePackObject(true)]
public class EquipLevelUpRequest
{
@@ -102,5 +116,32 @@ namespace AscNet.GameServer.Handlers
session.SendResponse(response, packet.Id);
}
[RequestPacketHandler("EquipPutOnRequest")]
public static void EquipPutOnRequestHandler(Session session, Packet.Request packet)
{
EquipPutOnRequest request = packet.Deserialize<EquipPutOnRequest>();
var prevEquip = session.character.Equips.Find(x => x.CharacterId == request.CharacterId);
var toEquip = session.character.Equips.Find(x => x.Id == request.EquipId);
if (prevEquip is not null && toEquip is not null)
{
prevEquip.CharacterId = 0;
toEquip.CharacterId = request.CharacterId;
}
else
{
// EquipManagerGetCharEquipBySiteNotFound
session.SendResponse(new EquipPutOnResponse() { Code = 20021012 }, packet.Id);
return;
}
NotifyEquipDataList notifyEquipData = new()
{
EquipDataList = { prevEquip, toEquip }
};
session.SendPush(notifyEquipData);
session.SendResponse(new EquipPutOnResponse(), packet.Id);
}
}
}