private void TypingStatusChanged(Strangers s, bool TypingStatus) { if (s == Strangers.Stranger1) { if (TypingStatus) StatusEvent = StatusEvent | 1; //either 1 or 3 else StatusEvent = StatusEvent & (StatusEvent & 2); //either 0 or 2 } else { if (TypingStatus) StatusEvent = StatusEvent | 2; //either 1 or 3 else StatusEvent = StatusEvent & (StatusEvent & 1); //either 0 or 1 } StatusEventArgs se = new StatusEventArgs(((StatusEvent & 1) == 1), ((StatusEvent & 2) == 2)); //Set Status's switch (StatusEvent){ case 0: Stranger1.StopTyping(); Stranger2.StopTyping(); break; case 1: Stranger1.StartTyping(); Stranger2.StopTyping(); break; case 2: Stranger1.StopTyping(); Stranger2.StartTyping(); break; default: Stranger1.StartTyping(); Stranger2.StartTyping(); break; } //throw new NotImplementedException(); OnStatusChanged(se); }
/// <summary> /// Sends a message as stranger s to the other stranger /// </summary> /// <param name="s">Stranger your sending as</param> /// <param name="message">Message to send</param> public void SendMessage(Strangers s, string message) { if (s == Strangers.Stranger1) { if (Stranger2.IsConnected) Stranger2.SendMessage(message); else stranger2backlog.Enqueue(message); ChatBrowser.PrintMessage("Stranger1(You)", message, System.Drawing.Color.DarkBlue); } else { if (Stranger1.IsConnected) Stranger1.SendMessage(message); else stranger1backlog.Enqueue(message); ChatBrowser.PrintMessage("Stranger2(You)", message, System.Drawing.Color.DarkRed); } }