private async Task InitializeSimConnectAsync(SimConnectFlightConnector simConnect)
        {
            try
            {
                myNotifyIcon.Icon = new Icon("Images/[email protected]");
            }
            catch (Exception ex)
            {
                logger.LogWarning(ex, "Cannot set System tray icon");
            }
            while (true)
            {
                try
                {
                    simConnect.Initialize(Handle);
                    eventRegistrar.ReInitializeEvents();
                    try
                    {
                        myNotifyIcon.Icon = new Icon("Images/[email protected]");
                    }
                    catch (Exception ex)
                    {
                        logger.LogWarning(ex, "Cannot set System tray icon");
                    }

                    simConnect.Send("Connected to Stream Deck plugin");
                    break;
                }
                catch (COMException ex)
                {
                    logger.LogDebug(ex, "SimConnect error.");
                    await Task.Delay(5000).ConfigureAwait(true);
                }
            }
        }
 private async Task InitializeSimConnectAsync(SimConnectFlightConnector simConnect)
 {
     myNotifyIcon.Icon = new Icon("Images/[email protected]");
     while (true)
     {
         try
         {
             simConnect.Initialize(Handle);
             myNotifyIcon.Icon = new Icon("Images/[email protected]");
             simConnect.Send("Connected to Stream Deck plugin");
             break;
         }
         catch (COMException)
         {
             await Task.Delay(5000).ConfigureAwait(true);
         }
     }
 }
예제 #3
0
 private async Task InitializeSimConnectAsync(SimConnectFlightConnector simConnect, MainViewModel viewModel)
 {
     while (true)
     {
         try
         {
             viewModel.SimConnectionState = ConnectionState.Connecting;
             simConnect.Initialize(Handle);
             viewModel.SimConnectionState = ConnectionState.Connected;
             break;
         }
         catch (COMException)
         {
             viewModel.SimConnectionState = ConnectionState.Failed;
             await Task.Delay(5000).ConfigureAwait(true);
         }
     }
 }
예제 #4
0
        private async Task InitializeSimConnectAsync(SimConnectFlightConnector simConnect, MainViewModel viewModel)
        {
            while (true)
            {
                try
                {
                    var userPrefLoader = ServiceProvider.GetService <UserPreferencesLoader>();
                    var slowMode       = await userPrefLoader.GetSettingsAsync(o => o.SlowMode);

                    viewModel.SimConnectionState = ConnectionState.Connecting;
                    simConnect.Initialize(Handle, slowMode);
                    viewModel.SimConnectionState = ConnectionState.Connected;
                    break;
                }
                catch (COMException)
                {
                    viewModel.SimConnectionState = ConnectionState.Failed;
                    await Task.Delay(5000).ConfigureAwait(true);
                }
            }
        }