/// <summary> /// Detach an object from yourself /// </summary> /// <param name="simulator">A reference to the <seealso cref="OpenMetaverse.Simulator"/> /// object where the objects reside /// /// This will always be the simulator the avatar is currently in /// </param> /// <param name="localIDs">An array which contains the IDs of the objects to detach</param> public void DetachObjects(Simulator simulator, List<uint> localIDs) { ObjectDetachPacket detach = new ObjectDetachPacket(); detach.AgentData.AgentID = Client.Self.AgentID; detach.AgentData.SessionID = Client.Self.SessionID; detach.ObjectData = new ObjectDetachPacket.ObjectDataBlock[localIDs.Count]; for (int i = 0; i < localIDs.Count; i++) { detach.ObjectData[i] = new ObjectDetachPacket.ObjectDataBlock(); detach.ObjectData[i].ObjectLocalID = localIDs[i]; } Client.Network.SendPacket(detach, simulator); }
/// <summary> /// Detach an object from yourself /// </summary> /// <param name="simulator">A reference to the <seealso cref="OpenMetaverse.Simulator"/> /// object where the objects reside /// /// This will always be the simulator the avatar is currently in /// </param> /// <param name="localIDs">An array which contains the IDs of the objects to detach</param> public void DetachObjects(Simulator simulator, List<uint> localIDs) { ObjectDetachPacket detach = new ObjectDetachPacket(); detach.AgentData.AgentID = Network.AgentID; detach.AgentData.SessionID = Network.SessionID; detach.ObjectData = new ObjectDetachPacket.ObjectDataBlock[localIDs.Count]; int i = 0; foreach (uint localid in localIDs) { detach.ObjectData[i] = new ObjectDetachPacket.ObjectDataBlock(); detach.ObjectData[i].ObjectLocalID = localid; i++; } Network.SendPacket(detach, simulator); }