save campaign field object

This commit is contained in:
Mikhail
2024-07-06 14:03:45 -04:00
parent 699bbed3dd
commit 3df70d2dbe
11 changed files with 201 additions and 4 deletions

View File

@@ -0,0 +1,37 @@
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/scenario/complete")]
public class CompleteEventScenario : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<ReqSetEventScenarioComplete>();
var user = GetUser();
if (user.EventInfo.ContainsKey(req.EventID))
{
var evt = user.EventInfo[req.EventID];
evt.CompletedScenarios.Add(req.ScenarioId);
}
else
{
var evt = new EventData();
evt.CompletedScenarios.Add(req.ScenarioId);
user.EventInfo.Add(req.EventID, evt);
}
var response = new ResSetEventScenarioComplete();
// TODO reward
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("/eventfield/enter")]
public class EnterEventField : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<ReqEnterEventField>();
var response = new ResEnterEventField();
// TOOD
WriteData(response);
}
}
}

View File

@@ -0,0 +1,32 @@
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/scenario/get")]
public class GetEventScenario : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<ReqGetEventScenarioData>();
var user = GetUser();
var response = new ResGetEventScenarioData();
if (user.EventInfo.ContainsKey(req.EventID))
{
var evt = user.EventInfo[req.EventID];
response.ScenarioIdList.AddRange(evt.CompletedScenarios);
}
else
{
user.EventInfo.Add(req.EventID, new EventData());
}
WriteData(response);
}
}
}

View File

@@ -89,7 +89,7 @@ namespace nksrv.LobbyServer.Msgs.Event
EventVisibleDate = DateTime.UtcNow.Subtract(TimeSpan.FromDays(1)).Ticks,
EventDisableDate = DateTime.Now.AddDays(20).Ticks,
EventEndDate = DateTime.Now.AddDays(20).Ticks,
EventSystemType = 2
EventSystemType = 22
});
// Aegis the Diver event