示例#1
0
 void Objects_OnObjectPropertiesFamily(object sender, ObjectPropertiesFamilyEventArgs e)
 {
     Properties = new Primitive.ObjectProperties();
     Properties.SetFamilyProperties(e.Properties);
     GotPermissions = true;
     GotPermissionsEvent.Set();
 }
示例#2
0
        public void Objects_ObjectPropertiesFamily(object sender, ObjectPropertiesFamilyEventArgs e)
        {
            if (!e.Properties.Name.StartsWith("Greedy Greedy Table"))
            {
                return;
            }
            if (tableId != UUID.Zero)
            {
                return;
            }

            Primitive greedyGreedyTable = GreedyBotPlugin.Instance.Client.Network.CurrentSim.ObjectsPrimitives.Find(n => n.ID == e.Properties.ObjectID);

            if (greedyGreedyTable == null)
            {
                Utils.OutputLine("Failed to find greedyGreedyTable!", Utils.OutputLevel.Error);
                return;
            }

            tableId = e.Properties.ObjectID;

            // Don't read cached values, they're wrong. We need the latest object name.
            uint[] greedyTableChildren = GreedyBotPlugin.Instance.Client.Network.CurrentSim.ObjectsPrimitives.FindAll(n => n.ParentID == greedyGreedyTable.LocalID).Select(n => n.LocalID).ToArray();
            if (greedyTableChildren.Length > 0)
            {
                Utils.OutputLine("Requesting " + greedyTableChildren.Length + " properties", Utils.OutputLevel.Game);
                GreedyBotPlugin.Instance.Client.Objects.SelectObjects(GreedyBotPlugin.Instance.Client.Network.CurrentSim, greedyTableChildren);
            }
        }
示例#3
0
 void Objects_ObjectPropertiesFamily(object sender, ObjectPropertiesFamilyEventArgs e)
 {
     if (e.Properties.ObjectID == target)
     {
         owner = e.Properties.OwnerID;
         UpdateResident();
     }
 }
示例#4
0
 /// <summary>
 /// Raised when the simulator sends us data containing additional and Avatar details
 /// The ObjectPropertiesFamily event occurs when the simulator sends an ObjectPropertiesPacket containing additional details for a Primitive, Foliage data or Attachment. This includes Permissions, Sale info, and other basic details on an object
 /// The ObjectProperties event is also raised when a RequestObjectPropertiesFamily(Simulator, UUID) request is made, the viewer equivalent is hovering the mouse cursor over an object
 /// </summary>
 /// <see cref="http://lib.openmetaverse.org/docs/trunk/html/E_OpenMetaverse_ObjectManager_ObjectPropertiesFamily.htm"/>
 /// <param name="sender">Source of this event.</param>
 /// <param name="e">Provides additional primitive data, permissions and sale info for the ObjectPropertiesFamily event</param>
 void Objects_ObjectPropertiesFamily(object sender, ObjectPropertiesFamilyEventArgs e)
 {
     lock (greedyBotLock)
     {
         if (currentState == State.SearchingForGameBoard)
         {
             gameComponents.Objects_ObjectPropertiesFamily(sender, e);
         }
     }
 }
示例#5
0
 void Objects_OnObjectPropertiesFamily(object sender, ObjectPropertiesFamilyEventArgs e)
 {
     Properties = new Primitive.ObjectProperties();
     Properties.SetFamilyProperties(e.Properties);
     if (e.Properties.CreatorID == UUID.Zero)
     {
         Client.Objects.SelectObject(Client.Network.CurrentSim, uLocalID);
     }
     else
     {
         GotPermissions = true;
         GotPermissionsEvent.Set();
     }
 }
示例#6
0
        private void Objects_OnObjectPropertiesFamily(object sender, ObjectPropertiesFamilyEventArgs e)
        {
            if (e.Properties.ObjectID != prim.ID)
            {
                return;
            }

            try
            {
                gettingProperties = false;
                gotProperties     = true;
                prim.Properties   = e.Properties;

                listBox.BeginInvoke(
                    new OnPropReceivedRaise(OnPropertiesReceived),
                    new object[] { EventArgs.Empty });
            }
            catch
            {
                ;
            }

            //client.Objects.ObjectPropertiesFamily -= new EventHandler<ObjectPropertiesFamilyEventArgs>(Objects_OnObjectPropertiesFamily);
        }