public bool CanDuplicateObject(SceneObjectGroup sog, UUID agentID)
        {
            DuplicateObjectHandler handler = OnDuplicateObject;

            if (handler != null)
            {
                if (sog == null || sog.IsDeleted)
                {
                    return(false);
                }
                ScenePresence sp = m_scene.GetScenePresence(agentID);
                if (sp == null || sp.IsDeleted)
                {
                    return(false);
                }
                Delegate[] list = handler.GetInvocationList();
                foreach (DuplicateObjectHandler h in list)
                {
                    if (h(sog, sp) == false)
                    {
                        return(false);
                    }
                }
            }
            return(true);
        }
        public bool CanDuplicateObject(int objectCount, UUID objectID, UUID owner, Vector3 objectPosition)
        {
            DuplicateObjectHandler handler = OnDuplicateObject;

            if (handler != null)
            {
                Delegate[] list = handler.GetInvocationList();
                return
                    (list.Cast <DuplicateObjectHandler>()
                     .All(h => h(objectCount, objectID, owner, m_scene, objectPosition) != false));
            }
            return(true);
        }
Exemple #3
0
        public bool CanDuplicateObject(int objectCount, UUID objectID, UUID owner, Vector3 objectPosition)
        {
            DuplicateObjectHandler handler = OnDuplicateObject;

            if (handler != null)
            {
                Delegate[] list = handler.GetInvocationList();
                foreach (DuplicateObjectHandler h in list)
                {
                    if (h(objectCount, objectID, owner, m_scene, objectPosition) == false)
                    {
                        return(false);
                    }
                }
            }
            return(true);
        }