mirror of
https://github.com/EpinelPS/EpinelPS.git
synced 2025-12-13 15:34:36 +01:00
add nickname support, try to fix campaign stage save
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
using nksrv.Utils;
|
||||
using nksrv.LobbyServer.Msgs.Stage;
|
||||
using nksrv.Utils;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
@@ -18,7 +19,7 @@ namespace nksrv.LobbyServer.Msgs.Campaign
|
||||
Console.WriteLine("Map ID: " + req.MapId);
|
||||
|
||||
var response = new ResGetCampaignFieldData();
|
||||
response.Field = new NetFieldObjectData();
|
||||
response.Field = GetStage.CreateFieldInfo(user, 0); // TODO dont hardcode chapter
|
||||
|
||||
// todo save this data
|
||||
response.Team = new NetUserTeamData() { LastContentsTeamNumber = 1, Type = 1 };
|
||||
@@ -36,7 +37,7 @@ namespace nksrv.LobbyServer.Msgs.Campaign
|
||||
|
||||
response.Json = resultingJson;
|
||||
|
||||
|
||||
|
||||
WriteData(response);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,21 +17,16 @@ namespace nksrv.LobbyServer.Msgs.Stage
|
||||
var response = new ResCheckStageClear();
|
||||
var user = GetUser();
|
||||
|
||||
foreach (var stageIds in req.StageIds)
|
||||
foreach (var fields in user.FieldInfo)
|
||||
{
|
||||
foreach (var fields in user.FieldInfo)
|
||||
foreach (var stages in fields.Value.CompletedStages)
|
||||
{
|
||||
foreach (var stages in fields.Value.CompletedStages)
|
||||
{
|
||||
if (stages.StageId == stageIds)
|
||||
{
|
||||
response.ClearedStageIds.Add(stages.StageId);
|
||||
}
|
||||
}
|
||||
response.ClearedStageIds.Add(stages.StageId);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
WriteData(response);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,8 @@ using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static Google.Rpc.Context.AttributeContext.Types;
|
||||
using static System.Net.Mime.MediaTypeNames;
|
||||
|
||||
namespace nksrv.LobbyServer.Msgs.Stage
|
||||
{
|
||||
@@ -16,39 +18,42 @@ namespace nksrv.LobbyServer.Msgs.Stage
|
||||
var user = GetUser();
|
||||
|
||||
var response = new ResGetStageData();
|
||||
response.Field = new NetFieldObjectData();
|
||||
response.Field = CreateFieldInfo(user, req.Chapter);
|
||||
|
||||
|
||||
|
||||
response.SquadData = "";
|
||||
|
||||
// locate chapter
|
||||
response.Field.Stages.Clear();
|
||||
WriteData(response);
|
||||
}
|
||||
|
||||
public static NetFieldObjectData CreateFieldInfo(Utils.User user, int chapter)
|
||||
{
|
||||
var f = new NetFieldObjectData();
|
||||
bool found = false;
|
||||
|
||||
retry:
|
||||
foreach (var item in user.FieldInfo)
|
||||
{
|
||||
if (item.Key == req.Chapter)
|
||||
if (item.Key == chapter)
|
||||
{
|
||||
found = true;
|
||||
foreach (var stage in item.Value.CompletedStages)
|
||||
{
|
||||
response.Field.Stages.Add(stage);
|
||||
f.Stages.Add(stage);
|
||||
}
|
||||
response.HasChapterBossEntered = item.Value.BossEntered;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!found)
|
||||
{
|
||||
Console.WriteLine("chapter not found: " + req.Chapter);
|
||||
Console.WriteLine("chapter not found: " + chapter);
|
||||
|
||||
user.FieldInfo.Add(req.Chapter, new FieldInfo());
|
||||
goto retry;
|
||||
user.FieldInfo.Add(chapter, new FieldInfo());
|
||||
return CreateFieldInfo(user, chapter);
|
||||
}
|
||||
|
||||
|
||||
response.SquadData = "";
|
||||
|
||||
|
||||
WriteData(response);
|
||||
return f;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@ namespace nksrv.LobbyServer.Msgs.User
|
||||
response.User.Icon = 39900;
|
||||
response.User.LobbyJukebox = 2;
|
||||
response.ResetHour = 20;
|
||||
response.Nickname = "USER11143417";
|
||||
response.Nickname = user.Nickname;
|
||||
response.OutpostBattleTime = new NetOutpostBattleTime() { MaxBattleTime = 864000000000 ,MaxOverBattleTime = 12096000000000 };
|
||||
response.RepresentationTeam = new NetWholeUserTeamData() { TeamNumber = 1, Type = 2};
|
||||
response.RepresentationTeam.Slots.Add(new NetWholeTeamSlot() { Slot = 1 });
|
||||
|
||||
26
nksrv/LobbyServer/Msgs/User/SetNickname.cs
Normal file
26
nksrv/LobbyServer/Msgs/User/SetNickname.cs
Normal 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.User
|
||||
{
|
||||
[PacketPath("/user/setnickname")]
|
||||
public class SetNickname : LobbyMsgHandler
|
||||
{
|
||||
protected override async Task HandleAsync()
|
||||
{
|
||||
var req = await ReadData<ReqSetNickname>();
|
||||
var user = GetUser();
|
||||
user.Nickname = req.Nickname;
|
||||
|
||||
var response = new ResSetNickname();
|
||||
response.Result = SetNicknameResult.NicknameOk;
|
||||
response.Nickname = req.Nickname;
|
||||
|
||||
WriteData(response);
|
||||
}
|
||||
}
|
||||
}
|
||||
22
nksrv/LobbyServer/Msgs/User/Tutorial/SetTutorial.cs
Normal file
22
nksrv/LobbyServer/Msgs/User/Tutorial/SetTutorial.cs
Normal 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.Tutorial
|
||||
{
|
||||
[PacketPath("/tutorial/set")]
|
||||
public class SetTutorial : LobbyMsgHandler
|
||||
{
|
||||
protected override async Task HandleAsync()
|
||||
{
|
||||
var req = await ReadData<ReqSetTutorial>();
|
||||
|
||||
Console.WriteLine("TODO - clear tutorial with tid: " + req.LastClearedTid);
|
||||
var response = new ResSetTutorial();
|
||||
WriteData(response);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -53,6 +53,7 @@ namespace nksrv
|
||||
.WithModule(new ActionModule("/prdenv/", HttpVerbs.Any, HandleAsset))
|
||||
.WithModule(new ActionModule("/account/", HttpVerbs.Any, IntlHandler.Handle))
|
||||
.WithModule(new ActionModule("/data/", HttpVerbs.Any, HandleDataEndpoint))
|
||||
.WithModule(new ActionModule("/media/", HttpVerbs.Any, HandleAsset))
|
||||
.WithModule(new ActionModule("/$batch", HttpVerbs.Any, HandleBatchRequests));
|
||||
|
||||
// Listen for state changes.
|
||||
|
||||
@@ -994,4 +994,26 @@ message ResSaveCampaignField{
|
||||
message ReqGetFieldTalkList {}
|
||||
message ResGetFieldTalkList {
|
||||
repeated string fieldTalkList = 2;
|
||||
}
|
||||
|
||||
message ReqSetTutorial {
|
||||
int32 lastClearedTid = 2;
|
||||
}
|
||||
|
||||
message ResSetTutorial {
|
||||
|
||||
}
|
||||
|
||||
enum SetNicknameResult {
|
||||
NicknameOk = 0;
|
||||
Inappropriate = 1;
|
||||
}
|
||||
|
||||
message ReqSetNickname {
|
||||
string nickname = 2;
|
||||
}
|
||||
message ResSetNickname {
|
||||
SetNicknameResult result = 1;
|
||||
string nickname = 2;
|
||||
repeated NetUserCurrencyData currencies = 3;
|
||||
}
|
||||
@@ -37,6 +37,7 @@ namespace nksrv.Utils
|
||||
public ulong ID;
|
||||
public long RegisterTime;
|
||||
public int LastStageCleared;
|
||||
public string Nickname = "SomePLayer";
|
||||
|
||||
|
||||
// Game data
|
||||
|
||||
Reference in New Issue
Block a user