public static void MainLoop() { while (!threadStop) { bool isGameRunning = Process.GetProcessesByName("csgo").Length > 0; if (gameRunning != isGameRunning) { PresenceManager.ProcessRunningStatusUpdated(isGameRunning); gameRunning = isGameRunning; } Thread.Sleep(1000); } }
public static void ListenerCallback(IAsyncResult result) { try { HttpListener listener = (HttpListener)result.AsyncState; HttpListenerContext context = listener.EndGetContext(result); HttpListenerRequest request = context.Request; string streamContents; using (Stream receiveStream = request.InputStream) { using (StreamReader readStream = new StreamReader(receiveStream, Encoding.UTF8)) { streamContents = readStream.ReadToEnd(); } } LastMessage = streamContents; PresenceManager.GameStateMessage(streamContents); HttpListenerResponse response = context.Response; string responseString = "OK"; byte[] buffer = System.Text.Encoding.UTF8.GetBytes(responseString); response.ContentLength64 = buffer.Length; Stream output = response.OutputStream; output.Write(buffer, 0, buffer.Length); output.Close(); } catch (HttpListenerException) { } catch (ObjectDisposedException) { } }