private void RefreshTalentBuilds() { lbTalentBuilds.Items.Clear(); _talentBuilds.Clear(); var talentBuildPath = Path.Combine(TalentedSettings.PluginFolderPath, "Talent Builds"); string[] files = Directory.GetFiles(talentBuildPath, "*.xml", SearchOption.AllDirectories); for (int i = 0; i < files.Length; i++) { string file = files[i]; try { TalentTree talentTree = TalentTree.FromXml(XElement.Load(file)); _talentBuilds.Add(talentTree); } catch (XmlException ex) { Logging.Write("[Talented]: Could not load talent build {0}", ex.Message); } } _talentBuilds = _talentBuilds.OrderBy(t => t.BuildName).ToList(); lbTalentBuilds.Items.AddRange(_talentBuilds.ToArray()); if (!string.IsNullOrEmpty(TalentedSettings.Instance.ChoosenTalentBuildName)) { var build = _talentBuilds.FirstOrDefault(b => b.BuildName == TalentedSettings.Instance.ChoosenTalentBuildName); if (build != null) { lbTalentBuilds.SelectedIndex = _talentBuilds.IndexOf(build); } } }
private void RefreshTalentBuilds() { lbTalentBuilds.Items.Clear(); _talentBuilds.Clear(); var talentBuildPath = Path.Combine(TalentedSettings.PluginFolderPath, "Talent Builds"); string[] files = Directory.GetFiles(talentBuildPath, "*.xml", SearchOption.AllDirectories); int selectIndex = 0; for (int i = 0; i < files.Length; i++) { string file = files[i]; try { TalentTree talentTree = TalentTree.FromXml(XElement.Load(file)); _talentBuilds.Add(talentTree); lbTalentBuilds.Items.Add(talentTree); if (TalentedSettings.Instance.ChoosenTalentBuild != null && TalentedSettings.Instance.ChoosenTalentBuildName == talentTree.BuildName) { selectIndex = i; } } catch (XmlException ex) { Logging.Write("[Talented]: Could not load talent build {0}", ex.Message); } } if (selectIndex < 0 || selectIndex >= lbTalentBuilds.Items.Count) { return; } lbTalentBuilds.SelectedIndex = selectIndex; }