static void Main(string[] args) { configureNBug(); SleepHelper.PreventSleep(); if (args != null && args.Length > 0) { foreach (string arg in args) { if (arg.Contains(",")) { Logger.ColoredConsoleWrite(ConsoleColor.Green, $"Found coordinates in command line: {arg}"); if (File.Exists(lastcords)) { Logger.ColoredConsoleWrite(ConsoleColor.Yellow, "Last coords file exists, trying to delete it"); File.Delete(lastcords); } cmdCoords = arg; } } } if (!Directory.Exists(logPath)) { Directory.CreateDirectory(logPath); } if (!File.Exists(pokelog)) { File.Create(pokelog).Close(); } if (!File.Exists(manualTransferLog)) { File.Create(manualTransferLog).Close(); } if (!File.Exists(EvolveLog)) { File.Create(EvolveLog).Close(); } if (args != null && args.Length > 0 && args[0].Contains("-nogui")) { Logger.ColoredConsoleWrite(ConsoleColor.Red, "You added -nogui! If you didnt setup correctly with the GUI. It wont work."); int i = 1; //TODO Implement JSON Load if (Globals.usePwdEncryption) { Globals.password = Encryption.Decrypt(Globals.password); } if (cmdCoords != string.Empty) { string[] crdParts = cmdCoords.Split(','); Globals.latitute = double.Parse(crdParts[0].Replace(',', '.'), GUI.cords, System.Globalization.NumberFormatInfo.InvariantInfo); Globals.longitude = double.Parse(crdParts[1].Replace(',', '.'), GUI.cords, System.Globalization.NumberFormatInfo.InvariantInfo); } Logger.ColoredConsoleWrite(ConsoleColor.Yellow, $"Starting at: {Globals.latitute},{Globals.longitude}"); } else { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new GUI()); if (Globals.pokeList) { Task.Run(() => { Pokemons pokemonList = new Pokemons(); pokemonList.ShowDialog(); }); } } Logger.SetLogger(new Logging.ConsoleLogger(LogLevel.Info)); Globals.infoObservable.HandleNewHuntStats += SaveHuntStats; Task.Run(() => { CheckVersion(); try { new Logic.Logic(new Settings(), Globals.infoObservable).Execute().Wait(); } catch (PtcOfflineException) { Logger.ColoredConsoleWrite(ConsoleColor.Red, "PTC Servers are probably down OR you credentials are wrong.", LogLevel.Error); Logger.ColoredConsoleWrite(ConsoleColor.Red, "Trying again in 20 seconds..."); Thread.Sleep(20000); new Logic.Logic(new Settings(), Globals.infoObservable).Execute().Wait(); } catch (AccountNotVerifiedException) { Logger.ColoredConsoleWrite(ConsoleColor.Red, "Your PTC Account is not activated. Exiting in 10 Seconds."); Thread.Sleep(10000); Environment.Exit(0); } catch (Exception ex) { Logger.ColoredConsoleWrite(ConsoleColor.Red, $"Unhandled exception: {ex}", LogLevel.Error); Logger.Error("Restarting in 20 Seconds."); Thread.Sleep(20000); new Logic.Logic(new Settings(), Globals.infoObservable).Execute().Wait(); } }); System.Console.ReadLine(); SleepHelper.AllowSleep(); }