using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using SOTF_Struct.Generic; namespace SOTF_Struct.Data { public class GameSetup { public List _settings { get; set; } public string name { get; set; } public int hideFlags { get; set; } public void Remove(string key) { for (int i = 0; i < _settings.Count; i++) if (_settings[i].Name.ToLower() == key.ToLower().Trim()) { _settings.RemoveAt(i); break; } } public void Set(string key, int value) { bool bFound = false; for (int i = 0, c = _settings.Count; i < c; i++) if (_settings[i].Name.ToLower() == key.ToLower().Trim()) if (_settings[i].SettingType == 1) { _settings[i].IntValue = value; bFound = true; } else System.Diagnostics.Debug.WriteLine("Failed storing setting. Try to assign INT Value for Key: " + key); if (!bFound) _settings.Add( new Settings() { Name = key.Trim(), IntValue = value, SettingType = 1 } ); } public void Set(string key, bool value) { bool bFound = false; for (int i = 0, c = _settings.Count; i < c; i++) if (_settings[i].Name.ToLower() == key.ToLower().Trim()) if (_settings[i].SettingType == 0) { _settings[i].BoolValue = value; bFound = true; } else System.Diagnostics.Debug.WriteLine("Failed storing setting. Try to assign BOOL Value for Key: " + key); if (!bFound) _settings.Add( new Settings() { Name = key.Trim(), BoolValue = value, SettingType = 0 } ); } public void Set(string key, float value) { bool bFound = false; for (int i = 0, c = _settings.Count; i < c; i++) if (_settings[i].Name.ToLower() == key.ToLower().Trim()) if (_settings[i].SettingType == 2) { _settings[i].FloatValue = value; bFound = true; } else System.Diagnostics.Debug.WriteLine("Failed storing setting. Try to assign FLOAT Value for Key: " + key); if (!bFound) _settings.Add( new Settings() { Name = key.Trim(), FloatValue = value, SettingType = 2 } ); } public void Set(string key, string value) { bool bFound = false; for (int i = 0, c = _settings.Count; i < c; i++) if (_settings[i].Name.ToLower() == key.ToLower().Trim()) if (_settings[i].SettingType == 3) { _settings[i].StringValue = value; bFound = true; } else System.Diagnostics.Debug.WriteLine("Failed storing setting. Try to assign STRING Value for Key: " + key); if (!bFound) _settings.Add( new Settings() { Name = key.Trim(), StringValue = value, SettingType = 3 } ); } public void Set(string key, double[] value) { bool bFound = false; for (int i = 0, c = _settings.Count; i < c; i++) if (_settings[i].Name.ToLower() == key.ToLower().Trim()) if (_settings[i].SettingType == 4) { _settings[i].FloatArrayValue = value; bFound = true; } else System.Diagnostics.Debug.WriteLine("Failed storing setting. Try to assign FLOAT-Array Value for Key: " + key); if (!bFound) _settings.Add( new Settings() { Name = key.Trim(), FloatArrayValue = value, SettingType = 4 } ); } public dynamic GetSetting(string key) { foreach (Settings setting in _settings) if (setting.Name == key) if (setting.SettingType == 3) return setting.StringValue; else if (setting.SettingType == 0) return setting.BoolValue; else if (setting.SettingType == 1) return setting.IntValue; else if (setting.SettingType == 2) return setting.FloatValue; else if (setting.SettingType == 4) return setting.FloatArrayValue; return ""; } public string GetString(string key) { foreach (Settings setting in _settings) if (setting.Name == key) return setting.StringValue; return ""; } public int GetInt(string key) { foreach (Settings setting in _settings) if (setting.Name == key) return setting.IntValue; return 0; } public double GetFloat(string key) { foreach (Settings setting in _settings) if (setting.Name == key) return setting.FloatValue; return 0.0f; } public bool GetBool(string key) { foreach (Settings setting in _settings) if (setting.Name == key) return setting.BoolValue; return false; } public double[] GetFloatArray(string key) { foreach (Settings setting in _settings) if (setting.Name == key) return setting.FloatArrayValue; return new double[] { }; } } }