OpenSim.Region.ScriptEngine.Shared.Api.LSL_Api.GetLinkParts C# (CSharp) Method

GetLinkParts() public static method

public static GetLinkParts ( SceneObjectPart part, int linkType ) : List
part OpenSim.Region.Framework.Scenes.SceneObjectPart
linkType int
return List
        public static List<SceneObjectPart> GetLinkParts(SceneObjectPart part, int linkType)
        {
            List<SceneObjectPart> ret = new List<SceneObjectPart>();
            if (part == null || part.ParentGroup == null || part.ParentGroup.IsDeleted)
                return ret;

            switch (linkType)
            {
            case ScriptBaseClass.LINK_SET:
                return new List<SceneObjectPart>(part.ParentGroup.Parts);

            case ScriptBaseClass.LINK_ROOT:               
                ret.Add(part.ParentGroup.RootPart);
                return ret;

            case ScriptBaseClass.LINK_ALL_OTHERS:
                ret = new List<SceneObjectPart>(part.ParentGroup.Parts);

                if (ret.Contains(part))
                    ret.Remove(part);

                return ret;

            case ScriptBaseClass.LINK_ALL_CHILDREN:
                ret = new List<SceneObjectPart>(part.ParentGroup.Parts);

                if (ret.Contains(part.ParentGroup.RootPart))
                    ret.Remove(part.ParentGroup.RootPart);
                return ret;

            case ScriptBaseClass.LINK_THIS:
                ret.Add(part);
                return ret;

            default:
                if (linkType < 0)
                    return ret;

                SceneObjectPart target = part.ParentGroup.GetLinkNumPart(linkType);
                if (target == null)
                    return ret;
                ret.Add(target);
                return ret;
            }
        }

Same methods

LSL_Api::GetLinkParts ( int linkType ) : List
LSL_Api