예제 #1
0
        private void Emit(PUDMEvent evt)
        {
            if (GameManager.GetInstance(this.player_number).delayEmit)
            {
                Thread.Sleep(100);
            }

            // maps the endpoint to the eventType on the server
            var endpoint = hostUri + evt.eventType;

            var httpWebRequest = (HttpWebRequest)WebRequest.Create(endpoint);

            httpWebRequest.ContentType = "application/json";
            httpWebRequest.Method      = "POST";

            using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream())) {
                string json = evt.ToJson();
                //Debug.Log(json);
                streamWriter.Write(json);
            }

            var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();

            using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) {
                var result = streamReader.ReadToEnd();
                //Debug.Log(result);
            }
        }
예제 #2
0
        public void Publish(PUDMEvent evt)
        {
            if (acceptEvents)
            {
                if (evtQueue.Count > maxEvents)
                {
                    Debug.LogWarning("Queue is full, trying to remove older evt...");
                    var removedEvent = evtQueue.Take();

                    if (removedEvent.eventType == "register")
                    {
                        Debug.LogWarning("Removed event was of type Register, adding it back");
                        evtQueue.Add(removedEvent);
                    }
                }

                evtQueue.Add(evt);

                // Debug.Log("Added evt to queue");
            }
        }
예제 #3
0
 public void Publish(PUDMEvent evt)
 {
     publisher.Publish(evt);
 }