internal void UpdateSetting(Setting setting) { var serializedSetting = SerializedSettings.FirstOrDefault(x => x.Name == setting.Name); if (serializedSetting != null) { var newSetting = m_settings.FirstOrDefault(x => x.Name == serializedSetting.Name); serializedSetting.StkSetting = newSetting; } else { SerializedSettings.Add(new SerializedSetting(setting)); } }
/// <summary> /// Fetches settings for a given key, returning null if no setting was found /// </summary> /// <typeparam name="T_Item">The type to cast the result to</typeparam> /// <param name="key">The key to fetch the settings for</param> /// <returns>null if not found, the object otherwise</returns> public T_Item FetchSettings <T_Item>(string key) { lock (Lock) { try { if (SerializedSettings == null || !SerializedSettings.ContainsKey(key)) { SimpleLogger.Log(SimpleLogLevel.Info, "Settings use default of: " + key); var res = default(T_Item); SerializedSettings.Add(key, res); return(res); } return((T_Item)SerializedSettings[key]); } catch (Exception ex) { SimpleLogger.Log(SimpleLogLevel.Warn, "Fail to fetch settings for: '" + key + "' " + ex.Message); return(default(T_Item)); } } }