/// <summary> /// Deed multiple objects (prims) to a group, Objects must be shared with group which /// can be accomplished with SetPermissions() /// </summary> /// <param name="simulator">A reference to the <seealso cref="OpenMetaverse.Simulator"/> object where the object resides</param> /// <param name="localIDs">An array which contains the IDs of the objects to deed</param> /// <param name="groupOwner">The <seealso cref="UUID"/> of the group to deed the object to</param> public void DeedObjects(Simulator simulator, List<uint> localIDs, UUID groupOwner) { ObjectOwnerPacket packet = new ObjectOwnerPacket(); packet.AgentData.AgentID = Client.Self.AgentID; packet.AgentData.SessionID = Client.Self.SessionID; // Can only be use in God mode packet.HeaderData.Override = false; packet.HeaderData.OwnerID = UUID.Zero; packet.HeaderData.GroupID = groupOwner; packet.ObjectData = new ObjectOwnerPacket.ObjectDataBlock[localIDs.Count]; for (int i = 0; i < localIDs.Count; i++) { packet.ObjectData[i] = new ObjectOwnerPacket.ObjectDataBlock(); packet.ObjectData[i].ObjectLocalID = localIDs[i]; } Client.Network.SendPacket(packet, simulator); }
/// <summary> /// Deed an object (prim) to a group, Object must be shared with group which /// can be accomplished with SetPermissions() /// </summary> /// <param name="simulator">A reference to the <seealso cref="OpenMetaverse.Simulator"/> object where the object resides</param> /// <param name="localID">The objects ID which is local to the simulator the object is in</param> /// <param name="groupOwner">The <seealso cref="UUID"/> of the group to deed the object to</param> public void DeedObject(Simulator simulator, uint localID, UUID groupOwner) { ObjectOwnerPacket objDeedPacket = new ObjectOwnerPacket(); objDeedPacket.AgentData.AgentID = Client.Self.AgentID; objDeedPacket.AgentData.SessionID = Client.Self.SessionID; // Can only be use in God mode objDeedPacket.HeaderData.Override = false; objDeedPacket.HeaderData.OwnerID = UUID.Zero; objDeedPacket.HeaderData.GroupID = groupOwner; objDeedPacket.ObjectData = new ObjectOwnerPacket.ObjectDataBlock[1]; objDeedPacket.ObjectData[0] = new ObjectOwnerPacket.ObjectDataBlock(); objDeedPacket.ObjectData[0].ObjectLocalID = localID; Client.Network.SendPacket(objDeedPacket, simulator); }