private void editCharacter(object sender, RoutedEventArgs e) { CharacterRow selected = (CharacterRow)this.partyList.SelectedItem; if (selected == null) { return; } String defaultName = this.getDefaultCharacterName(); CharacterWindow cw = new CharacterWindow(defaultName); cw.setExisting(selected.name, selected.level, selected.unspentXp); cw.ShowDialog(); if (!cw.isValid()) { return; } String name = cw.name; if ((cw.name != selected.name) && (this.nameInUse(cw.name))) { name = selected.name; MessageBox.Show("The name '" + cw.name + "' is already in use; name reverted to " + name); } this.partyChanged = true; selected.name = name; selected.level = cw.level; selected.totalXp = cw.totalXp; selected.unspentXp = cw.unspentXp; SortDescription sd = this.partyList.Items.SortDescriptions[0]; this.partyList.Items.SortDescriptions.Clear(); this.partyList.Items.SortDescriptions.Add(sd); }
private void addCharacter(object sender, RoutedEventArgs e) { String defaultName = this.getDefaultCharacterName(); CharacterWindow cw = new CharacterWindow(defaultName); cw.ShowDialog(); if (!cw.isValid()) { return; } String name = cw.name; if (this.nameInUse(cw.name)) { name = this.getDefaultCharacterName(); MessageBox.Show("The name '" + cw.name + "' is already in use; name changed to " + name); } this.partyChanged = true; this.partyList.Items.Add(new CharacterRow { present = true, name = name, level = cw.level, totalXp = cw.totalXp, unspentXp = cw.unspentXp }); this.partyList.Items.Refresh(); }