mirror of
https://github.com/EpinelPS/EpinelPS.git
synced 2025-12-14 07:55:01 +01:00
campaign UI working
This commit is contained in:
@@ -12,9 +12,29 @@ namespace nksrv.LobbyServer.Msgs.Campaign
|
||||
{
|
||||
protected override async Task HandleAsync()
|
||||
{
|
||||
var req = ReadData<ReqGetCampaignFieldData>();
|
||||
var req = await ReadData<ReqGetCampaignFieldData>();
|
||||
var user = GetUser();
|
||||
|
||||
Console.WriteLine("Map ID: " + req.MapId);
|
||||
|
||||
var response = new ResGetCampaignFieldData();
|
||||
response.Field = new NetFieldObjectData();
|
||||
|
||||
// todo save this data
|
||||
response.Team = new NetUserTeamData() { LastContentsTeamNumber = 1, Type = 1 };
|
||||
|
||||
string resultingJson;
|
||||
if (!user.MapJson.ContainsKey(req.MapId))
|
||||
{
|
||||
resultingJson = "{\"_mapID\":\"" + req.MapId + "\",\"_triggerDataList\":[],\"_interactionActionTriggerDataList\":[],\"_interactionObjectDataList\":[],\"_questObjectDataList\":[],\"_togglePortalDataList\":[],\"_squadDataList\":[{\"UniqueKey\":\"a365d3ab-2961-4eb8-940b-f68629957b48\",\"IsValid\":true,\"TeamType\":1,\"Number\":1,\"Position\":{\"x\":-14.899999618530274,\"y\":0.08333173394203186,\"z\":-3.2200000286102297}}]}";
|
||||
user.MapJson.Add(req.MapId, resultingJson);
|
||||
}
|
||||
else
|
||||
{
|
||||
resultingJson = user.MapJson[req.MapId];
|
||||
}
|
||||
|
||||
|
||||
WriteData(response);
|
||||
}
|
||||
}
|
||||
|
||||
33
nksrv/LobbyServer/Msgs/Campaign/SaveField.cs
Normal file
33
nksrv/LobbyServer/Msgs/Campaign/SaveField.cs
Normal file
@@ -0,0 +1,33 @@
|
||||
using nksrv.Utils;
|
||||
|
||||
namespace nksrv.LobbyServer.Msgs.Campaign
|
||||
{
|
||||
[PacketPath("/campaign/savefield")]
|
||||
public class SaveField : LobbyMsgHandler
|
||||
{
|
||||
protected override async Task HandleAsync()
|
||||
{
|
||||
var req = await ReadData<ReqSaveCampaignField>();
|
||||
var user = GetUser();
|
||||
|
||||
Console.WriteLine("Map ID: " + req.MapId);
|
||||
|
||||
var response = new ResGetFieldTalkList();
|
||||
|
||||
Console.WriteLine($"todo save {req.MapId} with {req.Json}");
|
||||
|
||||
if (!user.MapJson.ContainsKey(req.MapId))
|
||||
{
|
||||
user.MapJson.Add(req.MapId, req.Json);
|
||||
}
|
||||
else
|
||||
{
|
||||
user.MapJson[req.MapId] = req.Json;
|
||||
}
|
||||
|
||||
|
||||
|
||||
WriteData(response);
|
||||
}
|
||||
}
|
||||
}
|
||||
39
nksrv/LobbyServer/Msgs/Stage/CheckCleared.cs
Normal file
39
nksrv/LobbyServer/Msgs/Stage/CheckCleared.cs
Normal file
@@ -0,0 +1,39 @@
|
||||
using nksrv.Utils;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace nksrv.LobbyServer.Msgs.Stage
|
||||
{
|
||||
[PacketPath("/stage/checkclear")]
|
||||
public class CheckCleared : LobbyMsgHandler
|
||||
{
|
||||
protected override async Task HandleAsync()
|
||||
{
|
||||
var req = await ReadData<ReqCheckStageClear>();
|
||||
|
||||
var response = new ResCheckStageClear();
|
||||
var user = GetUser();
|
||||
|
||||
foreach (var stageIds in req.StageIds)
|
||||
{
|
||||
foreach (var fields in user.FieldInfo)
|
||||
{
|
||||
foreach (var stages in fields.Value.CompletedStages)
|
||||
{
|
||||
if (stages.StageId == stageIds)
|
||||
{
|
||||
response.ClearedStageIds.Add(stages.StageId);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
WriteData(response);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -15,13 +15,22 @@ namespace nksrv.LobbyServer.Msgs.Stage
|
||||
var req = await ReadData<ReqClearStage>();
|
||||
|
||||
var response = new ResClearStage();
|
||||
var user = GetUser();
|
||||
|
||||
// TOOD: save to user info
|
||||
Console.WriteLine($"Stage " + req.StageId + " completed, result is " + req.BattleResult);
|
||||
|
||||
if (req.BattleResult == 1)
|
||||
{
|
||||
GetUser().LastStageCleared = req.StageId;
|
||||
user.LastStageCleared = req.StageId;
|
||||
|
||||
if (user.FieldInfo.Count == 0)
|
||||
{
|
||||
user.FieldInfo.Add(0, new FieldInfo() { });
|
||||
}
|
||||
|
||||
// TODO: figure out how stageid corresponds to chapter
|
||||
user.FieldInfo[0].CompletedStages.Add(new NetFieldStageData() { StageId = req.StageId });
|
||||
JsonDb.Save();
|
||||
}
|
||||
|
||||
|
||||
@@ -12,9 +12,41 @@ namespace nksrv.LobbyServer.Msgs.Stage
|
||||
{
|
||||
protected override async Task HandleAsync()
|
||||
{
|
||||
var req = ReadData<ReqGetStageData>();
|
||||
var req = await ReadData<ReqGetStageData>();
|
||||
var user = GetUser();
|
||||
|
||||
var response = new ResGetStageData();
|
||||
response.Field = new NetFieldObjectData();
|
||||
|
||||
// locate chapter
|
||||
bool found = false;
|
||||
|
||||
retry:
|
||||
foreach (var item in user.FieldInfo)
|
||||
{
|
||||
if (item.Key == req.Chapter)
|
||||
{
|
||||
found = true;
|
||||
foreach (var stage in item.Value.CompletedStages)
|
||||
{
|
||||
response.Field.Stages.Add(stage);
|
||||
}
|
||||
response.HasChapterBossEntered = item.Value.BossEntered;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!found)
|
||||
{
|
||||
Console.WriteLine("chapter not found: " + req.Chapter);
|
||||
|
||||
user.FieldInfo.Add(req.Chapter, new FieldInfo());
|
||||
goto retry;
|
||||
}
|
||||
|
||||
|
||||
response.SquadData = "";
|
||||
|
||||
|
||||
WriteData(response);
|
||||
}
|
||||
|
||||
@@ -8,10 +8,10 @@ namespace nksrv.LobbyServer.Msgs.System
|
||||
protected override async Task HandleAsync()
|
||||
{
|
||||
var req = await ReadData<CheckVersionRequest>();
|
||||
var r = new CheckVersionResponse();
|
||||
r.Availability = 0; // None = 0, Available = 1, Mandatory = 2
|
||||
var response = new CheckVersionResponse();
|
||||
response.Availability = 0; // None = 0, Available = 1, Mandatory = 2
|
||||
|
||||
WriteData(r);
|
||||
WriteData(response);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ namespace nksrv.LobbyServer.Msgs.Team
|
||||
// TODO: assume that team data did not change
|
||||
var resp = new ResGetTeamData();
|
||||
//resp.TypeTeams
|
||||
WriteData(req);
|
||||
WriteData(resp);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
24
nksrv/LobbyServer/Msgs/User/GetFieldTalkList.cs
Normal file
24
nksrv/LobbyServer/Msgs/User/GetFieldTalkList.cs
Normal 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.User
|
||||
{
|
||||
[PacketPath("/user/getfieldtalklist")]
|
||||
public class GetFieldTalkList : LobbyMsgHandler
|
||||
{
|
||||
protected override async Task HandleAsync()
|
||||
{
|
||||
var req = await ReadData<ReqGetFieldTalkList>();
|
||||
var user = GetUser();
|
||||
|
||||
var response = new ResGetFieldTalkList();
|
||||
// TODO
|
||||
|
||||
WriteData(response);
|
||||
}
|
||||
}
|
||||
}
|
||||
30
nksrv/LobbyServer/Msgs/User/GetScenarioList.cs
Normal file
30
nksrv/LobbyServer/Msgs/User/GetScenarioList.cs
Normal file
@@ -0,0 +1,30 @@
|
||||
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/GetScenarioList")]
|
||||
public class GetScenarioList : LobbyMsgHandler
|
||||
{
|
||||
protected override async Task HandleAsync()
|
||||
{
|
||||
var req = await ReadData<ReqGetScenarioList>();
|
||||
var user = GetUser();
|
||||
|
||||
// todo what are bookmark scenarios?
|
||||
|
||||
// this returns a list of scenarios that user has completed
|
||||
var response = new ResGetScenarioList();
|
||||
foreach (var item in user.CompletedScenarios)
|
||||
{
|
||||
response.ScenarioList.Add(item);
|
||||
}
|
||||
|
||||
WriteData(response);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user