private async void LoadProfile() { try { if (File.Exists("teknogods.ini")) { bool AutoChanged = false; bool NeedChange = false; IniParser ini = new IniParser("teknogods.ini"); profile = new Proflie(); string _name = ini.GetSetting("Settings", "Name"); if (string.IsNullOrWhiteSpace(_name) || _name.Length > 15 || _name.Length < 3) { profile.Name = "Futa Master"; NeedChange = true; } else { profile.Name = _name; } string _id = ini.GetSetting("Settings", "ID"); if (string.IsNullOrWhiteSpace(_id) || _id.Length != 8) { if (Directory.Exists("dw")) { string[] files = Directory.GetFiles("dw"); foreach (var item in files) { string item2 = item.Replace("dw\\", ""); if (item2.StartsWith("iw5_") && item2.EndsWith(".stat")) { var result = MessageBox.Show("你的配置文件里没有ID,但是游戏内似乎包含了有效ID。\n阁下是否想重新创建一个新的ID呢?\n\n 注意创建新ID会丢失以前的存档。", "提示", MessageBoxButton.YesNo, MessageBoxImage.Information); if (result == MessageBoxResult.Yes) { var id = Guid.NewGuid(); _id = id.ToString().Substring(0, 8).ToUpper(); } else { _id = item2.Substring(item2.Length - 13, 8).ToUpper(); } break; } } } else { var id = Guid.NewGuid(); _id = id.ToString().Substring(0, 8).ToUpper(); } profile.ID = _id; } else { profile.ID = _id; } string _fov = ini.GetSetting("Settings", "FOV"); if (string.IsNullOrWhiteSpace(_fov)) { profile.FOV = 75; AutoChanged = true; } else { try { if (Convert.ToInt32(_fov) >= 65 || Convert.ToInt32(_fov) <= 90) { profile.FOV = Convert.ToInt32(_fov); } } catch (Exception) { profile.FOV = 75; AutoChanged = true; } } string _clantag = ini.GetSetting("Settings", "Clantag"); if (string.IsNullOrWhiteSpace(_clantag) || _clantag.Length > 4) { profile.Clantag = "^1CN"; AutoChanged = true; } else { profile.Clantag = _clantag; } string _title = ini.GetSetting("Settings", "Title"); if (string.IsNullOrWhiteSpace(_clantag) || _title.Length > 25) { profile.Title = "^5SuperTeknoMW3"; AutoChanged = true; } else { profile.Title = _title; } string _showconsole = ini.GetSetting("Settings", "ShowConsole"); if (string.IsNullOrWhiteSpace(_showconsole)) { profile.ShowConsole = false; AutoChanged = true; } else { try { profile.SkipUpdate = Convert.ToBoolean(_showconsole); } catch (Exception) { profile.ShowConsole = false; AutoChanged = true; } } string _maxfps = ini.GetSetting("Settings", "Maxfps"); if (string.IsNullOrWhiteSpace(_maxfps)) { profile.Maxfps = 300; AutoChanged = true; } else { try { if (Convert.ToInt32(_maxfps) >= 30 || Convert.ToInt32(_maxfps) <= 300) { profile.Maxfps = Convert.ToInt32(_maxfps); } } catch (Exception) { profile.Maxfps = 300; AutoChanged = true; } } string _skipupdate = ini.GetSetting("Settings", "SkipUpdate"); if (string.IsNullOrWhiteSpace(_skipupdate)) { profile.SkipUpdate = false; AutoChanged = true; } else { try { profile.SkipUpdate = Convert.ToBoolean(_skipupdate); } catch (Exception) { profile.SkipUpdate = false; AutoChanged = true; } } if (NeedChange) { MessageBox.Show("你的玩家名不符合规范哦,请阁下先修改一下。", "提示", MessageBoxButton.OK, MessageBoxImage.Warning); Settings st = new Settings(profile); st.ShowDialog(); UpdateProfile(); } else if (AutoChanged) { SaveProfile(); } else { textBlock.Text = "欢迎阁下!" + profile.Name; await Task.Delay(1000); label.Content = "准备就绪了呢"; probar.IsIndeterminate = false; EnableAll(); } } else { MessageBox.Show("配置文件不存在呢,请阁下先设置一下你的玩家信息吧。", "提示", MessageBoxButton.OK, MessageBoxImage.Warning); CreateNewProfile(); newuser = true; UpdateProfile(); } } catch (Exception) { File.Delete("teknogods.ini"); MessageBox.Show("启动器读取配置文件的时候出问题了%>_<%,还请阁下重新设置一下吧。", "提示", MessageBoxButton.OK, MessageBoxImage.Warning); CreateNewProfile(); UpdateProfile(); } }
private void SaveProfile() { IniParser ini = new IniParser("teknogods.ini"); ini.AddSetting("Settings", "ID", profile.ID); ini.AddSetting("Settings", "FOV", profile.FOV.ToString()); ini.AddSetting("Settings", "Clantag", profile.Clantag); ini.AddSetting("Settings", "Title", profile.Title); ini.AddSetting("Settings", "ShowConsole", profile.ShowConsole.ToString().ToLower()); ini.AddSetting("Settings", "Maxfps", profile.Maxfps.ToString()); ini.AddSetting("Settings", "SkipUpdate", profile.SkipUpdate.ToString().ToLower()); ini.SaveSettings(); UpdateProfile(); }
private void SaveProfile() { try { using (var file = File.Create("teknogods.ini")) { } IniParser ini = new IniParser("teknogods.ini"); ini.AddSetting("Settings", "Name", profile.Name); ini.AddSetting("Settings", "ID", profile.ID); ini.AddSetting("Settings", "FOV", profile.FOV.ToString()); ini.AddSetting("Settings", "Clantag", profile.Clantag); ini.AddSetting("Settings", "Title", profile.Title); ini.AddSetting("Settings", "ShowConsole", profile.ShowConsole.ToString().ToLower()); ini.AddSetting("Settings", "Maxfps", profile.Maxfps.ToString()); ini.AddSetting("Settings", "SkipUpdate", profile.SkipUpdate.ToString().ToLower()); ini.SaveSettings(); } catch (Exception) { MessageBox.Show("创建配置文件失败!请检查磁盘是否有写保护,以及是否有写入权限!", "错误", MessageBoxButton.OK, MessageBoxImage.Error); Close(); } }