コード例 #1
0
        public static async Task OnWindowLoadedAsync()
        {
            Ex.Log("SystemManager.OnWindowLoadedAsync()");
            Ex.Catch("SystemManager: Попытка скрыть панель задач", () =>
            {
#pragma warning disable CS0162 // Unreachable code detected
                if (false)
                {
                    Taskbar.Hide();
                }
#pragma warning restore CS0162 // Unreachable code detected
#if DEBUG
#else
                Taskbar.Hide();
#endif
            });

            Ex.Log("SystemManager.Taskbar.Hide() passed.");

            if (!isRe1ParamExist)
            {
                isSensorWasActiveOnLaunch = await DeviceManagerApi.IsSensorExistAsync();
            }
            else
            {
                isSensorWasActiveOnLaunch = true;
            }

            Ex.Log($"SystemManager.isSensorWasActiveOnLaunch={isSensorWasActiveOnLaunch}");
            GameManager.KillAllGames().RunParallel();
            CheckSensor().RunParallel();
            //mh = new MouseHookAdapter();
            if (isSensorWasActiveOnLaunch == false)
            {
                OnSensorFound += RelaunchApp;
            }
            ComPort.PortReader().RunParallel();
            Ex.Log($"SystemManager.isRelaunched={isRe1ParamExist}");
            Ex.Log($"SystemManager.isShowTaskbarOnExit={isShowTaskbarOnExit}");
            SetRegDisableSwipeEdgeMachine();
            OnScreenSaverDetected += async() => await GameManager.KillAllGames();

            CheckScreenSaver().RunParallel();
            WarningSwipe();
        }
コード例 #2
0
        public static async Task PortReader()
        {
            Ex.Log("ComPort.PortReader()");
            await Task.Delay(2000);

            while (port == null)
            {
                port = await FindPort();

                await Task.Delay(2000);
            }
            Ex.Log($"Получен порт ардуино с нужными данными - {port.PortName}. Начинаем читать его.");
            while (true)
            {
                if (port.IsOpen)
                {
                    int gotbytes = 0;
                    Ex.Try(() =>
                           { gotbytes = port.BytesToRead; });
                    try
                    {
                        if (gotbytes > 0)
                        {
                            await Task.Run(async() =>
                            {
                                var answer = ReadPortIncomes(port);
                                if (answer.Txt.Contains("{button=1}"))
                                {
                                    Ex.Log("Кнопка закрытия игры нажата.");
                                    GameManager.KillAllGames().RunParallel();
                                    await Task.Delay(4000);
                                    port.DiscardInBuffer();
                                }
                            });
                        }
                    }
                    catch { }
                }
                await Task.Delay(600);
            }
        }