Class leader fixes

This commit is contained in:
gamer147
2026-05-26 10:01:37 -04:00
parent b6966ece6e
commit 9090086a47
12 changed files with 2861 additions and 81 deletions

View File

@@ -68,7 +68,6 @@ public class GlobalsImporter
if (deckInfo.HasValue)
{
total += await ImportDefaultDecks(context, deckInfo.Value);
total += await ImportDefaultLeaderSkinSettings(context, deckInfo.Value);
}
if (paymentItemList.HasValue)
@@ -716,28 +715,6 @@ public class GlobalsImporter
return created + updated;
}
// ---------- Deck/info: Default Leader Skin Settings ----------
private async Task<int> ImportDefaultLeaderSkinSettings(SVSimDbContext context, JsonElement deckInfo)
{
if (!deckInfo.TryGetProperty("user_leader_skin_setting_list", out var info) || info.ValueKind != JsonValueKind.Object) return 0;
var existing = await context.DefaultLeaderSkinSettings.ToDictionaryAsync(e => e.Id);
int created = 0, updated = 0;
foreach (var kv in info.EnumerateObject())
{
if (!int.TryParse(kv.Name, out int classId)) continue;
var v = kv.Value;
var entry = existing.TryGetValue(classId, out var ex) ? ex : new DefaultLeaderSkinSettingEntry { Id = classId };
entry.IsRandomLeaderSkin = GetInt(v, "is_random_leader_skin");
entry.LeaderSkinId = GetInt(v, "leader_skin_id");
if (ex is null) { context.DefaultLeaderSkinSettings.Add(entry); created++; }
else updated++;
}
Console.WriteLine($"[GlobalsImporter] DefaultLeaderSkinSettings: +{created}/~{updated}");
return created + updated;
}
// ---------- Payment: Item list (Steam/PC storefront, dict-keyed by store_product_id) ----------
private async Task<int> ImportPaymentItems(SVSimDbContext context, JsonElement payment)