Пример #1
0
        void signals_ItemAdded(object sender, SignalEventArgs e)
        {
            ComboBoxItem item = new ComboBoxItem()
            {
                Background = Brushes.DarkGray,
                Foreground = e.Signal.Pen.Brush,
                Content = e.Signal.Name,
                Tag = e.Signal
            };

            e.Signal.Tag = item;

            // Add item to the combo box.
            selectedSignal.Items.Add(item);

            if (!Signals.Contains(SelectedSignal))
            {
                if (Signals.Any())
                    SelectedSignal = Signals.First();
                else if (SelectedSignal != null)
                    SelectedSignal = null;
            }
        }
		void OnSignalRemoved (object sender, SignalEventArgs args)
		{
			OnSignalRemoved (args);
		}
		void OnSignalAdded (object sender, SignalEventArgs args)
		{
			OnSignalAdded (args);
		}
Пример #4
0
 private void InstrumentRisedSignal(object sender, SignalEventArgs e)
 {
     ThrowIfDisposed();
     _hubContext.Clients.Client(_connectionId).risedSignal(e.Signal);
     //this.Dispatcher.BeginInvoke((Delegate)(() =>
     //{
     //    this._signals.Insert(0, e.Signal);
     //    if (!this.IsActive)
     //    {
     //        ++this._newSignals;
     //        this.TaskbarItemInfo.Overlay = (ImageSource)BitmapGenerator.GenerateFromInt(this._newSignals);
     //        MainWindow.FlashWindow(new WindowInteropHelper((Window)this).Handle, true);
     //    }
     //    try
     //    {
     //        this._media.Source = new Uri("Chime.mp3", UriKind.Relative);
     //        this._media.Play();
     //    }
     //    catch
     //    {
     //    }
     //}));
 }
Пример #5
0
 virtual public void OnBlockXianEvent(object sender, SignalEventArgs e)
 {
     Logger.Log(_name + "\tBlock Xian " + (e.Number + 1));
 }
Пример #6
0
 public override void OnResetGanEvent(object sender, SignalEventArgs e)
 {
 }
Пример #7
0
 public override void OnLeaveXianEvent(object sender, SignalEventArgs e)
 {
 }
Пример #8
0
 public override void OnResetGanEvent(object sender, SignalEventArgs e)
 {
     Console.WriteLine("SAMPLE: OnResetGanEvent {0}", e.Number);
 }
Пример #9
0
 public override void OnHitGanEvent(object sender, SignalEventArgs e)
 {
     //base.OnHitGanEvent(sender, e);
 }
Пример #10
0
        /// <summary>
        /// メイン関数
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            DateTime dateTime = DateTime.Now;

            // ファイル名の作成
            string fileName = string.Format("{0}.log", dateTime.ToString("yyyyMMddHHmmss"));

            using (StreamWriter writer = new StreamWriter(fileName))
            {
                using (ExitSignal sig = new ExitSignal())
                {
                    // ログコールバックの作成
                    GCHandle hLogCallback = GCHandle.Alloc(new MrsLogOutputCallback((level, msg) => {
                        string time_stamp = mrs.DateTime.Now().ToString();
                        string log        = string.Format("[{0}] {1}", time_stamp, msg);
                        mrs_console_log(level, log);
                        writer.WriteLine(log);
                    }), GCHandleType.Normal);
                    if (!hLogCallback.IsAllocated)
                    {
                        Console.WriteLine("Fail: alloc to delegate.");
                        return;
                    }

                    // 強制終了対応
                    sig.SetSignal((obj, e) => {
                        SignalEventArgs event_args = e as SignalEventArgs;
                        MRS_LOG_DEBUG("Event: {0}", event_args.SignalEnums);
                        s_bIsRun = false;
                        Thread.Sleep(10);                         // ここで待ち
                    });

                    // ログコールバックの登録
                    mrs_set_log_callback(hLogCallback.Target as MrsLogOutputCallback);

                    // mrsの初期化
                    mrs_initialize();
                    MRS_LOG_DEBUG("サーバーの開始");

                    try
                    {
                        while (s_bIsRun)
                        {
                            // mrsの更新
                            mrs_update();

                            // sleep
                            mrs_sleep(m_nSleepMsec);
                        }
                    }
                    finally
                    {
                        MRS_LOG_DEBUG("サーバーの終了");
                        // mrsの終了処理
                        mrs_finalize();
                        // ログコールバックの解放
                        hLogCallback.Free();
                    }
                }
            }
        }
Пример #11
0
 void OnSignalRemoved(object sender, SignalEventArgs args)
 {
     OnSignalRemoved(args);
 }
Пример #12
0
 void OnSignalAdded(object sender, SignalEventArgs args)
 {
     OnSignalAdded(args);
 }
Пример #13
0
        public override void OnHitGanEvent(object sender, SignalEventArgs e)
        {
            switch (e.Number)
            {
            case 0:
                switch (motorStateManager.C5Time)
                {
                case 1:
                case 8:
                    base.OnHitGanEvent(sender, e);
                    break;

                default:
                    return;
                }
                break;

            case 1:
                switch (motorStateManager.C5Time)
                {
                case 1:
                case 2:
                case 7:
                case 8:
                    base.OnHitGanEvent(sender, e);
                    break;

                default:
                    return;
                }
                break;

            case 2:
                switch (motorStateManager.C5Time)
                {
                case 2:
                case 3:
                case 6:
                case 7:
                    base.OnHitGanEvent(sender, e);
                    break;

                default:
                    return;
                }
                break;

            case 3:
                switch (motorStateManager.C5Time)
                {
                case 3:
                case 4:
                case 5:
                case 6:
                    base.OnHitGanEvent(sender, e);
                    break;

                default:
                    return;
                }
                break;

            case 4:
                switch (motorStateManager.C5Time)
                {
                case 4:
                case 5:
                    base.OnHitGanEvent(sender, e);
                    break;

                default:
                    return;
                }
                break;
            }
        }
Пример #14
0
 public override void OnHitGanEvent(object sender, SignalEventArgs e)
 {
     base.OnHitGanEvent(sender, e);
     OnFailure(new ExamResultMsg(ResultType.Gan, e.Number));
 }
Пример #15
0
 public override void OnBlockXianEvent(object sender, SignalEventArgs e)
 {
 }
Пример #16
0
        void signals_ItemRemoved(object sender, SignalEventArgs e)
        {
            selectedSignal.Items.Remove(e.Signal.Tag);

            if (!Signals.Contains(SelectedSignal))
            {
                if (Signals.Any())
                    SelectedSignal = Signals.First();
                else if (SelectedSignal != null)
                    SelectedSignal = null;
            }
        }
Пример #17
0
        /// <summary>
        /// サーバーの実行
        /// </summary>
        public void Run()
        {
            try
            {
                serverTime = new ServerTime();
                mrs_initialize();
                mrs_set_ssl_certificate_data(s_SslCertificateData);
                mrs_set_ssl_private_key_data(s_SslPrivateKeyData);


                using (var sig = new ExitSignal())
                    using (var tcp_server = new MrsServerFoundation(MrsConnectionType.TCP, m_ArgServerAddr, m_ServerPort, m_BackLog))             // TCP
                        using (var udp_server = new MrsServerFoundation(MrsConnectionType.UDP, m_ArgServerAddr, m_ServerPort, m_BackLog))         // UDP
                        {
                            sig.SetSignal((obj, e) => {
                                SignalEventArgs event_args = e as SignalEventArgs;
                                MRS_LOG_DEBUG("Event: {0}", event_args.SignalEnums);
                                m_bLoop = false;
                                Thread.Sleep(10);
                            });

                            mrs_server_set_new_connection_callback(tcp_server.Server, OnNewConnection);
                            mrs_server_set_new_connection_callback(udp_server.Server, OnNewConnection);

                            mrs_set_error_callback(tcp_server.Server, m_OnError);
                            mrs_set_error_callback(udp_server.Server, m_OnError);

                            if (!m_isValidRecord)
                            {
                                mrs_set_read_callback(tcp_server.Server, m_OnRead);
                                mrs_set_read_callback(udp_server.Server, m_OnRead);
                            }

                            m_gameProc = new GameProcess();

                            MRS_LOG_DEBUG("{0} listening on {1} {2}", ConnectionTypeToString(tcp_server.Server), m_ArgServerAddr, m_ServerPort);
                            MRS_LOG_DEBUG("{0} waiting on {1} {2}", ConnectionTypeToString(udp_server.Server), m_ArgServerAddr, m_ServerPort);

                            while (m_bLoop)
                            {
                                if (g_gameon)
                                {
                                    m_gameProc.UpdateGame();
                                    //g_payloadType = 0x11;
                                    //SendDataEveryone();
                                }
                                else
                                {
                                    if (some1disconnected)
                                    {
                                        SortPlayerList();
                                    }
                                }

                                mrs_update();
                                mrs_sleep(m_SleepMsec);
                            }
                        }
            }
            catch (Exception e)
            {
                MRS_LOG_ERR("exception: {0}", e.Message);
            }
            finally
            {
                mrs_finalize();
            }
        }