Exemplo n.º 1
0
        //============================================================================
        //! メンバーの追加ボタンが押された時の処理
        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();
        }
Exemplo n.º 2
0
        //============================================================================
        //! メンバーの編集ボタンが押された時の処理
        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();
        }