//============================================================================ //! メンバーの追加ボタンが押された時の処理 private void _ClickAddMember(object iSender, RoutedEventArgs iArgs) { //無かった場合はゲームプリセットを選択させる var window = new MemberAddWindow(); //追加ボタンが押されたときの重複チェック window.AddButton.Click += (iClickSender, iClickArgs) => { //既に名前がある場合は無効 string name = window.MemberNameTextBox.Text; foreach (var iInfo in MemberManager.GetInstance().GetMemberList()) { if (name.Length > 14) { iClickArgs.Handled = true; SystemUtility.DisplayErrorDialog("メンバー名は14文字以内で入力してください"); return; } else if (iInfo.mName == name) { iClickArgs.Handled = true; string txt = string.Format("既に「{0}」という名前は存在します\n別の名前にして下さい", name); SystemUtility.DisplayErrorDialog(txt); break; } } }; window.SettingCallback(); //追加が押されて全ての条件を満たした時に追加 window.AddButton.Click += (iClickSender, iClickArgs) => { //追加 var info = new MemberManager.SMemberInfo(); info.mName = window.MemberNameTextBox.Text; info.mDefaultCharacterID = window.GetSelectCharacterIndex(); MemberManager.GetInstance().AddMember(info); //メンバーリストの更新 _RefreshMemberList(); MemberScrollViewer.ScrollToEnd(); }; window.ShowDialog(); }
//============================================================================ //! メンバーの編集ボタンが押された時の処理 private void _ClickEditMember(object iSender, RoutedEventArgs iArgs) { //チェック var button = iSender as Button; if (button == null) { return; } //押されたボタンのメンバー情報取得 int id = button.TabIndex; var member_Info = MemberManager.GetInstance().GetMemberInfo(id); //選択されているセルが無かった場合は無視 var window = new MemberAddWindow(); window.Title = "メンバー編集"; int index = 1; foreach (var iInfo in PresetManager.GetInstance().GetCharacterList()) { if (iInfo.mIndex == member_Info.mDefaultCharacterID) { window.CharacterComboBox.SelectedIndex = index; break; } ++index; } string current_Name = member_Info.mName; window.MemberNameTextBox.Text = current_Name; window.AddButton.Content = "決定"; //追加ボタンが押されたときの重複チェック window.AddButton.Click += (iClickSender, iClickArgs) => { //既に名前がある場合は無効 string name = window.MemberNameTextBox.Text; foreach (var iInfo in MemberManager.GetInstance().GetMemberList()) { if (iInfo.mName == name) { //現在の自分の物の場合は無視 if (current_Name != name) { iClickArgs.Handled = true; string txt = string.Format("既に「{0}」という名前は存在します\n別の名前にして下さい", name); SystemUtility.DisplayErrorDialog(txt); break; } } } }; window.SettingCallback(); //追加が押されて全ての条件を満たした時に追加 window.AddButton.Click += (iClickSender, iClickArgs) => { if (current_Name != window.MemberNameTextBox.Text || member_Info.mDefaultCharacterID != window.GetSelectCharacterIndex()) { try { member_Info.mName = window.MemberNameTextBox.Text; member_Info.mDefaultCharacterID = window.GetSelectCharacterIndex(); MemberManager.GetInstance().SetMemberInfo(id, member_Info); _RefreshMemberList(); } catch (System.Exception) { } } }; window.ShowDialog(); }