mirror of
https://github.com/EpinelPS/EpinelPS.git
synced 2025-12-12 15:04:36 +01:00
add new synchro slots, fix synchro state not saving
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
using EpinelPS.Utils;
|
||||
using EpinelPS.Database;
|
||||
using EpinelPS.Utils;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
@@ -48,6 +49,9 @@ namespace EpinelPS.LobbyServer.Character
|
||||
{
|
||||
response.Slots.Add(new NetSynchroSlot() { Slot = item.Slot, AvailableRegisterAt = item.AvailableAt, Csn = item.CharacterSerialNumber });
|
||||
}
|
||||
|
||||
JsonDb.Save();
|
||||
|
||||
await WriteDataAsync(response);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using EpinelPS.Utils;
|
||||
using EpinelPS.Database;
|
||||
using EpinelPS.Utils;
|
||||
|
||||
namespace EpinelPS.LobbyServer.Character
|
||||
{
|
||||
@@ -41,6 +42,7 @@ namespace EpinelPS.LobbyServer.Character
|
||||
}
|
||||
}
|
||||
|
||||
JsonDb.Save();
|
||||
|
||||
await WriteDataAsync(response);
|
||||
}
|
||||
|
||||
49
EpinelPS/LobbyServer/Character/SynchroAddSlot.cs
Normal file
49
EpinelPS/LobbyServer/Character/SynchroAddSlot.cs
Normal file
@@ -0,0 +1,49 @@
|
||||
using EpinelPS.Database;
|
||||
using EpinelPS.Utils;
|
||||
|
||||
namespace EpinelPS.LobbyServer.Character
|
||||
{
|
||||
[PacketPath("/character/synchrodevice/addslot")]
|
||||
public class SynchroAddSlot : LobbyMsgHandler
|
||||
{
|
||||
protected override async Task HandleAsync()
|
||||
{
|
||||
var req = await ReadData<ReqSynchroAddSlot>();
|
||||
var user = GetUser();
|
||||
var response = new ResSynchroAddSlot();
|
||||
|
||||
var slot = user.SynchroSlots.FirstOrDefault(x => x.Slot == req.Slot);
|
||||
if (slot != null)
|
||||
{
|
||||
response.Slot = new NetSynchroSlot
|
||||
{
|
||||
Csn = slot.CharacterSerialNumber,
|
||||
Slot = slot.Slot,
|
||||
AvailableRegisterAt = slot.AvailableAt
|
||||
};
|
||||
}
|
||||
else
|
||||
{
|
||||
var newSlot = new NetSynchroSlot
|
||||
{
|
||||
Csn = 0,
|
||||
Slot = req.Slot,
|
||||
AvailableRegisterAt = 0
|
||||
};
|
||||
|
||||
user.SynchroSlots.Add(new SynchroSlot()
|
||||
{
|
||||
Slot = newSlot.Slot,
|
||||
CharacterSerialNumber = newSlot.Csn,
|
||||
AvailableAt = newSlot.AvailableRegisterAt
|
||||
});
|
||||
|
||||
response.Slot = newSlot;
|
||||
}
|
||||
|
||||
JsonDb.Save();
|
||||
|
||||
await WriteDataAsync(response);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user