using EggLink.DanhengServer.Data.Config.AdventureAbility; using Newtonsoft.Json.Linq; namespace EggLink.DanhengServer.Data.Config; public class AdventureAbilityConfigListInfo { public List AbilityList { get; set; } = []; public Dictionary? GlobalModifiers { get; set; } = []; public static AdventureAbilityConfigListInfo LoadFromJsonObject(JObject obj) { AdventureAbilityConfigListInfo info = new(); if (obj.ContainsKey(nameof(AbilityList))) info.AbilityList = obj[nameof(AbilityList)] ?.Select(x => AdventureAbilityConfigInfo.LoadFromJsonObject((x as JObject)!)).ToList() ?? []; if (!obj.ContainsKey(nameof(GlobalModifiers))) return info; info.GlobalModifiers = []; foreach (var jObject in obj[nameof(GlobalModifiers)]!.ToObject>()!) info.GlobalModifiers.Add(jObject.Key, AdventureModifierConfig.LoadFromJObject(jObject.Value)); return info; } }