示例#1
0
        private void OnSCReceiveEvent(object sender, SCManagerEventSCEvent e)
        {
            if (e.Evt_Id == EVENT_ID.PERIODIQUE)
            {
                return;
            }
            if ((uint)e.Evt_Id < 100)
            {
                switch (e.Evt_Id)
                {
                case EVENT_ID.PARKING_BRAKE:
#if DEBUG
                    if (e.Data > 0)
                    {
                        Log.LogMessage("AnalyseManager: Le frein de parking est activé", Color.DarkViolet, 1);
                    }
                    else
                    {
                        Log.LogMessage("AnalyseManager: Le frein de parking est désactivé", Color.DarkViolet, 1);
                    }
#endif
                    UpdateEvent(EVENT_ID.PARKING_BRAKE, e.Data);
                    break;

                case EVENT_ID.OVERSPEED:
#if DEBUG
                    if (e.Data > 0)
                    {
                        Log.LogMessage("AnalyseManager: L'avion est en survitesse", Color.DarkViolet, 1);
                    }
                    else
                    {
                        Log.LogMessage("AnalyseManager: L'avion n'est plus en survitesse", Color.DarkViolet, 1);
                    }
#endif
                    UpdateEvent(EVENT_ID.OVERSPEED, e.Data);
                    break;

                case EVENT_ID.STALLING:
#if DEBUG
                    if (e.Data > 0)
                    {
                        Log.LogMessage("AnalyseManager: L'avion est en décrochage", Color.DarkViolet, 1);
                    }
                    else
                    {
                        Log.LogMessage("AnalyseManager: L'avion n'est plus en décrochage", Color.DarkViolet, 1);
                    }
#endif
                    UpdateEvent(EVENT_ID.STALLING, e.Data);
                    break;

                case EVENT_ID.CRASH:
#if DEBUG
                    switch (e.Data)
                    {
                    case 11:
                        Log.LogMessage("AnalyseManager: L'avion vient de se crasher", Color.DarkViolet, 1);
                        break;

                    default:
                        break;
                    }
#endif
                    UpdateEvent(EVENT_ID.CRASH, e.Data);
                    break;

                case EVENT_ID.SLEW:
#if DEBUG
                    if (e.Data > 0)
                    {
                        Log.LogMessage("AnalyseManager: La transposition est activée", Color.DarkViolet, 1);
                    }
                    else
                    {
                        Log.LogMessage("AnalyseManager: La transposition est désactivée", Color.DarkViolet, 1);
                    }
#endif
                    UpdateEvent(EVENT_ID.SLEW, e.Data);
                    break;

                case EVENT_ID.PUSHBACK:
#if DEBUG
                    Log.LogMessage("AnalyseManager: Repoussage = " + e.Data.ToString(), Color.DarkViolet, 1);
#endif
                    UpdateEvent(EVENT_ID.PUSHBACK, e.Data);
                    break;

                case EVENT_ID.ON_GROUND:
                    if ((e.Data >= 0) && (e.Data <= 1))
                    {
#if DEBUG
                        if (e.Data == 1)
                        {
                            Log.LogMessage("AnalyseManager: L'avion est au sol.", Color.DarkViolet, 1);
                        }
                        else
                        {
                            Log.LogMessage("AnalyseManager: L'avion a décollé.", Color.DarkViolet, 1);
                        }
#endif
                        UpdateEvent(EVENT_ID.ON_GROUND, e.Data);
                    }
                    break;

                case EVENT_ID.SIMSTART:
                    UpdateEvent(EVENT_ID.SIMSTART, 1);
#if DEBUG
                    Log.LogMessage("AnalyseManager: SIMSTART Event", Color.DarkViolet, 1);
#endif
                    break;

                case EVENT_ID.SIMSTOP:
                    UpdateEvent(EVENT_ID.SIMSTART, 0);
#if DEBUG
                    Log.LogMessage("AnalyseManager: SIMSTOP Event", Color.DarkViolet, 1);
#endif
                    break;

                case EVENT_ID.PAUSE:
                    if (e.Data == 1)
                    {
#if DEBUG
                        Log.LogMessage("AnalyseManager: La pause est activée", Color.DarkViolet, 1);
#endif
                        UpdateEvent(EVENT_ID.PAUSE, 1);
                    }
                    if (e.Data == 0)
                    {
#if DEBUG
                        Log.LogMessage("AnalyseManager: La pause est désactivée", Color.DarkViolet, 1);
#endif
                        UpdateEvent(EVENT_ID.PAUSE, 0);
                    }
                    break;

                case EVENT_ID.FLAPS_HANDLE_PERCENT:
#if DEBUG
                    Log.LogMessage("AnalyseManager: Position des volets changés : " + e.Data, Color.DarkViolet, 1);
#endif
                    break;

                case EVENT_ID.FLAPS_HANDLE_INDEX:
                    UpdateEvent(EVENT_ID.FLAPS_HANDLE_INDEX, e.Data);
#if DEBUG
                    Log.LogMessage("AnalyseManager: Levier des volets changés : " + e.Data, Color.DarkViolet, 1);
#endif
                    break;

                case EVENT_ID.GEAR_HANDLE_POSITION:
                    UpdateEvent(EVENT_ID.GEAR_HANDLE_POSITION, e.Data);
#if DEBUG
                    Log.LogMessage("AnalyseManager: Position du train changé : " + e.Data, Color.DarkViolet, 1);
#endif
                    break;

                case EVENT_ID.ALTIMETER_SETTING:
#if DEBUG
                    Log.LogMessage("AnalyseManager: Réglage Altimètre changé : " + e.Data, Color.DarkViolet, 1);
#endif
                    UpdateEvent(EVENT_ID.ALTIMETER_SETTING, e.Data);
                    break;

                case EVENT_ID.LANDING_LIGHT:
                    UpdateEvent(EVENT_ID.LANDING_LIGHT, e.Data);
#if DEBUG
                    Log.LogMessage("AnalyseManager: Etat feux d'attérissage changé : " + e.Data, Color.DarkViolet, 1);
#endif
                    break;

                case EVENT_ID.STROBE_LIGHT:
                    UpdateEvent(EVENT_ID.STROBE_LIGHT, e.Data);
#if DEBUG
                    Log.LogMessage("AnalyseManager: Etat du feux à éclat changé : " + e.Data, Color.DarkViolet, 1);
#endif
                    break;

                case EVENT_ID.BEACON_LIGHT:
                    UpdateEvent(EVENT_ID.BEACON_LIGHT, e.Data);
#if DEBUG
                    Log.LogMessage("AnalyseManager: Etat du feux rouge changé : " + e.Data, Color.DarkViolet, 1);
#endif
                    break;

                case EVENT_ID.NAV_LIGHT:
                    UpdateEvent(EVENT_ID.NAV_LIGHT, e.Data);
#if DEBUG
                    Log.LogMessage("AnalyseManager: Etat du feux de navigation changé : " + e.Data, Color.DarkViolet, 1);
#endif
                    break;

                case EVENT_ID.RECOGNITION_LIGHT:
                    UpdateEvent(EVENT_ID.RECOGNITION_LIGHT, e.Data);
#if DEBUG
                    Log.LogMessage("AnalyseManager: Etat du feux de reconnaissance changé : " + e.Data, Color.DarkViolet, 1);
#endif
                    break;

                case EVENT_ID.SMOKE_ENABLE:
                    UpdateEvent(EVENT_ID.SMOKE_ENABLE, e.Data);
#if DEBUG
                    Log.LogMessage("AnalyseManager: Etat de la fumée changée : " + e.Data, Color.DarkViolet, 1);
#endif
                    break;

                default:
#if DEBUG
                    Log.LogMessage("AnalyseManager: Recu un évenement non géré ID=" + (uint)e.Evt_Id + " : " + ((EVENT_ID)(e.Evt_Id)).ToString() + " : " + e.Data, Color.DarkViolet, 1);
#endif
                    break;
                }
            }
        }
示例#2
0
 /// <summary>
 /// Réception d'un Event SimConnect
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void OnSCReceiveEvent(object sender, SCManagerEventSCEvent e)
 {
     //SendEvent(e.Evt_Id, e.Data);
 }