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);
            }
        }