コード例 #1
0
        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;
                        }
                    }
                }
            }));
        }
コード例 #2
0
        /* ******************** */
        /* ******************** */
        /* 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);
        }
コード例 #3
0
        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;
                }
            }
        }
コード例 #4
0
ファイル: ControlView.cs プロジェクト: gavinmyers/rene
 void ReneCommunicatorBridge_BroadcastReceived(ReneCommunicatorBroadcast rcb, EventArgs e)
 {
     E.RaiseEvent(rcb.Event, rcb.Data);
 }
コード例 #5
0
ファイル: Window1.xaml.cs プロジェクト: gavinmyers/rene
 void ReneCommunicatorBridge_BroadcastReceived(ReneCommunicatorBroadcast rcb, EventArgs e)
 {
 }