Implement remaining wear equipment apis

This commit is contained in:
Mikhail
2024-07-11 10:07:06 -04:00
parent 956688059e
commit ed40557e19
6 changed files with 138 additions and 2 deletions

View File

@@ -0,0 +1,36 @@
using nksrv.Utils;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace nksrv.LobbyServer.Msgs.Inventory
{
[PacketPath("/inventory/allclearequipment")]
public class ClearAllEquipment : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<ReqAllClearEquipment>();
var user = GetUser();
var response = new ResAllClearEquipment();
response.Csn = req.Csn;
foreach (var item in user.Items.ToArray())
{
if (item.Csn == req.Csn)
{
// update character id
item.Csn = 0;
response.Items.Add(NetUtils.ToNet(item));
}
}
JsonDb.Save();
WriteData(response);
}
}
}

View File

@@ -0,0 +1,37 @@
using nksrv.LobbyServer.Msgs.User;
using nksrv.Utils;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace nksrv.LobbyServer.Msgs.Inventory
{
[PacketPath("/inventory/clearequipment")]
public class ClearEquipment : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<ReqClearEquipment>();
var user = GetUser();
var response = new ResClearEquipment();
foreach (var item in user.Items.ToArray())
{
if (item.Isn == req.Isn)
{
// update character id
item.Csn = 0;
response.Item = NetUtils.ToNet(item);
}
}
JsonDb.Save();
WriteData(response);
}
}
}

View File

@@ -34,7 +34,7 @@ namespace nksrv.LobbyServer.Msgs.Inventory
response.Items.Add(NetUtils.ToNet(item));
}
}
JsonDb.Save();
WriteData(response);
}
}

View File

@@ -0,0 +1,38 @@
using nksrv.Utils;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace nksrv.LobbyServer.Msgs.Inventory
{
[PacketPath("/inventory/wearequipmentlist")]
public class WearEquipmentList : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<ReqWearEquipmentList>();
var user = GetUser();
var response = new ResWearEquipmentList();
foreach (var item in user.Items.ToArray())
{
foreach (var item2 in req.IsnList)
{
if (item2 == item.Isn)
{
item.Csn = req.Csn;
response.Items.Add(NetUtils.ToNet(item));
}
}
}
JsonDb.Save();
WriteData(response);
}
}
}

View File

@@ -2170,4 +2170,29 @@ message ReqReadMail {
}
message ResReadMail {
}
message ReqClearEquipment {
int64 isn = 2;
int64 csn = 3;
}
message ResClearEquipment {
NetUserItemData item = 4;
}
message ReqWearEquipmentList {
int64 Csn = 2;
repeated int64 IsnList = 3;
}
message ResWearEquipmentList {
repeated NetUserItemData Items = 3;
}
message ReqAllClearEquipment {
int64 Csn = 2;
}
message ResAllClearEquipment {
int64 Csn = 2;
repeated NetUserItemData Items = 3;
}