mirror of
https://github.com/EpinelPS/EpinelPS.git
synced 2025-12-16 00:44:36 +01:00
33 lines
897 B
C#
33 lines
897 B
C#
using EpinelPS.Database;
|
|
using EpinelPS.Data;
|
|
using EpinelPS.Utils;
|
|
|
|
namespace EpinelPS.LobbyServer.LobbyUser
|
|
{
|
|
[PacketPath("/User/SetScenarioComplete")]
|
|
public class SetScenarioCompleted : LobbyMsgHandler
|
|
{
|
|
protected override async Task HandleAsync()
|
|
{
|
|
var req = await ReadData<ReqSetScenarioComplete>();
|
|
var user = GetUser();
|
|
|
|
var response = new ResSetScenarioComplete
|
|
{
|
|
Reward = new NetRewardData()
|
|
};
|
|
|
|
user.CompletedScenarios.Add(req.ScenarioId);
|
|
|
|
if (GameData.Instance.ScenarioRewards.TryGetValue(req.ScenarioId, out ScenarioRewardRecord? record))
|
|
{
|
|
response.Reward = RewardUtils.RegisterRewardsForUser(user, record.reward_id);
|
|
}
|
|
|
|
JsonDb.Save();
|
|
|
|
await WriteDataAsync(response);
|
|
}
|
|
}
|
|
}
|