public void CampaignDataInitializer() { try { ObservableCollection <Campaigns> campaigndata = new ObservableCollection <Campaigns>(); iniclass ddqlconfig = new iniclass(PATH + "\\ddqlconfig.ini"); int CampaignCount = int.Parse(ddqlconfig.Read("General", "CampaignCount")); for (int i = 1; i <= CampaignCount; ++i) { String str = ddqlconfig.Read("General", i.ToString()); campaigndata.Add(new Campaigns { Name = ddqlconfig.Read(str, "NAME"), ID = ddqlconfig.Read(str, "ID"), Side = SideName[int.Parse(ddqlconfig.Read(str, "SIDE"))], SCENERY = ddqlconfig.Read(str, "SCENERY") }); } CampaignDataGrid.DataContext = campaigndata; } catch (Exception ex) { MessageBox.Show("启动器调用CampaignDataInitializer时遇到问题:\n\r" + ex.Message, "致命错误", MessageBoxButton.OK); App.Current.Shutdown(); } }
public void SettingInitializer() { try { iniclass ra2mo = new iniclass(PATH + "\\RA2MO.ini"); iniclass ddqlconfig = new iniclass(PATH + "\\ddqlconfig.ini"); iniclass renderer = new iniclass(PATH + "\\Resources\\Renderers.ini"); //read RA2MO.ini for (int i = 0; i < 3; ++i) { String str = ra2mo.Read("Video", SettingString_Video[i]); SettingList_Video[i] = SettingChecker(str); } for (int i = 0; i < 3; ++i) { String str = ra2mo.Read("Compatibility", SettingString_Compatibility[i]); SettingList_Compatibility[i] = SettingChecker(str); } Set_Windowed.IsChecked = SettingList_Video[0]; Set_Windowed_NoFrame.IsChecked = SettingList_Video[1]; Set_BackBuffer.IsChecked = SettingList_Video[2]; Set_DDrawAccelerateion.IsChecked = SettingList_Compatibility[0]; Set_Windows8.IsChecked = SettingList_Compatibility[1]; Set_CursorLock.IsChecked = SettingList_Compatibility[2]; if (!SettingList_Video[0] && SettingList_Video[1]) { ra2mo.Write("Video", SettingString_Video[1], "False"); SettingList_Video[1] = false; SettingString_Video[1] = "False"; Set_Windowed_NoFrame.IsChecked = false; } WindowedFrameChecker(); //read Renderers.ini String RendererNow = ra2mo.Read("Compatibility", "Renderer"); String s = renderer.Read("Renderers", totalRendererNums.ToString()); while (s != String.Empty) { Renderers.Add(s); if (s == RendererNow) { ComboBox_Renderers.SelectedIndex = totalRendererNums; } ++totalRendererNums; s = renderer.Read("Renderers", totalRendererNums.ToString()); } ComboBox_Renderers.ItemsSource = Renderers; //read Screen resolutions ScreenResolution_Custom_Width.Text = ddqlconfig.Read("Settings", "ScreenResolutionCustomWidth"); ScreenResolution_Custom_Height.Text = ddqlconfig.Read("Settings", "ScreenResolutionCustomHeight"); for (int i = 0; i < 16; ++i) { if (StdandardScreenResolutions[i].Item1 <= ScreenWidth && StdandardScreenResolutions[i].Item2 <= ScreenHeight) { ScreenResolutions.Item1.Add(StdandardScreenResolutions[i]); ScreenResolutions.Item2.Add(StdandardScreenResolutions[i].Item1.ToString() + 'X' + StdandardScreenResolutions[i].Item2.ToString()); } } ComboBox_ScreenResolution.ItemsSource = ScreenResolutions.Item2; ComboBox_ScreenResolution.SelectedIndex = int.Parse(ddqlconfig.Read("Settings", "ScreenResolutionIndex")); if (ddqlconfig.Read("Settings", "ScreenResolutionMode") == "0") { ScreenResolution_Standard.IsChecked = true; } else { ScreenResolution_Custom.IsChecked = true; } return; } catch (Exception ex) { MessageBox.Show("启动器调用SettingInitializer时遇到问题:\n\r" + ex.Message, "错误", MessageBoxButton.OK); this.Close(); } }