using BetterGenshinImpact.Core.Script.Group; using Newtonsoft.Json; namespace BetterGenshinImpact.Service.GearTask; /// /// GearTask 任务组配置的序列化辅助方法。 /// internal static class GearTaskGroupConfigHelper { public static string? Serialize(ScriptGroupConfig? groupConfig) { if (groupConfig == null) { return null; } return System.Text.Json.JsonSerializer.Serialize(groupConfig, global::BetterGenshinImpact.Service.ConfigService.JsonOptions); } public static ScriptGroupConfig? Deserialize(string? groupConfigJson) { if (string.IsNullOrWhiteSpace(groupConfigJson)) { return null; } try { var groupConfig = JsonConvert.DeserializeObject(groupConfigJson); if (groupConfig == null) { return null; } groupConfig.PathingConfig ??= new(); groupConfig.ShellConfig ??= new(); return groupConfig; } catch { return null; } } }