public StaffEditorWindow(StaffMetadata staff, bool isEditMode = true) : this() { nameTextBox.Text = originalName = staff.Name; if (staff.AbilityLevel > 0) { levelUpDown.Value = staff.AbilityLevel; isAbilityLevelCheckBox.IsChecked = true; } else { levelUpDown.Value = staff.Level; isAbilityLevelCheckBox.IsChecked = false; } SetPlayerClass(staff.Class); this.IsEditMode = isEditMode; if (isEditMode) { this.Title = "Edit Staff"; } }
void EditStaff(StaffMetadata staff) { var originalName = staff.Name; var staffWindow = new StaffEditorWindow(staff); staffWindow.Owner = this; var result = staffWindow.ShowDialog(); if (!result.HasValue || !result.Value) { return; } staffWindow.Staff.CopyTo(staff, copyModifiers: false); BindingOperations.GetBindingExpression(stavesListBox, ListBox.ItemsSourceProperty).UpdateTarget(); if (!string.Equals(staff.Name, originalName, StringComparison.Ordinal)) { StaffMetadataManager.Instance.RenameStaff(originalName, staff.Name); } stavesListBox.SelectedItem = staff; stavesListBox.ScrollIntoView(staff); }
void EditModifiers(StaffMetadata staff, SpellLineModifiers modifiers) { var modifiersWindow = new LineModifiersEditorWindow(modifiers); modifiersWindow.Owner = this; var result = modifiersWindow.ShowDialog(); if (!result.HasValue || !result.Value) { return; } staff.ChangeModifiers(modifiers, modifiersWindow.Modifiers); lineModifiersListBox.Items.Refresh(); lineModifiersListBox.SelectedItem = modifiers; lineModifiersListBox.ScrollIntoView(modifiers); }