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);
        }
Ejemplo n.º 2
0
        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;
        }
Ejemplo n.º 3
0
        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;
                }
            }
        }