public static ConnectionPresetList ReadPresetsFile() { string path = Launcher.GetApplicationConfigurationDirectoryName() + "//ConnectionPresetList.xml"; ConnectionPresetList readPresetList; try { XmlSerializer serializer = new XmlSerializer(typeof(ConnectionPresetList)); FileStream fs = new FileStream(path, FileMode.Open); readPresetList = (ConnectionPresetList)serializer.Deserialize(fs); fs.Close(); } catch (Exception) { ConnectionPreset defaultPreset = new ConnectionPreset(); defaultPreset.Name = "Default"; defaultPreset.IP = "0.0.0.0"; defaultPreset.Port = "27886"; defaultPreset.Delay = 1; readPresetList = new ConnectionPresetList(); readPresetList.ConnectionPresets.Add(defaultPreset); } return(readPresetList); }
public void SavePreset(string presetName) { var toEdit = presets.ConnectionPresets.FirstOrDefault(p => p.Name == presetName); if (toEdit != null) { toEdit.IP = txtOpponentIP.Text; toEdit.Port = txtHostPort.Text; toEdit.Delay = numDelay.Value; toEdit.Method = Convert.ToInt32(cboMethod.SelectedValue); toEdit.Region = cboRegion.SelectedValue.ToString(); } else { var toAdd = new ConnectionPreset(); toAdd.Name = cboPresetName.Text; toAdd.IP = txtOpponentIP.Text; toAdd.Port = txtHostPort.Text; toAdd.Delay = numDelay.Value; toAdd.Method = Convert.ToInt32(cboMethod.SelectedValue); toAdd.Region = cboRegion.SelectedValue.ToString(); presets.ConnectionPresets.Add(toAdd); } var path = Launcher.GetApplicationConfigurationDirectoryName() + "//ConnectionPresetList.xml"; System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(typeof(ConnectionPresetList)); StreamWriter writer = new StreamWriter(path); serializer.Serialize(writer.BaseStream, presets); writer.Close(); presets = ConnectionPreset.ReadPresetsFile(); cboPresetName.DataSource = presets.ConnectionPresets; cboPresetName.SelectedIndex = cboPresetName.FindStringExact(presetName); if (presets.ConnectionPresets.Count > 1) { btnDeletePreset.Enabled = true; } cboPresetName.BackColor = Color.LemonChiffon; }
public void DeletePreset(string presetName) { if (presets.ConnectionPresets.Count > 1) { var toDelete = presets.ConnectionPresets.FirstOrDefault(p => p.Name == presetName); presets.ConnectionPresets.Remove(toDelete); var path = Launcher.GetApplicationConfigurationDirectoryName() + "//ConnectionPresetList.xml"; System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(typeof(ConnectionPresetList)); StreamWriter writer = new StreamWriter(path); serializer.Serialize(writer.BaseStream, presets); writer.Close(); presets = ConnectionPreset.ReadPresetsFile(); cboPresetName.DataSource = presets.ConnectionPresets; cboPresetName.SelectedIndex = 0; if (presets.ConnectionPresets.Count == 1) { btnDeletePreset.Enabled = false; } } }