private void FindSaves(string savePath) { this.saveListView.BeginUpdate(); this.saveListView.Items.Clear(); if (this.FileMode == PickerMode.Save) { var item = new ListViewItem() { // ReSharper disable LocalizableElement Name = "New Save", // ReSharper restore LocalizableElement Text = Properties.Localization.SavePicker_NewSaveLabel, // ReSharper disable LocalizableElement ImageKey = "New", // ReSharper restore LocalizableElement }; this.saveListView.Items.Add(item); } this._HighestSaveNumber = 1; if (savePath != null) { if (Directory.Exists(this.FilePath) == true) { foreach (var inputPath in Directory .GetFiles(savePath, "*.pcsav") .OrderByDescending(Directory.GetLastWriteTime)) { var baseName = Path.GetFileNameWithoutExtension(inputPath); if (baseName != null && baseName.StartsWith("Save_") == true && baseName.Length == 9) { int saveNumber; if (int.TryParse(baseName.Substring(5).TrimStart('0'), out saveNumber) == true) { this._HighestSaveNumber = Math.Max(saveNumber, this._HighestSaveNumber); } } SaveFormats.SFXSaveGameFile saveFile = null; try { using (var input = File.OpenRead(inputPath)) { saveFile = SaveFormats.SFXSaveGameFile.Read(input); } } catch (Exception) { saveFile = null; } var item = new ListViewItem() { Text = Path.GetFileName(inputPath), ImageKey = "", Tag = inputPath, }; this.saveListView.Items.Add(item); } } } this.saveListView.EndUpdate(); if (this.saveListView.Items.Count > 0) { this.saveListView.Items[0].Selected = true; } }
private void InitializePostComponent() { this.SuspendLayout(); this.Icon = new Icon(new MemoryStream(Properties.Resources.Guardian)); this._RootWrexPictureBox.Image = Image.FromStream(new MemoryStream(Properties.Resources.Wrex), true); if (this._SavePath != null) { this._RootSaveGameOpenFileDialog.InitialDirectory = this._SavePath; this._RootSaveGameSaveFileDialog.InitialDirectory = this._SavePath; } else { this._RootDontUseCareerPickerToolStripMenuItem.Checked = true; this._RootDontUseCareerPickerToolStripMenuItem.Enabled = false; this._RootOpenFromCareerMenuItem.Enabled = false; this._RootSaveToCareerMenuItem.Enabled = false; } // ReSharper disable LocalizableElement const string playerBasicTabPageImageKey = "Tab_Player_Basic"; const string playerAppearanceColorTabPageImageKey = "Tab_Player_Appearance_Color"; const string playerAppearanceRootTabPageImageKey = "Tab_Player_Appearance_Root"; const string rawTabPageImageKey = "Tab_Raw"; const string plotRootTabPageImageKey = "Tab_Plot_Root"; const string plotManualTabPageImageKey = "Tab_Plot_Manual"; // ReSharper restore LocalizableElement this._RootIconImageList.Images.Clear(); this._RootIconImageList.Images.Add("Unknown", new Bitmap(16, 16)); this._RootIconImageList.Images.Add(_PlayerPlayerRootMaleImageKey, Properties.Resources.Editor_Tab_Player_Root_Male); this._RootIconImageList.Images.Add(_PlayerPlayerRootFemaleImageKey, Properties.Resources.Editor_Tab_Player_Root_Female); this._RootIconImageList.Images.Add(playerBasicTabPageImageKey, Properties.Resources.Editor_Tab_Player_Basic); this._RootIconImageList.Images.Add(playerAppearanceRootTabPageImageKey, Properties.Resources.Editor_Tab_Player_Appearance_Root); this._RootIconImageList.Images.Add(playerAppearanceColorTabPageImageKey, Properties.Resources.Editor_Tab_Player_Appearance_Color); this._RootIconImageList.Images.Add(rawTabPageImageKey, Properties.Resources.Editor_Tab_Raw); this._RootIconImageList.Images.Add(plotRootTabPageImageKey, Properties.Resources.Editor_Tab_Plot_Root); this._RootIconImageList.Images.Add(plotManualTabPageImageKey, Properties.Resources.Editor_Tab_Plot_Manual); this._PlayerRootTabPage.ImageKey = _PlayerPlayerRootMaleImageKey; this._PlayerBasicTabPage.ImageKey = playerBasicTabPageImageKey; this._PlayerAppearanceColorTabPage.ImageKey = playerAppearanceColorTabPageImageKey; this._PlayerAppearanceRootTabPage.ImageKey = playerAppearanceRootTabPageImageKey; this._RawTabPage.ImageKey = rawTabPageImageKey; this._PlotRootTabPage.ImageKey = plotRootTabPageImageKey; this._PlotManualTabPage.ImageKey = plotManualTabPageImageKey; //this.rootTabControl.SelectedTab = rawRootTabPage; this._RawSplitContainer.Panel2Collapsed = true; this.AddTable(Properties.Localization.Editor_BasicTable_Character_Label, BasicTable.Character.Build(this)); this.AddTable(Properties.Localization.Editor_BasicTable_Reputation_Label, BasicTable.Reputation.Build(this)); this.AddTable(Properties.Localization.Editor_BasicTable_Resources_Label, BasicTable.Resources.Build(this)); this.AddPlotEditors(); if (this._SaveFile != null) { var saveFile = this._SaveFile; this.SaveFile = null; this.SaveFile = saveFile; } this.ResumeLayout(); }
private void FindCareers() { this.careerListView.BeginUpdate(); this.careerListView.Items.Clear(); if (Directory.Exists(this.FilePath) == true) { foreach (var careerPath in Directory .GetDirectories(this.FilePath) .OrderByDescending(Directory.GetLastWriteTime)) { var careerFiles = Directory.GetFiles(careerPath, "*.pcsav"); if (careerFiles.Length == 0) { continue; } SaveFormats.SFXSaveGameFile saveFile = null; foreach (var careerFile in careerFiles) { try { using (var input = File.OpenRead(careerFile)) { saveFile = SaveFormats.SFXSaveGameFile.Read(input); } break; } catch (Exception) { saveFile = null; } } // attempt to parse the directory name string name; SaveFormats.OriginType originType; SaveFormats.NotorietyType reputationType; string className; DateTime date; if (ParseCareerName( Path.GetFileName(careerPath), out name, out originType, out reputationType, out className, out date) == true) { var classType = PlayerClass.Invalid; if (saveFile != null) { classType = GetPlayerClassFromStringId(saveFile.Player.ClassFriendlyName); } if (classType == PlayerClass.Invalid && className != null) { classType = GetPlayerClassFromLocalizedName(className); } string displayName = ""; displayName += (saveFile == null ? name : saveFile.Player.FirstName) + "\n"; displayName += string.Format("{0}, {1}", classType, date.ToString("d")); //displayName += date.ToString(); this.careerListView.Items.Add(new ListViewItem() { Text = displayName, // ReSharper disable LocalizableElement ImageKey = "Class_" + classType.ToString(), // ReSharper restore LocalizableElement Tag = careerPath, }); } else { this.careerListView.Items.Add(new ListViewItem() { Text = Path.GetFileName(careerPath), // ReSharper disable LocalizableElement ImageKey = "Class_Unknown", // ReSharper restore LocalizableElement Tag = careerPath, }); } } } if (this.FileMode == PickerMode.Save) { if (this.careerListView.Items.Count > 0) { var item = new ListViewItem() { // ReSharper disable LocalizableElement Name = "New Career", // ReSharper restore LocalizableElement Text = Properties.Localization.SavePicker_NewCareerLabel, // ReSharper disable LocalizableElement ImageKey = "New", // ReSharper restore LocalizableElement }; this.careerListView.Items.Insert(1, item); } else { var item = new ListViewItem() { // ReSharper disable LocalizableElement Name = "New Career", // ReSharper restore LocalizableElement Text = Properties.Localization.SavePicker_NewCareerLabel, // ReSharper disable LocalizableElement ImageKey = "New", // ReSharper restore LocalizableElement }; this.careerListView.Items.Add(item); } } this.careerListView.EndUpdate(); if (this.careerListView.Items.Count > 0) { this.careerListView.Items[0].Selected = true; } else { this.FindSaves(null); } }