From a0027c6dddd50629354a6096a5a9b562e4fda65e Mon Sep 17 00:00:00 2001 From: JackYelinek Date: Thu, 1 Sep 2022 19:03:06 -0500 Subject: [PATCH] Added Favorite Songs, properly set Voice and Skip options --- .../Controllers/UserDataController.cs | 27 +++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/TaikoLocalServer/Controllers/UserDataController.cs b/TaikoLocalServer/Controllers/UserDataController.cs index 5d8949c..6cf2c2a 100644 --- a/TaikoLocalServer/Controllers/UserDataController.cs +++ b/TaikoLocalServer/Controllers/UserDataController.cs @@ -1,4 +1,5 @@ using System.Collections; +using System.Text.Json; namespace TaikoLocalServer.Controllers; @@ -53,6 +54,27 @@ public class UserDataController : ControllerBase .Take(10) .ToArray(); + var userData = new UserDatum(); + if (context.UserData.Any(datum => datum.Baid == request.Baid)) + { + userData = context.UserData.First(datum => datum.Baid == request.Baid); + } + + var favoriteSongs = new uint[] { 0 }; + try + { + favoriteSongs = JsonSerializer.Deserialize(userData.FavoriteSongsArray); + } + catch (JsonException e) + { + logger.LogError(e, "Parsing favorite songs json data failed"); + } + if (favoriteSongs == null || favoriteSongs.Length < 1) + { + logger.LogWarning("Favorite songs is null!"); + favoriteSongs = new uint[] { }; + } + var response = new UserDataResponse { Result = 1, @@ -61,10 +83,11 @@ public class UserDataController : ControllerBase ReleaseSongFlg = releaseSongArray, UraReleaseSongFlg = uraSongArray, DefaultOptionSetting = new byte[] {0}, - IsVoiceOn = true, - IsSkipOn = false, + IsVoiceOn = userData.IsVoiceOn, + IsSkipOn = userData.IsSkipOn, IsChallengecompe = false, SongRecentCnt = (uint)recentSongs.Length, + AryFavoriteSongNoes = favoriteSongs, AryRecentSongNoes = recentSongs };