basic event support

This commit is contained in:
Mikhail
2024-07-06 08:53:48 -04:00
parent 6fb82d5fa7
commit 0e193323ad
10 changed files with 316 additions and 21 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("/bookmark/scenario/exist")]
public class CheckBookmarkScenarioExists : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<ReqExistScenarioBookmark>();
var response = new ResExistScenarioBookmark();
// TODO
WriteData(response);
}
}
}

View File

@@ -15,7 +15,9 @@ namespace nksrv.LobbyServer.Msgs.Archive
var req = await ReadData<ReqGetArchiveRecord>(); var req = await ReadData<ReqGetArchiveRecord>();
var response = new ResGetArchiveRecord(); var response = new ResGetArchiveRecord();
// TODO response.ArchiveRecordList.AddRange([100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800]);
response.UnlockedArchiveRecordList.AddRange([100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800]);
// TODO: allow unlocking
WriteData(response); 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.Event
{
[PacketPath("/event/mission/getclear")]
public class GetClearedMissions : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<ReqGetEventMissionClear>();
var response = new ResGetEventMissionClear();
// TODO
WriteData(response);
}
}
}

View File

@@ -8,15 +8,66 @@ using System.Threading.Tasks;
namespace nksrv.LobbyServer.Msgs.Event namespace nksrv.LobbyServer.Msgs.Event
{ {
[PacketPath("/event/getjoinedevent")] [PacketPath("/event/getjoinedevent")]
public class EnterLobbyPing : LobbyMsgHandler public class GetJoinedEvent : LobbyMsgHandler
{ {
protected override async Task HandleAsync() protected override async Task HandleAsync()
{ {
var req = await ReadData<ReqGetJoinedEvent>(); var req = await ReadData<ReqGetJoinedEvent>();
var response = new ResGetJoinedEvent(); var response = new ResGetJoinedEvent();
response.EventWithJoinData.Add(new NetEventWithJoinData()
{
EventData = new NetEventData()
{
Id = 81301,
EventStartDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks,
EventVisibleDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks,
EventDisableDate = DateTime.Now.AddDays(20).Ticks,
EventEndDate = DateTime.Now.AddDays(20).Ticks,
EventSystemType = 34
}
});
// TODO // TODO
response.EventWithJoinData.Add(new NetEventWithJoinData()
{
EventData = new NetEventData()
{
Id = 81400,
EventStartDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks,
EventVisibleDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks,
EventDisableDate = DateTime.Now.AddDays(20).Ticks,
EventEndDate = DateTime.Now.AddDays(20).Ticks,
EventSystemType = 10
}
});
response.EventWithJoinData.Add(new NetEventWithJoinData()
{
EventData = new NetEventData()
{
Id = 81401,
EventStartDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks,
EventVisibleDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks,
EventDisableDate = DateTime.Now.AddDays(20).Ticks,
EventEndDate = DateTime.Now.AddDays(20).Ticks,
EventSystemType = 35
},
JoinAt = 0
});
response.EventWithJoinData.Add(new NetEventWithJoinData()
{
EventData = new NetEventData()
{
Id = 20001,
EventStartDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks,
EventVisibleDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks,
EventDisableDate = DateTime.Now.AddDays(20).Ticks,
EventEndDate = DateTime.Now.AddDays(20).Ticks,
EventSystemType = 1
},
JoinAt = 0
});
WriteData(response); WriteData(response);
} }

View File

@@ -16,48 +16,89 @@ namespace nksrv.LobbyServer.Msgs.Event
var response = new ResGetEventList(); var response = new ResGetEventList();
// TODO: Support events
response.EventList.Add(new NetEventData() response.EventList.Add(new NetEventData()
{ {
Id = 100016, Id = 81301,
EventDisableDate = 1000000000000000, EventDisableDate = 1000000000000000,
EventStartDate = 1, EventStartDate = 1,
EventEndDate = 1000000000000000, EventEndDate = 1000000000000000,
EventVisibleDate = 0, EventVisibleDate = 0,
EventSystemType = 9 EventSystemType = 34
}); });
// TODO: Support events
response.EventList.Add(new NetEventData() response.EventList.Add(new NetEventData()
{ {
Id = 81400, Id = 20001,
EventDisableDate = 638574479990000000, EventDisableDate = 1000000000000000,
EventStartDate = 638556192000000000, EventStartDate = 1,
EventEndDate = 638574479990000000, EventEndDate = 1000000000000000,
EventVisibleDate = 638556192000000000, EventVisibleDate = 0,
EventSystemType = 10 EventSystemType = 1
}); });
// Island Adventure // Island Adventure
response.EventList.Add(new NetEventData() response.EventList.Add(new NetEventData()
{
Id = 81400,
EventStartDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks,
EventVisibleDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks,
EventDisableDate = DateTime.Now.AddDays(20).Ticks,
EventEndDate = DateTime.Now.AddDays(20).Ticks,
EventSystemType = 10
});
response.EventList.Add(new NetEventData()
{ {
Id = 81401, Id = 81401,
EventStartDate = 638556192000000000, EventStartDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks,
EventVisibleDate = 638556192000000000, EventVisibleDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks,
EventDisableDate = 638574479990000000, EventDisableDate = DateTime.Now.AddDays(20).Ticks,
EventEndDate = 638574479990000000, EventEndDate = DateTime.Now.AddDays(20).Ticks,
EventSystemType = 35 EventSystemType = 35
}); });
response.EventList.Add(new NetEventData()
{
Id = 81402,
EventStartDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks,
EventVisibleDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks,
EventDisableDate = DateTime.Now.AddDays(20).Ticks,
EventEndDate = DateTime.Now.AddDays(20).Ticks,
EventSystemType = 11
});
response.EventList.Add(new NetEventData()
{
Id = 81403,
EventStartDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks,
EventVisibleDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks,
EventDisableDate = DateTime.Now.AddDays(20).Ticks,
EventEndDate = DateTime.Now.AddDays(20).Ticks,
EventSystemType = 2
});
response.EventList.Add(new NetEventData()
{
Id = 160011,
EventStartDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks,
EventVisibleDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks,
EventDisableDate = DateTime.Now.AddDays(20).Ticks,
EventEndDate = DateTime.Now.AddDays(20).Ticks,
EventSystemType = 2
});
// Aegis the Diver event // Aegis the Diver event
response.EventList.Add(new NetEventData() response.EventList.Add(new NetEventData()
{ {
Id = 800001, Id = 800001,
EventSystemType = 36, EventSystemType = 36,
EventVisibleDate = 0, EventVisibleDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks,
EventStartDate = 0, EventStartDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks,
EventEndDate = DateTime.Now.AddDays(20).Ticks, EventEndDate = DateTime.Now.AddDays(20).Ticks,
EventDisableDate = DateTime.Now.AddDays(20).Ticks, EventDisableDate = DateTime.Now.AddDays(20).Ticks,
}); });

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.IslandAdventure
{
[PacketPath("/event/minigame/islandadventure/get/fishing/stepupreward")]
public class GetFishingStepUpRewardStatus : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<ReqGetIslandAdventureFishingStepUpRewardStatus>();
var response = new ResGetIslandAdventureFishingStepUpRewardStatus();
// 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.Minigame.IslandAdventure
{
[PacketPath("/event/minigame/islandadventure/get/photo/stepupreward")]
public class GetPhotoStepUpRewardStatus : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<ReqGetIslandAdventurePhotoStepUpRewardStatus>();
var response = new ResGetIslandAdventurePhotoStepUpRewardStatus();
// 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.Minigame.IslandAdventure
{
[PacketPath("/event/minigame/islandadventure/list/mission")]
public class ListMission : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<ReqGetIslandAdventureMissionProgress>();
var response = new ResGetIslandAdventureMissionProgress();
// 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.Minigame.PlaySoda
{
[PacketPath("/event/minigame/playsoda/challenge/getinfo")]
public class GetChallengeInfo : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<ReqGetPlaySodaChallengeModeInfo>();
var response = new ResGetPlaySodaChallengeModeInfo();
// TODO
WriteData(response);
}
}
}

View File

@@ -1996,4 +1996,73 @@ message ReqGetFeatureFlag {
message ResGetFeatureFlag { message ResGetFeatureFlag {
bool IsOpen = 1; bool IsOpen = 1;
}
message NetIslandAdventureMissionProgress {
int64 MissionUid = 1;
int32 MissionTid = 2;
int32 Progress = 3;
google.protobuf.Timestamp CreatedAt = 4;
google.protobuf.Timestamp ReceivedAt = 5;
}
message ReqGetIslandAdventureMissionProgress {
int32 eventId = 1;
}
message ResGetIslandAdventureMissionProgress {
repeated NetIslandAdventureMissionProgress MissionProgressList = 1;
}
message NetEventMissionClearData {
int32 EventId = 1;
int32 EventMissionId = 2;
int64 CreatedAt = 3;
}
message ReqGetEventMissionClear {
int32 eventId = 1;
}
message ResGetEventMissionClear {
repeated NetEventMissionClearData EventMissionClearList = 2;
}
message ReqGetIslandAdventureFishingStepUpRewardStatus {
int32 EventId = 1;
}
message ResGetIslandAdventureFishingStepUpRewardStatus {
repeated int32 fishAccumulatedScore = 1;
repeated int32 fishStepUpRewardedStep = 2;
}
message ReqGetIslandAdventurePhotoStepUpRewardStatus {
int32 EventId = 1;
}
message ResGetIslandAdventurePhotoStepUpRewardStatus {
int32 photoAccumulatedScore = 1;
repeated int32 PhotoStepUpRewardedStep = 2;
}
message ReqGetPlaySodaChallengeModeInfo {
int32 EventId = 1;
}
message NetPlaySodaEachGameInfo{
int32 challengeStageId = 1;
int32 userRank = 2;
int32 userMaxScoreInUnion = 3;
int64 accumulatedScore = 4;
bool canReceivePointReward = 5;
bool isInGuild = 6;
int32 lastRewardStep = 7;
}
message ResGetPlaySodaChallengeModeInfo {
bool hasReceivedDailyReward = 1;
repeated NetPlaySodaEachGameInfo playSodaEachGameInfoList = 2;
NetWholeUserData wholeUser = 3;
}
message ReqExistScenarioBookmark {
repeated string bookmarkList = 1;
}
message ResExistScenarioBookmark {
repeated string existingBookmarkList = 1;
} }