mirror of
https://github.com/EpinelPS/EpinelPS.git
synced 2025-12-13 15:34: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;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
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 });
|
response.Slots.Add(new NetSynchroSlot() { Slot = item.Slot, AvailableRegisterAt = item.AvailableAt, Csn = item.CharacterSerialNumber });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
JsonDb.Save();
|
||||||
|
|
||||||
await WriteDataAsync(response);
|
await WriteDataAsync(response);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
using EpinelPS.Utils;
|
using EpinelPS.Database;
|
||||||
|
using EpinelPS.Utils;
|
||||||
|
|
||||||
namespace EpinelPS.LobbyServer.Character
|
namespace EpinelPS.LobbyServer.Character
|
||||||
{
|
{
|
||||||
@@ -41,6 +42,7 @@ namespace EpinelPS.LobbyServer.Character
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
JsonDb.Save();
|
||||||
|
|
||||||
await WriteDataAsync(response);
|
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