11using System . Buffers . Binary ;
2+ using System . Text . Json ;
23using SharedProject . Models ;
34using SharedProject . Models . Responses ;
45using SharedProject . Utils ;
56using TaikoLocalServer . Services ;
67using TaikoLocalServer . Services . Interfaces ;
8+ using Throw ;
79
810namespace TaikoLocalServer . Controllers . Api ;
911
@@ -28,6 +30,10 @@ public async Task<ActionResult<UserSetting>> GetUserSetting(uint baid)
2830 return NotFound ( ) ;
2931 }
3032
33+ var costumeData = JsonHelper . GetCostumeDataFromUserData ( user , Logger ) ;
34+
35+ var costumeUnlockData = JsonHelper . GetCostumeUnlockDataFromUserData ( user , Logger ) ;
36+
3137 var response = new UserSetting
3238 {
3339 AchievementDisplayDifficulty = user . AchievementDisplayDifficulty ,
@@ -40,7 +46,20 @@ public async Task<ActionResult<UserSetting>> GetUserSetting(uint baid)
4046 ToneId = user . SelectedToneId ,
4147 MyDonName = user . MyDonName ,
4248 Title = user . Title ,
43- TitlePlateId = user . TitlePlateId
49+ TitlePlateId = user . TitlePlateId ,
50+ Kigurumi = costumeData [ 0 ] ,
51+ Head = costumeData [ 1 ] ,
52+ Body = costumeData [ 2 ] ,
53+ Face = costumeData [ 3 ] ,
54+ Puchi = costumeData [ 4 ] ,
55+ UnlockedKigurumi = costumeUnlockData [ 0 ] ,
56+ UnlockedHead = costumeUnlockData [ 1 ] ,
57+ UnlockedBody = costumeUnlockData [ 2 ] ,
58+ UnlockedFace = costumeUnlockData [ 3 ] ,
59+ UnlockedPuchi = costumeUnlockData [ 4 ] ,
60+ BodyColor = user . ColorBody ,
61+ FaceColor = user . ColorFace ,
62+ LimbColor = user . ColorLimb
4463 } ;
4564 return Ok ( response ) ;
4665 }
@@ -55,6 +74,15 @@ public async Task<IActionResult> SaveUserSetting(uint baid, UserSetting userSett
5574 return NotFound ( ) ;
5675 }
5776
77+ var costumes = new List < uint >
78+ {
79+ userSetting . Kigurumi ,
80+ userSetting . Head ,
81+ userSetting . Body ,
82+ userSetting . Face ,
83+ userSetting . Puchi ,
84+ } ;
85+
5886 user . IsSkipOn = userSetting . IsSkipOn ;
5987 user . IsVoiceOn = userSetting . IsVoiceOn ;
6088 user . DisplayAchievement = userSetting . IsDisplayAchievement ;
@@ -66,6 +94,11 @@ public async Task<IActionResult> SaveUserSetting(uint baid, UserSetting userSett
6694 user . MyDonName = userSetting . MyDonName ;
6795 user . Title = userSetting . Title ;
6896 user . TitlePlateId = userSetting . TitlePlateId ;
97+ user . ColorBody = userSetting . BodyColor ;
98+ user . ColorFace = userSetting . FaceColor ;
99+ user . ColorLimb = userSetting . LimbColor ;
100+ user . CostumeData = JsonSerializer . Serialize ( costumes ) ;
101+
69102
70103 await userDatumService . UpdateUserDatum ( user ) ;
71104
0 commit comments