lobby ui works

This commit is contained in:
Mikhail Thompson
2024-06-27 20:48:15 +03:00
parent 4ffb238c6e
commit d3ea7d4112
27 changed files with 826 additions and 15 deletions

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.Archive
{
[PacketPath("/archive/get")]
public class GetArchives : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<ReqGetArchiveRecord>();
var response = new ResGetArchiveRecord();
// 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.Arena
{
[PacketPath("/arena/getbaninfo")]
public class GetArenaBanInfo : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<ReqGetArenaBanInfo>();
var response = new ResGetArenaBanInfo();
// TODO
WriteData(response);
}
}
}

View File

@@ -16,7 +16,7 @@ namespace nksrv.LobbyServer.Msgs.Auth
{
var req = await ReadData<ReqLogout>();
JsonDb.Instance.GameClientTokens.Remove(UsedAuthToken);
WriteData(new ResLogout());
}
}

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.Campaign
{
[PacketPath("/shutdownflags/campaignpackage/getall")]
public class CampaignPackageGetAll : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<ReqCampaignPackageGetAllShutdownFlags>();
var response = new ResCampaignPackageGetAllShutdownFlags();
// TODO
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.Character
{
[PacketPath("/character/attractive/get")]
public class GetCharacterAttractiveList : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<ReqGetAttractiveList>();
var response = new ResGetAttractiveList();
response.CounselAvailableCount = 3; // TODO
// TODO: Validate response from real server and pull info from user info
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.Friend
{
[PacketPath("/friend/get")]
public class GetFriends : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<ReqGetFriendData>();
var response = new ResGetFriendData();
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.Minigame
{
[PacketPath("/minigame/nksv2/get")]
public class GetNksv2Minigame : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<ReqGetMiniGameNKSV2Data>();
var response = new ResGetMiniGameNKSV2Data();
// TODO
WriteData(response);
}
}
}

View File

@@ -0,0 +1,18 @@
using nksrv.Utils;
namespace nksrv.LobbyServer.Msgs.Misc
{
[PacketPath("/shutdownflags/gacha/getall")]
public class GachaGetAllShutdownFlags : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<ReqGachaGetAllShutdownFlags>();
var response = new ResGachaGetAllShutdownFlags();
// TODO: Validate response from real server and pull info from user info
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.Mission
{
[PacketPath("/mission/getrewarded/achievement")]
public class GetAchievementRewardedData : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<ResGetAchievementRewardedData>();
var response = new ReqGetAchievementRewardedData();
// 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.Outpost
{
[PacketPath("/outpost/dispatch/get")]
public class GetDispatchList : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<ReqGetDispatchList>();
var response = new ResGetDispatchList();
// 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.Ranking
{
[PacketPath("/ranking/updateserverreward")]
public class UpdateServerReward : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<ReqUpdateRankingServerReward>();
var response = new ResUpdateRankingServerReward();
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.Shop.InApp
{
[PacketPath("/inappshop/getsubscription")]
public class GetInAppSubscription : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<ReqGetSubscription>();
var response = new ResGetSubscription();
// 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.Shop.InApp
{
[PacketPath("/inappshop/jupiter/getmarketingdetail")]
public class GetMarketingDetail : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<ReqGetJupiterMarketingDetail>();
var response = new ResGetJupiterMarketingDetail();
response.MarketingDetail = "Do Not Buy Our Junk Today";
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/getmonthlysubscriptionreward")]
public class GetMonthlySubscriptionReward : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<ReqGetMonthlySubscriptionReward>();
var response = new ResGetMonthlySubscriptionReward();
// TODO: Validate response from real server
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/custompackage/getsetupdata")]
public class GetCharacterAttractiveList : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<ReqGetCustomPackageSetupData>();
var response = new ResGetCustomPackageSetupData();
// TODO: Validate response from real server and pull info from user info
WriteData(response);
}
}
}

View File

@@ -0,0 +1,16 @@
using nksrv.Utils;
namespace nksrv.LobbyServer.Msgs.Shop.PackageShop
{
[PacketPath("/packageshop/getpopuppackagestate")]
public class GetPackagePopupState : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<ReqGetPopupPackageState>();
var response = new ResGetPopupPackageState();
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.PackageShop
{
[PacketPath("/packageshop/campaign/get")]
public class PackageShopGetCampaignPackage : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<ReqGetCampaignPackage>();
var response = new ResGetCampaignPackage();
// TODO: Validate response from real server and pull info from user info
WriteData(response);
}
}
}

View File

@@ -0,0 +1,26 @@
using nksrv.Utils;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace nksrv.LobbyServer.Msgs.Soloraid
{
[PacketPath("/soloraid/getperiod")]
public class GetSoloraidPeriod : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<ReqGetSoloRaidPeriod>();
var response = new ResGetSoloRaidPeriod();
response.Period = new NetSoloRaidPeriodData
{
};
// TODO
WriteData(response);
}
}
}

View File

@@ -15,7 +15,27 @@ namespace nksrv.LobbyServer.Msgs.Tower
var req = await ReadData<ReqGetTowerData>();
var response = new ResGetTowerData();
// TODO
// TODO: Load remain count for these
var t0 = new NetTowerData() { Type = 1, RemainCount = 3 };
var t1 = new NetTowerData() { Type = 2, RemainCount = 3 };
var t2 = new NetTowerData() { Type = 3, RemainCount = 3 };
var t3 = new NetTowerData() { Type = 4, RemainCount = 3 };
var t4 = new NetTowerData() { Type = 5 };
// setup schedules
t0.Schedules.Add(new NetSchedule() { DayOfWeek = new() { DayOfWeeks = { 1, 4, 6 }, StartTime = 720000000000, Duration = 863990000000 } });
t1.Schedules.Add(new NetSchedule() { DayOfWeek = new() { DayOfWeeks = { 2, 5, 6 }, StartTime = 720000000000, Duration = 863990000000 } });
t2.Schedules.Add(new NetSchedule() { DayOfWeek = new() { DayOfWeeks = { 0, 3, 6 }, StartTime = 720000000000, Duration = 863990000000 } });
t3.Schedules.Add(new NetSchedule() { DayOfWeek = new() { DayOfWeeks = { 2, 6 }, StartTime = 720000000000, Duration = 863990000000 } });
t4.Schedules.Add(new NetSchedule() { AllTime = new() });
response.Data.Add(t0);
response.Data.Add(t1);
response.Data.Add(t2);
response.Data.Add(t3);
response.Data.Add(t4);
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.User
{
[PacketPath("/featureflags/all/get")]
public class GetAllFeatureFlags : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<ReqGetAllFeatureFlags>();
var response = new ResGetAllFeatureFlags();
// 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.User
{
[PacketPath("/ProfileCard/Possession/Get")]
public class GetProfileCardPossession : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<ReqProfileCardObjectList>();
var response = new ResProfileCardObjectList();
// 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.User
{
[PacketPath("/User/GetProfileFrame")]
public class GetProfileFrame : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<ReqGetProfileFrame>();
var response = new ResGetProfileFrame();
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.User
{
[PacketPath("/User/GetWallpaper")]
public class GetWallpaper : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<ReqGetWallpaper>();
var response = new ResGetWallpaper();
WriteData(response);
}
}
}

View File

@@ -0,0 +1,25 @@
using nksrv.Utils;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace nksrv.LobbyServer.Msgs.Wallet
{
[PacketPath("/wallet/get")]
public class GetWallet : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<ReqGetCurrencyData>();
var response = new ResGetCurrencyData();
foreach (var item in req.Currencies)
{
Console.WriteLine("Request currency " + (CurrencyType)item);
}
WriteData(response);
}
}
}