Ejemplo n.º 1
0
        private Packet OutAvatarPropertiesRequestHandler(Packet requestpacket, IPEndPoint sim)
        {
            if (!form.checkBox1profilekey.Checked)
            {
                return(requestpacket);
            }

            if (requestpacket.Header.Resent)
            {
                return(requestpacket);
            }
            AvatarPropertiesRequestPacket packet = (AvatarPropertiesRequestPacket)requestpacket;
            UUID uuid = packet.AgentData.AvatarID;

            if (shared.key2name.ContainsKey(uuid))
            {
                frame.SayToUser(shared.key2name[uuid] + " = " + uuid.ToString());
            }
            else
            {
                plugin.RequestNameFromKey(uuid);
                pending.Add(uuid);
            }
            return(packet);
        }
Ejemplo n.º 2
0
        private Packet LocationIN(Packet p, IPEndPoint sim)
        {
            //if (sim.Address != shared.ip || sim.Port != shared.port) return p;
            if (sim.ToString() != proxy.activeCircuit.ToString())
            {
                return(p);
            }
            CoarseLocationUpdatePacket c = (CoarseLocationUpdatePacket)p;

            List <UUID> temp = new List <UUID>();
            bool        say  = false;

            if (c.AgentData.Length < 1)
            {
                return(p);
            }
            lock (avs)
            {
                foreach (CoarseLocationUpdatePacket.AgentDataBlock a in c.AgentData)
                {
                    if (!avs.Contains(a.AgentID))
                    {
                        say = true;
                        form.listBox1.Items.Add(a.AgentID.ToString());
                        if (shared.key2name.ContainsKey(a.AgentID))
                        {
                            form.listBox2.Items.Add(shared.key2name[a.AgentID]);
                        }
                        else
                        {
                            plugin.RequestNameFromKey(a.AgentID);
                            pending.Add(a.AgentID);
                        }
                    }

                    temp.Add(a.AgentID);
                }
                foreach (UUID u in avs)
                {
                    if (!temp.Contains(u))
                    {
                        say = true;
                        form.listBox1.Items.Remove(u.ToString());
                        if (shared.key2name.ContainsKey(u))
                        {
                            if (form.listBox2.Items.Contains(shared.key2name[u]))
                            {
                                form.listBox2.Items.Remove(shared.key2name[u]);
                            }
                        }
                    }
                }
            }
            avs = temp;

            if (say)
            {
                if (form.checkBox1.Checked)
                {
                    sendUpdate();
                }
            }



            return(p);
        }