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

GetLinkAvatars() public method

public GetLinkAvatars ( int linkType ) : List
linkType int
return List
        public List<ScenePresence> GetLinkAvatars(int linkType)
        {
            List<ScenePresence> ret = new List<ScenePresence>();
            if (m_host == null || m_host.ParentGroup == null || m_host.ParentGroup.IsDeleted)
                return ret;

            //            List<ScenePresence> avs = m_host.ParentGroup.GetLinkedAvatars();
            // this needs check
            List<ScenePresence> avs = m_host.ParentGroup.GetSittingAvatars();
            switch (linkType)
            {
                case ScriptBaseClass.LINK_SET:
                    return avs;

                case ScriptBaseClass.LINK_ROOT:
                    return ret;

                case ScriptBaseClass.LINK_ALL_OTHERS:
                    return avs;

                case ScriptBaseClass.LINK_ALL_CHILDREN:
                    return avs;

                case ScriptBaseClass.LINK_THIS:
                    return ret;

                default:
                    if (linkType < 0)
                        return ret;

                    int partCount = m_host.ParentGroup.GetPartCount();

                    if (linkType <= partCount)
                    {
                        return ret;
                    }
                    else
                    {
                        linkType = linkType - partCount;
                        if (linkType > avs.Count)
                        {
                            return ret;
                        }
                        else
                        {
                            ret.Add(avs[linkType-1]);
                            return ret;
                        }
                    }
            }
        }
LSL_Api