Ejemplo n.º 1
0
 private void OnMessageReceived(object sender, SocketIOClient.MessageEventArgs e)
 {
     SocketIOClient.Messages.TextMessage msg = e.Message as SocketIOClient.Messages.TextMessage;
     if (null != msg)
     {
         JsonMessageDispatcher.HandleNodeMessage(msg.MessageText);
     }
 }
Ejemplo n.º 2
0
        void socket_Message(object sender, SocketIOClient.MessageEventArgs e)
        {
            //Console.WriteLine(e.Message.RawMessage);
            //FIX FOR BAD PARSING OF SAILS MESSAGE
            //Console.WriteLine(e.Message.Event);
            try
            {
                if (e.Message.MessageText != null)
                {
                    if (e.Message.Event == "message")
                    {
                    }
                    //Console.WriteLine(e.Message.MessageText);

                    var sm = JsonConvert.DeserializeObject <SailsMessage>(e.Message.MessageText);

                    if ((e.Message.Event == "message" || e.Message.Event == "user") && sm.args[0].data.ContainsKey("msg"))
                    {
                        if (sm.args[0].data.ContainsKey("forcedie") && OnCantReconnect != null)
                        {
                            OnCantReconnect();
                        }
                        else if (OnNewMessage != null)
                        {
                            OnNewMessage(sm.args[0].data["msg"].ToString(), sm.args[0].data.ContainsKey("dialog"), sm.args[0].data.ContainsKey("shots"));
                        }
                    }

                    //if (sm.model == "event" && sm.data.ContainsKey("timer") && OnTimer!=null)
                    //{
                    //    OnTimer(int.Parse(sm.data["timer"].ToString()));
                    //}

                    //if (sm.model == "event" && sm.data.ContainsKey("msg") && OnNewMessage != null)
                    //{
                    //    OnNewMessage(sm.data["msg"].ToString(), sm.data.ContainsKey("dialog"), sm.data.ContainsKey("shots"));
                    //}

                    if (e.Message.Event == "user" && sm.args[0].data.ContainsKey("changerole") && OnChangeRole != null)
                    {
                        OnChangeRole(int.Parse(sm.args[0].data["changerole"].ToString()));
                    }

                    if (e.Message.Event == "user" && sm.args[0].data.ContainsKey("getshot") && OnChangeShot != null)
                    {
                        OnChangeShot(int.Parse(sm.args[0].data["getshot"].ToString()), sm.args[0].data["meta"].ToString(), int.Parse(sm.args[0].data["coverage_class"].ToString()));
                    }

                    if (e.Message.Event == "user" && sm.args[0].data.ContainsKey("shootnow") && OnShootNow != null)
                    {
                        OnShootNow(int.Parse(sm.args[0].data["shootnow"].ToString()));
                    }

                    if (e.Message.Event == "user" && sm.args[0].data.ContainsKey("loginelsewhere") && OnLoginElsewhere != null)
                    {
                        OnLoginElsewhere();
                    }

                    if (e.Message.Event == "user" && sm.args[0].data.ContainsKey("live") && !sm.args[0].data.ContainsKey("length") && OnLive != null)
                    {
                        if (sm.args[0].data.ContainsKey("shot_length"))
                        {
                            OnLive(bool.Parse(sm.args[0].data["live"].ToString()), int.Parse(sm.args[0].data["shot_length"].ToString()));
                        }
                        else
                        {
                            OnLive(bool.Parse(sm.args[0].data["live"].ToString()), 0);
                        }
                    }

                    if (e.Message.Event == "user" && sm.args[0].data.ContainsKey("modechange") && OnModeChange != null)
                    {
                        OnModeChange(sm.args[0].data["modechange"].ToString());
                    }

                    if (e.Message.Event == "user" && sm.args[0].data.ContainsKey("length") && OnUserUpdate != null)
                    {
                        OnUserUpdate(int.Parse(sm.args[0].data["length"].ToString()), int.Parse(sm.args[0].data["warning"].ToString()), int.Parse(sm.args[0].data["live"].ToString()), int.Parse(sm.args[0].data["cameragap"].ToString()));
                    }

                    if (e.Message.Event == "user" && sm.args[0].data.ContainsKey("eventstarted") && OnEventStarted != null)
                    {
                        if (bool.Parse(sm.args[0].data["eventstarted"].ToString()))
                        {
                            OnEventStarted();
                        }
                    }

                    if (e.Message.Event == "user" && sm.args[0].data.ContainsKey("phasechange") && OnPhaseChange != null)
                    {
                        OnPhaseChange(int.Parse(sm.args[0].data["phasechange"].ToString()));
                    }

                    if (e.Message.Event == "user" && sm.args[0].data.ContainsKey("eventupdate") && OnEventUpdated != null)
                    {
                        OnEventUpdated(JsonConvert.DeserializeObject <Event>(sm.args[0].data["eventupdate"].ToString()));
                    }

                    if (e.Message.Event == "edits" && sm.args[0].data.ContainsKey("edit") && OnEditUpdated != null)
                    {
                        OnEditUpdated(JsonConvert.DeserializeObject <Edit>(sm.args[0].data["edit"].ToString()));
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }