public static void AddSettings(ConfigManager config, string key, string value, ServerSettings.Type type) { if (key.IsEmpty()) { return; } int duplicated = -1; ConfigManager.CachedServerSettings newSetting = new ConfigManager.CachedServerSettings(); newSetting.key = key; newSetting.setting = new ServerSettings.Serializable(value, type); for (int i = 0; i < config.serverSettings.Length; i++) { ConfigManager.CachedServerSettings setting = config.serverSettings[i]; if (setting.key == key) { duplicated = i; break; } } if (!(duplicated >= 0)) { Array.Resize(ref config.serverSettings, config.serverSettings.Length + 1); config.serverSettings[config.serverSettings.Length - 1] = newSetting; Array.Sort(config.serverSettings, delegate(ConfigManager.CachedServerSettings a, ConfigManager.CachedServerSettings b) { return(a.key.CompareTo(b.key)); } ); return; } config.serverSettings[duplicated] = newSetting; }
public Serializable(string value, ServerSettings.Type type) { this.value = value; this.type = type; }