Exemple #1
0
        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)
            {
            }
        }