OpenSim.Region.Framework.Scenes.ScenePresence.GetAttachments C# (CSharp) Method

GetAttachments() public method

Get the scene object attached to the given point.
public GetAttachments ( uint attachmentPoint ) : List
attachmentPoint uint
return List
        public List<SceneObjectGroup> GetAttachments(uint attachmentPoint)
        {
            List<SceneObjectGroup> attachments = new List<SceneObjectGroup>();
            
            lock (m_attachments)
            {
                foreach (SceneObjectGroup so in m_attachments)
                {
                    if (attachmentPoint == so.RootPart.AttachmentPoint)
                        attachments.Add(so);
                }
            }
            
            return attachments;
        }

Usage Example

        protected bool CrossAttachmentsIntoNewRegion(GridRegion destination, ScenePresence sp, bool silent)
        {
            List<SceneObjectGroup> m_attachments = sp.GetAttachments();

            // Validate
//            foreach (SceneObjectGroup gobj in m_attachments)
//            {
//                if (gobj == null || gobj.IsDeleted)
//                    return false;
//            }

            foreach (SceneObjectGroup gobj in m_attachments)
            {
                // If the prim group is null then something must have happened to it!
                if (gobj != null && !gobj.IsDeleted)
                {
                    // Set the parent localID to 0 so it transfers over properly.
                    gobj.RootPart.SetParentLocalId(0);
                    gobj.AbsolutePosition = gobj.RootPart.AttachedPos;
                    gobj.IsAttachment = false;
                    //gobj.RootPart.LastOwnerID = gobj.GetFromAssetID();
                    m_log.DebugFormat("[ENTITY TRANSFER MODULE]: Sending attachment {0} to region {1}", gobj.UUID, destination.RegionName);
                    CrossPrimGroupIntoNewRegion(destination, gobj, silent);
                }
            }

            sp.ClearAttachments();

            return true;
        }
All Usage Examples Of OpenSim.Region.Framework.Scenes.ScenePresence::GetAttachments
ScenePresence