예제 #1
0
        private void GetAttachments()
        {
            if (this.InvokeRequired)
            {
                this.BeginInvoke(new MethodInvoker(delegate()
                {
                    GetAttachments();
                }));

                return;
            }

            List <Primitive> prims = client.Network.CurrentSim.ObjectsPrimitives.FindAll(
                new Predicate <Primitive>(delegate(Primitive prim)
            {
                try
                {
                    return(prim.ParentID == av.LocalID);
                }
                catch { return(false); }
            }));

            lbxPrims.BeginUpdate();
            lbxPrims.Items.Clear();

            foreach (Primitive prim in prims)
            {
                try
                {
                    AttachmentsListItem item = new AttachmentsListItem(prim, client, lbxPrims);

                    if (!listItems.ContainsKey(prim.LocalID))
                    {
                        listItems.Add(prim.LocalID, item);

                        item.PropertiesReceived += new EventHandler(item_PropertiesReceived);
                        item.RequestProperties();
                    }
                }
                catch
                {
                    ;
                }
            }

            lbxPrims.EndUpdate();
            lbxPrims.Visible = true;
        }
예제 #2
0
        //private void Self_TeleportProgress(object sender, TeleportEventArgs e)
        //{
        //    if (!this.IsHandleCreated) return;
        //    switch (e.Status)
        //    {
        //        case TeleportStatus.Start:
        //        case TeleportStatus.Progress:
        //        case TeleportStatus.Failed:
        //        case TeleportStatus.Cancelled:
        //            return;
        //        case TeleportStatus.Finished:
        //            WorkPool.QueueUserWorkItem(delegate(object sync)
        //            {
        //                Cursor.Current = Cursors.WaitCursor;
        //                Thread.Sleep(6000);
        //                ReLoadItems();
        //                //GetAttachments();
        //                Cursor.Current = Cursors.Default;
        //            });
        //            return;
        //    }
        //}
        private void ReLoadItems()
        {
            try
            {
                Avatar sav = client.Network.CurrentSim.ObjectsAvatars.Find(delegate(Avatar fa)
                {
                    return fa.ID == av.ID;
                }
                );

                if (sav != null)
                {
                    List<Primitive> prims = client.Network.CurrentSim.ObjectsPrimitives.FindAll(
                            new Predicate<Primitive>(delegate(Primitive prim)
                            {
                                try
                                {
                                    return (prim.ParentID == sav.LocalID);
                                }
                                catch { return false; }
                            }));

                    this.BeginInvoke(new MethodInvoker(delegate()
                    {
                        lbxPrims.BeginUpdate();
                        lbxPrims.Items.Clear();

                        foreach (Primitive prim in prims)
                        {
                            try
                            {
                                AttachmentsListItem item = new AttachmentsListItem(prim, client, lbxPrims);

                                if (!listItems.ContainsKey(prim.LocalID))
                                {
                                    listItems.Add(prim.LocalID, item);

                                    item.PropertiesReceived += new EventHandler(item_PropertiesReceived);
                                    item.RequestProperties();
                                }
                            }
                            catch
                            {
                                ;
                            }
                        }

                        lbxPrims.EndUpdate();
                        lbxPrims.Visible = true;

                        pBar3.Visible = false;
                    }));
                }
                else
                {
                    //this.Close();
                    this.Dispose();
                }
            }
            catch { ; }
        }
예제 #3
0
        private void lbxPrims_SelectedIndexChanged(object sender, EventArgs e)
        {
            txtUUID.Text = string.Empty;
            txtPoint.Text = string.Empty;

            label4.Text = string.Empty;

            lbxPrimGroup.BeginUpdate();

            int iDx = lbxPrims.SelectedIndex;
            lbxPrimGroup.Items.Clear();
            label2.Text = string.Empty;

            if (iDx < 0)
            {
                btnTouch.Enabled = false;
                button2.Enabled = false;

                if (av.ID == client.Self.AgentID) button1.Enabled = false;
                return;
            }
            else
            {
                button2.Enabled = true;
                if (av.ID == client.Self.AgentID) button1.Enabled = true;
            }

            AttachmentsListItem item = (AttachmentsListItem)lbxPrims.Items[iDx];

            if ((item.Prim.Flags & PrimFlags.Touch) == PrimFlags.Touch)
            {
                btnTouch.Enabled = true;
            }
            else
            {
                btnTouch.Enabled = false;
            }

            txtUUID.Text = item.Prim.ID.ToString();
            txtPoint.Text = item.Prim.PrimData.AttachmentPoint.ToString();

            List<Primitive> group = client.Network.CurrentSim.ObjectsPrimitives.FindAll(
                delegate(Primitive prim)
                {
                    return (prim.ParentID == item.Prim.LocalID);
                }
            );

            label5.Text = item.Prim.Text;

            foreach (Primitive gprim in group)
            {
                try
                {
                    AttachmentsListItem gitem = new AttachmentsListItem(gprim, client, lbxPrimGroup);

                    gitem.PropertiesReceived += new EventHandler(gitem_PropertiesReceived);
                    gitem.RequestProperties();
                }
                catch
                {
                    ;
                }
            }

            lbxPrimGroup.EndUpdate();
        }
예제 #4
0
        private void GetAttachments()
        {
            if (this.InvokeRequired)
            {
                this.BeginInvoke(new MethodInvoker(delegate()
                {
                    GetAttachments();
                }));

                return;
            }

            List<Primitive> prims = client.Network.CurrentSim.ObjectsPrimitives.FindAll(
                new Predicate<Primitive>(delegate(Primitive prim)
                {
                    try
                    {
                        return (prim.ParentID == av.LocalID);
                    }
                    catch { return false; }
                }));

            lbxPrims.BeginUpdate();
            lbxPrims.Items.Clear();

            foreach (Primitive prim in prims)
            {
                try
                {
                    AttachmentsListItem item = new AttachmentsListItem(prim, client, lbxPrims);

                    if (!listItems.ContainsKey(prim.LocalID))
                    {
                        listItems.Add(prim.LocalID, item);

                        item.PropertiesReceived += new EventHandler(item_PropertiesReceived);
                        item.RequestProperties();
                    }
                }
                catch
                {
                    ;
                }
            }

            lbxPrims.EndUpdate();
            lbxPrims.Visible = true;
        }
예제 #5
0
        private void lbxPrims_SelectedIndexChanged(object sender, EventArgs e)
        {
            txtUUID.Text  = string.Empty;
            txtPoint.Text = string.Empty;

            label4.Text = string.Empty;

            lbxPrimGroup.BeginUpdate();

            int iDx = lbxPrims.SelectedIndex;

            lbxPrimGroup.Items.Clear();
            label2.Text = string.Empty;

            if (iDx < 0)
            {
                btnTouch.Enabled = false;
                button2.Enabled  = false;

                if (av.ID == client.Self.AgentID)
                {
                    button1.Enabled = false;
                }
                return;
            }
            else
            {
                button2.Enabled = true;
                if (av.ID == client.Self.AgentID)
                {
                    button1.Enabled = true;
                }
            }

            AttachmentsListItem item = (AttachmentsListItem)lbxPrims.Items[iDx];

            if ((item.Prim.Flags & PrimFlags.Touch) == PrimFlags.Touch)
            {
                btnTouch.Enabled = true;
            }
            else
            {
                btnTouch.Enabled = false;
            }

            txtUUID.Text  = item.Prim.ID.ToString();
            txtPoint.Text = item.Prim.PrimData.AttachmentPoint.ToString();

            List <Primitive> group = client.Network.CurrentSim.ObjectsPrimitives.FindAll(
                delegate(Primitive prim)
            {
                return(prim.ParentID == item.Prim.LocalID);
            }
                );

            label5.Text = item.Prim.Text;

            foreach (Primitive gprim in group)
            {
                try
                {
                    AttachmentsListItem gitem = new AttachmentsListItem(gprim, client, lbxPrimGroup);

                    gitem.PropertiesReceived += new EventHandler(gitem_PropertiesReceived);
                    gitem.RequestProperties();
                }
                catch
                {
                    ;
                }
            }

            lbxPrimGroup.EndUpdate();
        }
예제 #6
0
        //private void Self_TeleportProgress(object sender, TeleportEventArgs e)
        //{
        //    if (!this.IsHandleCreated) return;

        //    switch (e.Status)
        //    {
        //        case TeleportStatus.Start:
        //        case TeleportStatus.Progress:
        //        case TeleportStatus.Failed:
        //        case TeleportStatus.Cancelled:
        //            return;

        //        case TeleportStatus.Finished:
        //            WorkPool.QueueUserWorkItem(delegate(object sync)
        //            {
        //                Cursor.Current = Cursors.WaitCursor;
        //                Thread.Sleep(6000);
        //                ReLoadItems();
        //                //GetAttachments();
        //                Cursor.Current = Cursors.Default;
        //            });

        //            return;
        //    }
        //}

        private void ReLoadItems()
        {
            try
            {
                Avatar sav = client.Network.CurrentSim.ObjectsAvatars.Find(delegate(Avatar fa)
                {
                    return(fa.ID == av.ID);
                }
                                                                           );

                if (sav != null)
                {
                    List <Primitive> prims = client.Network.CurrentSim.ObjectsPrimitives.FindAll(
                        new Predicate <Primitive>(delegate(Primitive prim)
                    {
                        try
                        {
                            return(prim.ParentID == sav.LocalID);
                        }
                        catch { return(false); }
                    }));

                    this.BeginInvoke(new MethodInvoker(delegate()
                    {
                        lbxPrims.BeginUpdate();
                        lbxPrims.Items.Clear();

                        foreach (Primitive prim in prims)
                        {
                            try
                            {
                                AttachmentsListItem item = new AttachmentsListItem(prim, client, lbxPrims);

                                if (!listItems.ContainsKey(prim.LocalID))
                                {
                                    listItems.Add(prim.LocalID, item);

                                    item.PropertiesReceived += new EventHandler(item_PropertiesReceived);
                                    item.RequestProperties();
                                }
                            }
                            catch
                            {
                                ;
                            }
                        }

                        lbxPrims.EndUpdate();
                        lbxPrims.Visible = true;

                        pBar3.Visible = false;
                    }));
                }
                else
                {
                    //this.Close();
                    this.Dispose();
                }
            }
            catch {; }
        }