Пример #1
0
        // ------------------------------------------------------------------------------------
        public MainForm()
        {
            InitializeComponent();

            // リソース節約のためのコード
            ms_meiryo_Ke_P_9pt = new Font("MeiryoKe_PGothic", 9F, FontStyle.Regular, GraphicsUnit.Point, ((byte)(128)));

            m_Btn_connect.Font     = ms_meiryo_Ke_P_9pt;
            m_Btn_postMsg.Font     = ms_meiryo_Ke_P_9pt;
            m_Btn_Chg_RmLimit.Font = ms_meiryo_Ke_P_9pt;
            m_Btn_timer_JSON.Font  = ms_meiryo_Ke_P_9pt;

            m_TBox_PostMsg.Font      = ms_meiryo_Ke_P_9pt;
            m_Lbl_timer_elapsed.Font = ms_meiryo_Ke_P_9pt;
            label1.Font = ms_meiryo_Ke_P_9pt;

            m_btn_test_1.Font = ms_meiryo_Ke_P_9pt;
            m_btn_test_2.Font = ms_meiryo_Ke_P_9pt;
            m_btn_test_3.Font = ms_meiryo_Ke_P_9pt;

            ms_meiryo_Ke_P_8pt = new Font("MeiryoKe_PGothic", 8.25F, FontStyle.Regular, GraphicsUnit.Point, ((byte)(128)));

            m_TBox_uname.Font    = ms_meiryo_Ke_P_8pt;
            m_TBox_roomname.Font = ms_meiryo_Ke_P_8pt;
            label2.Font          = ms_meiryo_Ke_P_8pt;
            label3.Font          = ms_meiryo_Ke_P_8pt;
            label4.Font          = ms_meiryo_Ke_P_8pt;

            ms_meiryo_8pt = new Font("メイリオ", 8.25F, FontStyle.Regular, GraphicsUnit.Point, ((byte)(128)));

            m_RBox_usrMsg.Font = ms_meiryo_8pt;
            m_RBox_status.Font = ms_meiryo_8pt;

            m_CmbBox_str_icon.Font = ms_meiryo_8pt;

            // --------------------------------------------

            m_Timer_getJSON                     = new System.Timers.Timer(m_timer_interval_msec);
            m_Timer_getJSON.Elapsed            += OnTimer_GetJSON;
            m_Timer_getJSON.AutoReset           = true;
            m_Timer_getJSON.SynchronizingObject = this;

/*
 *                      m_Timer_delayBAN = new System.Timers.Timer(MSEC_timer_intvl_delayBAN);
 *                      m_Timer_delayBAN.Elapsed += OnTimer_delayBAN;
 *                      m_Timer_delayBAN.AutoReset = true;
 *                      m_Timer_delayBAN.SynchronizingObject = this;
 */
            ms_RBox_status = m_RBox_status;
            m_RBox_status.SelectionTabs  = new int[] { 30 };
            m_RBox_status.LanguageOption = RichTextBoxLanguageOptions.UIFonts;              // 行間を狭くする

            ms_RBox_usrMsg = m_RBox_usrMsg;
            ms_RBox_usrMsg.SelectionTabs  = new int[] { 30 };
            ms_RBox_usrMsg.LanguageOption = RichTextBoxLanguageOptions.UIFonts;              // 行間を狭くする

            // BanCtrl を生成
            BanCtrls_Ctrlr.Init();
            // BanCtrl の GUI を生成
            this.Create_BanCtrls_GUI();

            // encip の記録ファイルを読み込む
            DB_static.Load_fromFile();

            MainForm.WriteStatus("--- 起動しました\r\n");
        }
Пример #2
0
 // ------------------------------------------------------------------------------------
 private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
 {
     DB_static.Save_toFile();
 }
Пример #3
0
            public async void OnClk_Btn_BAN()
            {
//				MainForm.WriteStatus($"OnClk_Btn_BAN(): m_id_this_session -> {m_id_this_session}\r\n");

                if (m_id_this_session == 0)
                {
                    MainForm.WriteStatus("!!! エラー検出: m_id_this_session == 0 in BanCtrl.OnClk_Btn_BAN()\r\n"); return;
                }
//				{ throw new Exception("!!! エラー検出: m_id_this_session == 0 in BanCtrl.OnClk_Btn_BAN()"); }

                // まず DB_static に encip を登録しておく
                DB_static.Regist(m_encip);

                mb_Rgst_ban = true;
                mb_Exec_Ban = true;

                m_GUI.m_Btn_AI_talk.Enabled = false;
                m_GUI.m_Btn_ban.Enabled     = false;

                if (m_id_this_session > 0)
                {
                    // 入室者の BAN 処理
                    m_GUI.m_TBox_info.BackColor = Color.HotPink;

                    Drrr_Host2.HttpTask ban_usr_task = Drrr_Host2.BanUsr_Task_Factory.Create(m_uinfo.m_uid.m_str_uid);
                    if (ban_usr_task.m_str_cancel == null)
                    {
                        try
                        {
                            await ban_usr_task.DoWork();
                        }
                        catch (Exception ex)
                        {
                            ban_usr_task.m_str_cancel = ex.ToString() + "\r\n";
                        }
                    }
                    // まとめてエラー処理を行う
                    if (ban_usr_task.m_str_cancel != null)
                    {
                        MainForm.WriteStatus($"!!! 「BanUsr」がキャンセルされました。\r\n{ban_usr_task.m_str_cancel}");
                        m_GUI.m_Btn_AI_talk.Enabled = true;
                        m_GUI.m_Btn_ban.Enabled     = true;
                        return;
                    }

                    // 受信メッセージを表示する
                    byte[] bytes_utf8 = await ban_usr_task.m_http_res.Content.ReadAsByteArrayAsync();

                    m_sb_ban_ret_msg.Clear();
                    m_sb_ban_ret_msg.Append(System.Text.Encoding.UTF8.GetString(bytes_utf8));
                    m_sb_ban_ret_msg.Append($"-> [{m_uinfo.m_uname}]\r\n");

                    // 強制退室 or 部屋にいませんでした の2択になるため、その判定が必要
                    string ret_str = m_sb_ban_ret_msg.ToString();
                    if (ret_str.Contains("強制退室") == false)
                    {
                        // 強制退室失敗
                        m_GUI.m_Btn_AI_talk.Enabled = true;
                        m_GUI.m_Btn_ban.Enabled     = true;
                    }

                    MainForm.WriteStatus(ret_str);
                }
                else
                {
                    // 退室者の BAN 処理
                    m_GUI.m_TBox_info.BackColor = Color.LightPink;

                    // 退室者の eip to ban 登録
                    ExitEip_onTalks.Regist_to_BAN(m_encip);
                }
            }