示例#1
0
 private void ProcessLobbySessionStart()
 {
     LobbyUtils.ResetLobbyData();
     Variables.LobbySession = true;
     if (Variables.OverlayWindow == null)
     {
         Variables.OverlayThread = new Thread(() => {
             Variables.OverlayApp    = new Application();
             Variables.OverlayWindow = new MainWindow();
             Task.Delay(500).ContinueWith(task => Variables.OverlayWindow.UpdateConfiguration(Variables.Config, Variables.LobbySession));
             Variables.OverlayWindow.RegisterHotKeyHooks(CopyPlayerStats, CalculateBalancedTeamsRank, CalculateBalancedTeamsTotalGames, CalculateBalancedTeamsWinRatio);
             Variables.OverlayApp.Run(Variables.OverlayWindow);
         });
         Variables.OverlayThread.SetApartmentState(ApartmentState.STA);
         Variables.OverlayThread.Start();
     }
     else
     {
         Variables.OverlayWindow.UpdateConfiguration(Variables.Config, Variables.LobbySession);
     }
     if (Variables.ReplayMode)
     {
         Task.Factory.StartNew(() => new NetHookDumpReaderJob());
     }
     else
     {
         SteamUtils.CheckNethookPaths();
         Task.Delay(5000).ContinueWith(t => SteamUtils.CheckNethookPaths()); //In case NetHook didn't start up fast enough
     }
 }