public MessageReceivedEventArgs(Message message) { Message = message; }
public override void OnMessage(String message) { lock (messageLock) { if (string.IsNullOrEmpty(message)) return; Debug.Print("Cybergame message: {0}", message); if (message == "o") { SendAuth(); return; } if (message.Contains(@"a[""{\""command\"":\""")) { try { JArray commands = JArray.Parse( message.Substring(1) ); if( commands.Count <= 0 ) return; foreach (String strCmd in commands) { JToken cmd = JToken.Parse(strCmd); switch ((String)cmd["command"]) { case "setUI": { if (cmd["message"]["write"].ToString().Equals("true",StringComparison.CurrentCultureIgnoreCase)) { isLoggedIn = true; if (OnLogin != null) OnLogin(this, EventArgs.Empty); } } break; case "chatMessage": { if( OnChatMessage != null ) { JToken objMsg = JToken.Parse(cmd["message"].ToString()); if (objMsg == null) return; String user = objMsg["from"].ToString(); String text = objMsg["text"].ToString(); var chatMessage = new Message() { message = text, alias = user }; OnChatMessage(this, new MessageReceivedEventArgs(chatMessage)); } } break; default: Debug.Print("Cybergame unparsed message: " + message); break; } } } catch( Exception e ) { Debug.Print("Cybergame OnMessage error: {0}", e.Message); } } } }