private void SaveLocalSettings(ModSavegameData data) { try { if (this.saveSettingsType is not Type saveType) { return; } var settings = this.onSaveSaveSettings(this); if (settings is null) { return; } data.modData[this.GetName()] = JToken.FromObject ( settings, JsonSerializer.Create ( new JsonSerializerSettings { ContractResolver = ShouldSerializeContractResolver.Instance, TypeNameHandling = TypeNameHandling.Auto, Converters = JsonConverterTypes.ConverterTypes } ) ); } catch (Exception e) { LogError(e); } }
private void LoadLocalSettings(ModSavegameData data) { try { if (this.saveSettingsType is not Type saveType) { return; } if (!data.modData.TryGetValue(this.GetName(), out var obj)) { return; } this.onLoadSaveSettings ( this, obj.ToObject ( saveType, JsonSerializer.Create ( new JsonSerializerSettings { ContractResolver = ShouldSerializeContractResolver.Instance, TypeNameHandling = TypeNameHandling.Auto, ObjectCreationHandling = ObjectCreationHandling.Replace, Converters = JsonConverterTypes.ConverterTypes } ) ) ); } catch (Exception e) { LogError(e); } }