public static bool EstablishConnection(GameDataObject gameDataObject) { try { while (true) { Process[] pname = Process.GetProcessesByName("SteelSeriesEngine3"); if (pname.Length > 0) { break; } //Wait 30 seconds before trying again. System.Threading.Thread.Sleep(10000); } ConnectToMouseServer(); DayActiveController.DisplayWelcomeScreenAsync(gameDataObject); return(true); } catch (Exception ex) { string currentMethodName = ErrorHandling.GetCurrentMethodName(); ErrorHandling.LogErrorToTxtFile(ex, currentMethodName); EstablishConnection(gameDataObject); } return(false); }
public static async void DisplayWelcomeScreenAsync(GameDataObject gameDataObject) { try { await Connector.BindWelcomeEventAsync(gameDataObject.WelcomeEventHandler); HttpResponseMessage response = await Connector.Client.PostAsJsonAsync( "game_event", gameDataObject.WelcomeDataPayLoad); } catch (Exception ex) { string currentMethodName = ErrorHandling.GetCurrentMethodName(); ErrorHandling.LogErrorToTxtFile(ex, currentMethodName); if (Connector.EstablishConnection(gameDataObject)) { DisplayWelcomeScreenAsync(gameDataObject); } } }
public static void StartMonitoringTimer(GameDataObject gameDataObject) { try { _timer = new System.Threading.Timer( _ => { CalculateTimeLeft(); }, null, TimeSpan.FromSeconds(8), TimeSpan.FromSeconds(60) ); } catch (Exception ex) { string currentMethodName = ErrorHandling.GetCurrentMethodName(); ErrorHandling.LogErrorToTxtFile(ex, currentMethodName); } }
public static async void BindGameEvent(GameDataObject gameDataObject) { try { HttpResponseMessage response = await Connector.Client.PostAsJsonAsync( "bind_game_event", gameDataObject.GameEventHandler); response.EnsureSuccessStatusCode(); } catch (Exception ex) { string currentMethodName = ErrorHandling.GetCurrentMethodName(); ErrorHandling.LogErrorToTxtFile(ex, currentMethodName); if (Connector.EstablishConnection(gameDataObject)) { BindGameEvent(gameDataObject); } } }
public static async void RegisterGameMetaData(GameDataObject gameDataObject) { try { GameDataObject = gameDataObject; HttpResponseMessage response = await Connector.Client.PostAsJsonAsync( "game_metadata", gameDataObject.GameMetaData); response.EnsureSuccessStatusCode(); } catch (Exception ex) { string currentMethodName = ErrorHandling.GetCurrentMethodName(); ErrorHandling.LogErrorToTxtFile(ex, currentMethodName); if (Connector.EstablishConnection(gameDataObject)) { RegisterGameMetaData(gameDataObject); } } }