void TankMoveDone(object sender, RoutedEventArgs e) { ReneCommunicatorBroadcast rcb = e.OriginalSource as ReneCommunicatorBroadcast; this.Dispatcher.BeginInvoke(DispatcherPriority.Normal, new System.Windows.Forms.MethodInvoker(delegate() { Vector v = (Vector)rcb.Data; foreach (User u in M.Session.Users) { if (u.PublicKey == rcb.sender.PublicKey) { if (u.Tank.InteractiveElement == null) { InteractiveElement ie = new InteractiveElement(); ie.Background = Brushes.Red; ie.Width = 25; ie.Height = 25; ie.HorizontalAlignment = HorizontalAlignment.Left; ie.VerticalAlignment = VerticalAlignment.Top; Grid g = this.Template.FindName("PART_Tanks", this) as Grid; g.Children.Add(ie); u.Tank.InteractiveElement = ie; } u.Tank.InteractiveElement.SetPosition(v); if (u.PublicKey == M.Session.User.PublicKey) { M.Session.User.Tank.InteractiveElement = u.Tank.InteractiveElement; } } } })); }
/* ******************** */ /* ******************** */ /* Generic Calls */ /* ******************** */ /* ******************** */ #region Generic // ReneCommunicatorFile request = S.Download(new ReneCommunicatorFileRequest()); void UserConnect(object sender, RoutedEventArgs e) { ReneCommunicatorBroadcast rcb = e.OriginalSource as ReneCommunicatorBroadcast; foreach (User u in M.Session.Users) { if (u.PublicKey == rcb.sender.PublicKey) { return; } } M.Session.Users.Add(rcb.sender); }
void UserDisconnect(object sender, RoutedEventArgs e) { Console.WriteLine("DISCONNECT!!!"); ReneCommunicatorBroadcast rcb = e.OriginalSource as ReneCommunicatorBroadcast; foreach (User u in M.Session.Users) { if (u.PublicKey == rcb.sender.PublicKey) { M.Session.Users.Remove(u); return; } } }
void ReneCommunicatorBridge_BroadcastReceived(ReneCommunicatorBroadcast rcb, EventArgs e) { E.RaiseEvent(rcb.Event, rcb.Data); }
void ReneCommunicatorBridge_BroadcastReceived(ReneCommunicatorBroadcast rcb, EventArgs e) { }