mirror of
https://github.com/EpinelPS/EpinelPS.git
synced 2025-12-12 15:04:36 +01:00
implement GetFieldObjectsCount, MarkNoticeRead
This commit is contained in:
@@ -502,7 +502,7 @@ namespace EpinelPS.StaticInfo
|
|||||||
{
|
{
|
||||||
this.towerTable.Add(obj.id, obj);
|
this.towerTable.Add(obj.id, obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
var triggerTable = await LoadZip<TriggerTable>("TriggerTable.json", progress);
|
var triggerTable = await LoadZip<TriggerTable>("TriggerTable.json", progress);
|
||||||
foreach (var obj in triggerTable.records)
|
foreach (var obj in triggerTable.records)
|
||||||
{
|
{
|
||||||
@@ -579,6 +579,33 @@ namespace EpinelPS.StaticInfo
|
|||||||
}
|
}
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
public string? GetMapIdFromDBFieldName(string field)
|
||||||
|
{
|
||||||
|
// Get game map ID from DB Field Name (ex: 1_Normal for chapter 1 normal)
|
||||||
|
string[] keys = field.Split("_");
|
||||||
|
if (int.TryParse(keys[0], out int chapterNum))
|
||||||
|
{
|
||||||
|
string difficulty = keys[1];
|
||||||
|
|
||||||
|
foreach (var item in chapterCampaignData)
|
||||||
|
{
|
||||||
|
if (difficulty == "Normal" && item.Value.chapter == chapterNum)
|
||||||
|
{
|
||||||
|
return item.Value.field_id;
|
||||||
|
}
|
||||||
|
else if (difficulty == "Hard" && item.Value.chapter == chapterNum)
|
||||||
|
{
|
||||||
|
return item.Value.hard_field_id;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return keys[0]; // Already a Map ID
|
||||||
|
}
|
||||||
|
}
|
||||||
public int GetNormalChapterNumberFromFieldName(string field)
|
public int GetNormalChapterNumberFromFieldName(string field)
|
||||||
{
|
{
|
||||||
foreach (var item in chapterCampaignData)
|
foreach (var item in chapterCampaignData)
|
||||||
|
|||||||
30
EpinelPS/LobbyServer/Campaign/GetFieldObjectsCount.cs
Normal file
30
EpinelPS/LobbyServer/Campaign/GetFieldObjectsCount.cs
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
using EpinelPS.Database;
|
||||||
|
using EpinelPS.LobbyServer.Stage;
|
||||||
|
using EpinelPS.StaticInfo;
|
||||||
|
using EpinelPS.Utils;
|
||||||
|
|
||||||
|
namespace EpinelPS.LobbyServer.Campaign
|
||||||
|
{
|
||||||
|
[PacketPath("/campaign/getfieldobjectitemsnum")]
|
||||||
|
public class GetFieldObjectsCount : LobbyMsgHandler
|
||||||
|
{
|
||||||
|
protected override async Task HandleAsync()
|
||||||
|
{
|
||||||
|
var req = await ReadData<ReqGetCampaignFieldObjectItemsNum>();
|
||||||
|
var user = GetUser();
|
||||||
|
|
||||||
|
var response = new ResGetCampaignFieldObjectItemsNum();
|
||||||
|
|
||||||
|
foreach (var map in user.FieldInfoNew)
|
||||||
|
{
|
||||||
|
response.FieldObjectItemsNum.Add(new NetCampaignFieldObjectItemsNum()
|
||||||
|
{
|
||||||
|
MapId = GameData.Instance.GetMapIdFromDBFieldName(map.Key),
|
||||||
|
Count = map.Value.CompletedObjects.Count
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
await WriteDataAsync(response);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
20
EpinelPS/LobbyServer/LobbyUser/MarkNoticeRead.cs
Normal file
20
EpinelPS/LobbyServer/LobbyUser/MarkNoticeRead.cs
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
using EpinelPS.Utils;
|
||||||
|
using EpinelPS.StaticInfo; // For GameData access
|
||||||
|
|
||||||
|
namespace EpinelPS.LobbyServer.LobbyUser
|
||||||
|
{
|
||||||
|
[PacketPath("/record/notice")]
|
||||||
|
public class MarkNoticeRead : LobbyMsgHandler
|
||||||
|
{
|
||||||
|
protected override async Task HandleAsync()
|
||||||
|
{
|
||||||
|
var req = await ReadData<ReqRecordNoticeLog>();
|
||||||
|
var r = new ResRecordNoticeLog();
|
||||||
|
var user = GetUser();
|
||||||
|
|
||||||
|
// TODO
|
||||||
|
|
||||||
|
await WriteDataAsync(r);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Avalonia.Desktop" Version="11.2.4" />
|
<PackageReference Include="Avalonia.Desktop" Version="11.2.6" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -12,11 +12,11 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Avalonia" Version="11.2.4" />
|
<PackageReference Include="Avalonia" Version="11.2.6" />
|
||||||
<PackageReference Include="Avalonia.Fonts.Inter" Version="11.2.4" />
|
<PackageReference Include="Avalonia.Fonts.Inter" Version="11.2.6" />
|
||||||
<!--Condition below is needed to remove Avalonia.Diagnostics package from build output in Release configuration.-->
|
<!--Condition below is needed to remove Avalonia.Diagnostics package from build output in Release configuration.-->
|
||||||
<PackageReference Condition="'$(Configuration)' == 'Debug'" Include="Avalonia.Diagnostics" Version="11.2.4" />
|
<PackageReference Condition="'$(Configuration)' == 'Debug'" Include="Avalonia.Diagnostics" Version="11.2.6" />
|
||||||
<PackageReference Include="FluentAvaloniaUI" Version="2.2.0" />
|
<PackageReference Include="FluentAvaloniaUI" Version="2.3.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
Reference in New Issue
Block a user