Prebuilt deck purchasing and fixes
This commit is contained in:
@@ -92,7 +92,18 @@ public class DeckController : SVSimController
|
||||
private async Task<DeckListResponse> BuildDeckListResponseAsync(long viewerId, Format requestFormat)
|
||||
{
|
||||
var defaultDecks = await _globalsRepository.GetDefaultDecks();
|
||||
var leaderSkinSettings = await _globalsRepository.GetDefaultLeaderSkinSettings();
|
||||
|
||||
// user_leader_skin_setting_list is PER-VIEWER (the wire `user_` prefix is honest, despite
|
||||
// the misleading docstring on DefaultLeaderSkinSetting). Source it from the viewer's
|
||||
// ViewerClassData rows, matching how /load/index's user_class_list reads them. The global
|
||||
// DefaultLeaderSkinSettings table is now used only as initial seed values for fresh
|
||||
// viewers (ViewerRepository.RegisterViewer); the per-class current skin is on
|
||||
// viewer.Classes[i].LeaderSkin and gets mutated by /leader_skin/update.
|
||||
var viewerClasses = await _dbContext.Viewers
|
||||
.Where(v => v.Id == viewerId)
|
||||
.SelectMany(v => v.Classes)
|
||||
.Select(c => new { c.Class.Id, LeaderSkinId = c.LeaderSkin.Id })
|
||||
.ToListAsync();
|
||||
|
||||
var response = new DeckListResponse
|
||||
{
|
||||
@@ -112,13 +123,13 @@ public class DeckController : SVSimController
|
||||
IsAvailableDeck = 1,
|
||||
MaintenanceCardIds = new(),
|
||||
}),
|
||||
UserLeaderSkinSettingList = leaderSkinSettings.ToDictionary(
|
||||
s => s.Id.ToString(),
|
||||
s => new DefaultLeaderSkinSetting
|
||||
UserLeaderSkinSettingList = viewerClasses.ToDictionary(
|
||||
vc => vc.Id.ToString(),
|
||||
vc => new DefaultLeaderSkinSetting
|
||||
{
|
||||
ClassId = s.ClassId,
|
||||
IsRandomLeaderSkin = s.IsRandomLeaderSkin,
|
||||
LeaderSkinId = s.LeaderSkinId,
|
||||
ClassId = vc.Id,
|
||||
IsRandomLeaderSkin = 0, // random-skin mode (per-class shuffle pool) not yet persisted
|
||||
LeaderSkinId = vc.LeaderSkinId,
|
||||
}),
|
||||
MaintenanceCardList = new(), // sourced from same place as /load/index when wired
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user