mirror of
https://github.com/EpinelPS/EpinelPS.git
synced 2025-12-13 15:34:36 +01:00
Fix music saving
This commit is contained in:
@@ -115,6 +115,14 @@ namespace EpinelPS.Database
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class JukeBoxSetting
|
||||||
|
{
|
||||||
|
public NetJukeboxLocation Location;
|
||||||
|
public NetJukeboxBgmType Type;
|
||||||
|
public int TableId;
|
||||||
|
|
||||||
|
}
|
||||||
public class User
|
public class User
|
||||||
{
|
{
|
||||||
// User info
|
// User info
|
||||||
@@ -154,7 +162,14 @@ namespace EpinelPS.Database
|
|||||||
public List<Character> Characters = [];
|
public List<Character> Characters = [];
|
||||||
public NetWholeUserTeamData RepresentationTeamData = new();
|
public NetWholeUserTeamData RepresentationTeamData = new();
|
||||||
public Dictionary<int, ClearedTutorialData> ClearedTutorialData = [];
|
public Dictionary<int, ClearedTutorialData> ClearedTutorialData = [];
|
||||||
|
|
||||||
public NetWallpaperData[] WallpaperList = [];
|
public NetWallpaperData[] WallpaperList = [];
|
||||||
|
public NetWallpaperBackground[] WallpaperBackground = [];
|
||||||
|
public NetWallpaperJukeboxFavorite[] WallpaperFavoriteList = [];
|
||||||
|
public NetWallpaperPlaylist[] WallpaperPlaylistList = [];
|
||||||
|
public NetWallpaperJukebox[] WallpaperJukeboxList = [];
|
||||||
|
|
||||||
|
|
||||||
public Dictionary<int, NetUserTeamData> UserTeams = new Dictionary<int, NetUserTeamData>();
|
public Dictionary<int, NetUserTeamData> UserTeams = new Dictionary<int, NetUserTeamData>();
|
||||||
public Dictionary<int, bool> MainQuestData = new();
|
public Dictionary<int, bool> MainQuestData = new();
|
||||||
public int InfraCoreExp = 0;
|
public int InfraCoreExp = 0;
|
||||||
@@ -173,6 +188,9 @@ namespace EpinelPS.Database
|
|||||||
|
|
||||||
public Dictionary<int, int> TowerProgress = new Dictionary<int, int>();
|
public Dictionary<int, int> TowerProgress = new Dictionary<int, int>();
|
||||||
|
|
||||||
|
public JukeBoxSetting LobbyMusic = new() { Location = NetJukeboxLocation.NetJukeboxLocationLobby, TableId = 2, Type = NetJukeboxBgmType.NetJukeboxBgmTypeJukeboxTableId};
|
||||||
|
public JukeBoxSetting CommanderMusic = new() { Location = NetJukeboxLocation.NetJukeboxLocationCommanderRoom, TableId = 5, Type = NetJukeboxBgmType.NetJukeboxBgmTypeJukeboxTableId };
|
||||||
|
|
||||||
// Event data
|
// Event data
|
||||||
public Dictionary<int, EventData> EventInfo = new();
|
public Dictionary<int, EventData> EventInfo = new();
|
||||||
|
|
||||||
|
|||||||
@@ -48,6 +48,7 @@ namespace EpinelPS.LobbyServer
|
|||||||
|
|
||||||
if (handler == null)
|
if (handler == null)
|
||||||
{
|
{
|
||||||
|
Console.WriteLine("404: " + path);
|
||||||
ctx.Response.StatusCode = 404;
|
ctx.Response.StatusCode = 404;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
31
EpinelPS/LobbyServer/Msgs/Jukebox/SetTableId.cs
Normal file
31
EpinelPS/LobbyServer/Msgs/Jukebox/SetTableId.cs
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
using EpinelPS.Database;
|
||||||
|
using EpinelPS.Utils;
|
||||||
|
|
||||||
|
namespace EpinelPS.LobbyServer.Msgs.Jukebox
|
||||||
|
{
|
||||||
|
[PacketPath("/jukebox/set/tableid")]
|
||||||
|
public class SetTableId : LobbyMsgHandler
|
||||||
|
{
|
||||||
|
protected override async Task HandleAsync()
|
||||||
|
{
|
||||||
|
var req = await ReadData<ReqSetJukeboxBgmTableId>();
|
||||||
|
var user = GetUser();
|
||||||
|
|
||||||
|
var response = new ResSetJukeboxBgmTableId();
|
||||||
|
|
||||||
|
if (req.Location == NetJukeboxLocation.NetJukeboxLocationCommanderRoom)
|
||||||
|
{
|
||||||
|
user.CommanderMusic.TableId = req.JukeboxTableId;
|
||||||
|
user.CommanderMusic.Type = NetJukeboxBgmType.NetJukeboxBgmTypeJukeboxTableId;
|
||||||
|
}
|
||||||
|
else if (req.Location == NetJukeboxLocation.NetJukeboxLocationLobby)
|
||||||
|
{
|
||||||
|
user.LobbyMusic.TableId = req.JukeboxTableId;
|
||||||
|
user.LobbyMusic.Type = NetJukeboxBgmType.NetJukeboxBgmTypeJukeboxTableId;
|
||||||
|
}
|
||||||
|
JsonDb.Save();
|
||||||
|
|
||||||
|
await WriteDataAsync(response);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -21,7 +21,7 @@ namespace EpinelPS.LobbyServer.Msgs.Outpost
|
|||||||
{
|
{
|
||||||
OutpostBattleLevel = user.OutpostBattleLevel,
|
OutpostBattleLevel = user.OutpostBattleLevel,
|
||||||
Jukebox = new() { SelectTid = 5 },
|
Jukebox = new() { SelectTid = 5 },
|
||||||
JukeboxV2 = new NetUserJukeboxDataV2() { CommandBgm = new() { Type = NetJukeboxBgmType.NetJukeboxBgmTypeJukeboxTableId, JukeboxTableId = JsonDb.CurrentJukeboxBgm(2) } },
|
JukeboxV2 = new NetUserJukeboxDataV2() { CommandBgm = new() { Type = NetJukeboxBgmType.NetJukeboxBgmTypeJukeboxTableId, JukeboxTableId = user.CommanderMusic.TableId } },
|
||||||
BattleTime = 864000000000,
|
BattleTime = 864000000000,
|
||||||
MaxBattleTime = 864000000000,
|
MaxBattleTime = 864000000000,
|
||||||
SkinGroupId = 1000,
|
SkinGroupId = 1000,
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ namespace EpinelPS.LobbyServer.Msgs.User
|
|||||||
response.OutpostBattleLevel = user.OutpostBattleLevel;
|
response.OutpostBattleLevel = user.OutpostBattleLevel;
|
||||||
response.OutpostBattleTime = new NetOutpostBattleTime() { MaxBattleTime = 864000000000, MaxOverBattleTime = 12096000000000, BattleTime = battleTimeMs };
|
response.OutpostBattleTime = new NetOutpostBattleTime() { MaxBattleTime = 864000000000, MaxOverBattleTime = 12096000000000, BattleTime = battleTimeMs };
|
||||||
|
|
||||||
response.JukeboxV2 = new NetUserJukeboxDataV2() {CommandBgm = new NetJukeboxBgm() { JukeboxTableId = JsonDb.CurrentJukeboxBgm(2), Type = NetJukeboxBgmType.NetJukeboxBgmTypeJukeboxTableId, Location = NetJukeboxLocation.NetJukeboxLocationCommanderRoom } };
|
response.JukeboxV2 = new NetUserJukeboxDataV2() { CommandBgm = new NetJukeboxBgm() { JukeboxTableId = user.CommanderMusic.TableId, Type = NetJukeboxBgmType.NetJukeboxBgmTypeJukeboxTableId, Location = NetJukeboxLocation.NetJukeboxLocationCommanderRoom } };
|
||||||
|
|
||||||
// Add default slot data
|
// Add default slot data
|
||||||
if (user.RepresentationTeamData.Slots.Count == 0)
|
if (user.RepresentationTeamData.Slots.Count == 0)
|
||||||
|
|||||||
@@ -39,8 +39,8 @@ namespace EpinelPS.LobbyServer.Msgs.User
|
|||||||
response.User.Tutorials.Add(new NetTutorialData() { GroupId = groupId, LastClearedTid = item.Key, LastClearedVersion = version });
|
response.User.Tutorials.Add(new NetTutorialData() { GroupId = groupId, LastClearedTid = item.Key, LastClearedVersion = version });
|
||||||
}
|
}
|
||||||
|
|
||||||
response.CommanderRoomJukeboxBgm = new NetJukeboxBgm() { JukeboxTableId = JsonDb.CurrentJukeboxBgm(2), Type = NetJukeboxBgmType.NetJukeboxBgmTypeJukeboxTableId, Location = NetJukeboxLocation.NetJukeboxLocationCommanderRoom };
|
response.CommanderRoomJukeboxBgm = new NetJukeboxBgm() { JukeboxTableId = user.CommanderMusic.TableId, Type = NetJukeboxBgmType.NetJukeboxBgmTypeJukeboxTableId, Location = NetJukeboxLocation.NetJukeboxLocationCommanderRoom };
|
||||||
response.LobbyJukeboxBgm = new NetJukeboxBgm() { JukeboxTableId = JsonDb.CurrentJukeboxBgm(1), Type = NetJukeboxBgmType.NetJukeboxBgmTypeJukeboxTableId, Location = NetJukeboxLocation.NetJukeboxLocationLobby };
|
response.LobbyJukeboxBgm = new NetJukeboxBgm() { JukeboxTableId = user.LobbyMusic.TableId, Type = NetJukeboxBgmType.NetJukeboxBgmTypeJukeboxTableId, Location = NetJukeboxLocation.NetJukeboxLocationLobby };
|
||||||
|
|
||||||
await WriteDataAsync(response);
|
await WriteDataAsync(response);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,16 @@ namespace EpinelPS.LobbyServer.Msgs.User
|
|||||||
{
|
{
|
||||||
var req = await ReadData<ReqGetWallpaper>();
|
var req = await ReadData<ReqGetWallpaper>();
|
||||||
var response = new ResGetWallpaper();
|
var response = new ResGetWallpaper();
|
||||||
response.WallpaperList.AddRange(GetUser().WallpaperList);
|
var user = GetUser();
|
||||||
|
|
||||||
|
|
||||||
|
response.WallpaperList.AddRange(user.WallpaperList);
|
||||||
|
response.WallpaperPlaylistList.AddRange(user.WallpaperPlaylistList);
|
||||||
|
response.WallpaperJukeboxList.AddRange(user.WallpaperJukeboxList);
|
||||||
|
response.WallpaperBackgroundList.AddRange(user.WallpaperBackground);
|
||||||
|
response.WallpaperFavoriteList.AddRange(user.WallpaperFavoriteList);
|
||||||
|
|
||||||
|
// TODO: JukeboxIdList
|
||||||
|
|
||||||
await WriteDataAsync(response);
|
await WriteDataAsync(response);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
using EpinelPS.Utils;
|
using EpinelPS.Database;
|
||||||
|
using EpinelPS.Utils;
|
||||||
|
|
||||||
namespace EpinelPS.LobbyServer.Msgs.User
|
namespace EpinelPS.LobbyServer.Msgs.User
|
||||||
{
|
{
|
||||||
@@ -11,6 +12,12 @@ namespace EpinelPS.LobbyServer.Msgs.User
|
|||||||
var response = new ResSetWallpaper();
|
var response = new ResSetWallpaper();
|
||||||
var user = GetUser();
|
var user = GetUser();
|
||||||
user.WallpaperList = req.WallpaperList.ToArray();
|
user.WallpaperList = req.WallpaperList.ToArray();
|
||||||
|
user.WallpaperBackground = req.WallpaperBackgroundList.ToArray();
|
||||||
|
user.WallpaperFavoriteList = req.WallpaperFavoriteList.ToArray();
|
||||||
|
user.WallpaperPlaylistList = req.WallpaperPlaylistList.ToArray();
|
||||||
|
user.WallpaperJukeboxList = req.WallpaperJukeboxList.ToArray();
|
||||||
|
|
||||||
|
JsonDb.Save();
|
||||||
|
|
||||||
await WriteDataAsync(response);
|
await WriteDataAsync(response);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user