private void UpdateAllDataViews(Backstory bs) { GridViewUtility.UpdateView(dataGridViewSkills, bs?.skillGains, bs != null ? new int[] { 125, 25, 25 } : null); GridViewUtility.UpdateView(dataGridViewTraitsForced, bs?.forcedTraits, bs != null ? new int[] { 135, 25 } : null, bs != null ? new List <string> { "defName", "degree" } : null); GridViewUtility.UpdateView(dataGridViewTraitsDisallowed, bs?.disallowedTraits, bs != null ? new int[] { 135, 25 } : null, bs != null ? new List <string> { "defName", "degree" } : null); richTextBoxRequiredWorkTypes.Text = bs?.requiredWorkTags?.FirstOrDefault() == null ? "" : string.Join(", ", bs.requiredWorkTags); //bs?.requiredWorkTags.ToString() ?? ""; richTextBoxDisabledWorkTypes.Text = bs?.workDisables?.FirstOrDefault() == null ? "" : string.Join(", ", bs.workDisables); //bs?.workDisables.ToString() ?? ""; richTextBoxSpawnCategories.Text = bs?.spawnCategories?.Count > 0 ? richTextBoxSpawnCategories.Text = string.Join(", ", bs.spawnCategories) : ""; }
internal bool TryAddSkillGain(ComboBox comboBoxSkills, DataGridView dataGridView) { try { if (!TryGettingBackstory(out Backstory selectedBackstory)) { return(false); } Enum.TryParse <SkillDef>(comboBoxSkills.Items[comboBoxSkills.SelectedIndex].ToString(), out var skill); bool newList = false; if (selectedBackstory.skillGains == null || selectedBackstory.skillGains.Count() == 0) { newList = true; selectedBackstory.skillGains = new BindingList <SkillGain>(); } else { if (selectedBackstory.skillGains.FirstOrDefault(x => x.defName == skill) != null) { MessageBox.Show("Skill gain entry \"" + skill + "\" already exists."); return(false); } } var newSkill = new SkillGain() { defName = skill, amount = 1 }; selectedBackstory.skillGains.Add(newSkill); if (newList) { GridViewUtility.UpdateView(dataGridView, selectedBackstory.skillGains, selectedBackstory != null ? new int[] { 125, 25, 25 } : null); } return(true); } catch (Exception e) { MessageBox.Show(e.ToString() + "\n" + e.StackTrace.ToString()); } return(false); }
internal bool TryAddForcedTrait(ComboBox comboBoxTraitsForced, DataGridView dataGridView) { if (!TryGettingBackstory(out Backstory selectedBackstory)) { return(false); } var selectedItem = (TraitEntry)comboBoxTraitsForced.Items[comboBoxTraitsForced.SelectedIndex]; bool newList = false; if (selectedBackstory.forcedTraits == null || selectedBackstory.forcedTraits.Count() == 0) { newList = true; selectedBackstory.forcedTraits = new BindingList <TraitEntry>(); } if (selectedBackstory?.forcedTraits?.FirstOrDefault(x => x.defName == selectedItem.defName) != null) { MessageBox.Show("Failed to add new forced trait entry. Trait entry already exists."); return(false); } selectedBackstory.forcedTraits.Add(selectedItem); if (dataGridView.DataSource != selectedBackstory.forcedTraits) { dataGridView.DataSource = selectedBackstory.forcedTraits; } if (newList) { GridViewUtility.UpdateView(dataGridView, selectedBackstory?.forcedTraits, selectedBackstory != null ? new int[] { 135, 25 } : null, selectedBackstory != null ? new List <string> { "defName", "degree" } : null); } return(true); }