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

@@ -26,13 +26,13 @@ Stage, character, outpost and story information is saved and works, as well as p
- [X] Save team info
- [X] Profile UI
- [X] Open Archives UI
- [X] Inventory system
- [ ] Outpost jukebox / relics saving
- [ ] Field obtain object
- [ ] Admin panel
- [ ] Test hard stage support
- [ ] Event system
- [ ] Download all game assets ahead of time
- [ ] Fix inventory / gear
- [ ] Level up/skill level up support
- [ ] Basic friend list support / allow using other servers except 127.0.0.1
- [ ] Aegis Diver minigame, MOG minigame, etc

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;
}