implement a few more messages

This commit is contained in:
Mikhail Thompson
2024-06-27 14:50:17 +03:00
parent c15227748f
commit 7f4e947cf5
14 changed files with 343 additions and 12 deletions

View File

@@ -32,6 +32,15 @@ namespace nksrv.LobbyServer
public async Task HandleAsync(IHttpContext ctx)
{
this.ctx = ctx;
if (ctx.Request.Headers.AllKeys.Contains("Authorization"))
{
var token = ctx.Request.Headers["Authorization"];
if (token != null)
{
UsedAuthToken = token;
}
}
await HandleAsync();
}
public async Task HandleAsync(string authToken)

View File

@@ -0,0 +1,23 @@
using Google.Protobuf.WellKnownTypes;
using Google.Protobuf;
using nksrv.Utils;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace nksrv.LobbyServer.Msgs.Auth
{
[PacketPath("/auth/logout")]
public class AuthLogout : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<ReqLogout>();
WriteData(new ResLogout());
}
}
}

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/costume/get")]
public class GetCharacterCostume : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = ReadData<ReqGetCharacterCostumeData>();
var response = new ResGetCharacterCostumeData();
// TODO implement
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.Event
{
[PacketPath("/event/getjoinedevent")]
public class EnterLobbyPing : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<ReqGetJoinedEvent>();
var response = new ResGetJoinedEvent();
// 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.Event
{
[PacketPath("/event/list")]
public class ListEvents : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<ReqGetEventList>();
var response = new ResGetEventList();
// TODO: Support events
WriteData(response);
}
}
}

View File

@@ -0,0 +1,17 @@
using nksrv.Utils;
namespace nksrv.LobbyServer.Msgs.Misc
{
[PacketPath("/enterlobbyping")]
public class EnterLobbyPing : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<ReqEnterLobbyPing>();
var response = new ResEnterLobbyPing();
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.Mission.Rewards
{
[PacketPath("/mission/getrewarded/daily")]
public class GetDailyRewards : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = ReadData<ReqGetDailyRewardedData>();
// TODO: implement
var response = new ResGetDailyRewardedData();
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.Mission.Rewards
{
[PacketPath("/mission/getrewarded/weekly")]
public class GetWeeklyRewards : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = ReadData<ReqGetWeeklyRewardedData>();
// TODO: implement
var response = new ResGetWeeklyRewardedData();
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.Pass
{
[PacketPath("/pass/event/getactive")]
public class GetActiveEventPassData : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<ReqGetActiveEventPassData>();
var response = new ResGetActiveEventPassData();
// TODO: Support events
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.Pass
{
[PacketPath("/pass/getactive")]
public class GetActivePassData : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<ReqGetActivePassData>();
var response = new ResGetActivePassData();
// TODO: Support events
WriteData(response);
}
}
}

View File

@@ -1,4 +1,5 @@
using nksrv.Utils;
using Swan.Logging;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -30,11 +31,28 @@ namespace nksrv.LobbyServer.Msgs.Stage
}
// TODO: figure out how stageid corresponds to chapter
user.FieldInfo[0].CompletedStages.Add(new NetFieldStageData() { StageId = req.StageId });
user.FieldInfo[GetChapterForStageId(req.StageId)].CompletedStages.Add(new NetFieldStageData() { StageId = req.StageId });
JsonDb.Save();
}
WriteData(response);
}
public static int GetChapterForStageId(int stageId)
{
if (6000001 <= stageId && stageId <= 6000003)
{
return 0;
}
else if (6001001 <= stageId && stageId <= 6001004)
{
return 1;
}
else
{
Logger.Error("Unknown stage id: " + stageId);
return 100;
}
}
}
}