ddon-server/Arrowgene.Ddon.GameServer/Handler/ItemSortGetItemSortDataBinHandler.cs

45 lines
1.5 KiB
C#

using Arrowgene.Ddon.Server;
using Arrowgene.Ddon.Shared.Entity.PacketStructure;
using Arrowgene.Ddon.Shared.Entity.Structure;
using Arrowgene.Ddon.Shared.Model;
using Arrowgene.Logging;
namespace Arrowgene.Ddon.GameServer.Handler
{
public class ItemSortGetItemSortDataBinHandler : GameRequestPacketHandler<C2SItemSortGetItemSortDataBinReq, S2CItemSortGetItemSortdataBinRes>
{
private static readonly ServerLogger Logger = LogProvider.Logger<ServerLogger>(typeof(ItemSortGetItemSortDataBinHandler));
public ItemSortGetItemSortDataBinHandler(DdonGameServer server) : base(server)
{
}
public override S2CItemSortGetItemSortdataBinRes Handle(GameClient client, C2SItemSortGetItemSortDataBinReq request)
{
S2CItemSortGetItemSortdataBinRes res = new();
foreach (var item in request.SortList)
{
StorageType storageType = (StorageType)item.Value; // why the hell is it U32 then
Storage storage = client.Character.Storage.GetStorage(storageType);
CDataItemSort cdata = new CDataItemSort()
{
StorageType = storageType,
Bin = storage.SortData
};
res.SortData.Add(cdata);
}
S2CItemSortGetItemSortdataBinNtc ntc = new()
{
SortData = res.SortData
};
client.Send(ntc);
return res;
}
}
}