implement more things

This commit is contained in:
Mikhail Thompson
2024-06-27 16:38:42 +03:00
parent 16cece6560
commit 4ffb238c6e
10 changed files with 272 additions and 16 deletions

View File

@@ -1,5 +1,6 @@
using nksrv.LobbyServer.Msgs.Stage;
using nksrv.Utils;
using Swan.Logging;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -19,7 +20,7 @@ namespace nksrv.LobbyServer.Msgs.Campaign
Console.WriteLine("Map ID: " + req.MapId);
var response = new ResGetCampaignFieldData();
response.Field = GetStage.CreateFieldInfo(user, 0); // TODO dont hardcode chapter
response.Field = GetStage.CreateFieldInfo(user, GetChapterFromMapId(req.MapId));
// todo save this data
response.Team = new NetUserTeamData() { LastContentsTeamNumber = 1, Type = 1 };
@@ -40,5 +41,19 @@ namespace nksrv.LobbyServer.Msgs.Campaign
WriteData(response);
}
public static int GetChapterFromMapId(string mapId)
{
switch(mapId)
{
case "fcbg_cityforest_000":
return 0;
case "fcbg_cityforest_003":
return 1;
default:
Logger.Warn("TODO: I don't know what chapter mapid " + mapId + " is");
return 101;
}
}
}
}

View File

@@ -0,0 +1,29 @@
using nksrv.Utils;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace nksrv.LobbyServer.Msgs.Character
{
[PacketPath("/character/synchrodevice/get")]
public class GetSynchrodevice : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<ReqGetSynchroData>();
var response = new ReqGetSynchroData();
response.Synchro = new NetUserSynchroData();
response.Synchro.SynchroLv = 1;
response.Synchro.Slots.Add(new NetSynchroSlot() { Slot = 1 });
response.Synchro.Slots.Add(new NetSynchroSlot() { Slot = 2 });
response.Synchro.Slots.Add(new NetSynchroSlot() { Slot = 3 });
response.Synchro.Slots.Add(new NetSynchroSlot() { Slot = 4 });
response.Synchro.Slots.Add(new NetSynchroSlot() { Slot = 5 });
// TODO: Validate response from real server and pull info from user info
WriteData(response);
}
}
}

View File

@@ -0,0 +1,24 @@
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/get")]
public class GetInventoryData : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = ReadData<ReqGetInventoryData>();
var response = new ResGetInventoryData();
// TODO implement
WriteData(response);
}
}
}

View File

@@ -0,0 +1,17 @@
using nksrv.Utils;
namespace nksrv.LobbyServer.Msgs.Outpost
{
[PacketPath("/outpost/memorial/getmemorylist")]
public class MemorialGetMemoryList : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<ReqGetMemoryList>();
var response = new ResGetMemoryList();
// TODO
WriteData(response);
}
}
}

View File

@@ -0,0 +1,23 @@
using nksrv.Utils;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace nksrv.LobbyServer.Msgs.Shop.InApp
{
[PacketPath("/inappshop/getdata")]
public class GetProductList : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var x = await ReadData<ReqGetInAppShopData>();
var response = new ResGetInAppShopData();
// TODO
WriteData(response);
}
}
}

View File

@@ -0,0 +1,22 @@
using nksrv.Utils;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace nksrv.LobbyServer.Msgs.Tower
{
[PacketPath("/tower/gettowerdata")]
public class GetTowerData : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<ReqGetTowerData>();
var response = new ResGetTowerData();
// TODO
WriteData(response);
}
}
}