private static void EnterGame(Tuple <PasswordOAuthContext, string> loginContext) { Console.Clear(); var gameClient = ApiHelper.GetGameClient(loginContext.Item1); var gr = new GameRunner(loginContext.Item2, loginContext.Item1, gameClient); var adminManagerClient = ApiHelper.GetAdminClient(loginContext.Item1); var ac = new AdminConsole(loginContext.Item2, _userPassword, loginContext.Item1, adminManagerClient, _serverInfo, _serverPort); var gameData = gr.GetGameData(); gr.DisplayGameData(gameData); ConsoleKeyInfo keyInfo; while ((keyInfo = Console.ReadKey(true)).Key != ConsoleKey.Escape) { try { if (keyInfo.Key == ConsoleKey.Enter) { gr.PerformManualStep(); } else if ((int)keyInfo.Key >= 65 && (int)keyInfo.Key <= 90) { gr.BuyFundDriver(keyInfo); } else if (keyInfo.Key == ConsoleKey.Multiply) { gr.FightAgainstCorruption(); } else if (keyInfo.Key == ConsoleKey.Add) { gr.PerformFiveYearPlan(); } else if (keyInfo.Key == ConsoleKey.F5) { gr.DisplayGameData(gr.GetGameData()); } else if (keyInfo.Key == ConsoleKey.F2) { ac.StartMenu(); gr.Invalidate(); } else if (keyInfo.Key == ConsoleKey.F3) { ErrorCode = ApiHelper.UserLogout(gr.ServerContext); _userName = null; break; } if (gr.ErrorCode != null) { if (gr.ErrorCode == ErrorCodes.InvalidSessionError || gr.ErrorCode == ErrorCodes.OtherError) { gr.Invalidate(); return; } } } catch (Exception) { } } }