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

llBreakAllLinks() public method

public llBreakAllLinks ( ) : void
return void
        public void llBreakAllLinks()
        {
            m_host.AddScriptLPS(1);

            TaskInventoryItem item = m_item;
             
            if ((item.PermsMask & ScriptBaseClass.PERMISSION_CHANGE_LINKS) == 0
                && !m_automaticLinkPermission)
            {
                Error("llBreakAllLinks","Script trying to link but PERMISSION_CHANGE_LINKS permission not set!");
                return;
            }
            BreakAllLinks();
        }

Usage Example

        public void TestllBreakAllLinks()
        {
            TestHelpers.InMethod();

            UUID ownerId = TestHelpers.ParseTail(0x1);

            SceneObjectGroup grp1 = SceneHelpers.CreateSceneObject(3, ownerId, "grp1-", 0x10);
            grp1.AbsolutePosition = new Vector3(10, 10, 10);
            m_scene.AddSceneObject(grp1);

            // FIXME: This should really be a script item (with accompanying script)
            TaskInventoryItem grp1Item
                = TaskInventoryHelpers.AddNotecard(
                    m_scene, grp1.RootPart, "ncItem", TestHelpers.ParseTail(0x800), TestHelpers.ParseTail(0x900), "Hello World!");
            
            grp1Item.PermsMask |= ScriptBaseClass.PERMISSION_CHANGE_LINKS;

            LSL_Api apiGrp1 = new LSL_Api();
            apiGrp1.Initialize(m_engine, grp1.RootPart, grp1Item, null);

            apiGrp1.llBreakAllLinks();

            {
                SceneObjectGroup nowGrp = m_scene.GetSceneObjectGroup("grp1-Part1");
                Assert.That(nowGrp, Is.Not.Null);
                Assert.That(nowGrp.Parts.Length, Is.EqualTo(1));
            }

            {
                SceneObjectGroup nowGrp = m_scene.GetSceneObjectGroup("grp1-Part2");
                Assert.That(nowGrp, Is.Not.Null);
                Assert.That(nowGrp.Parts.Length, Is.EqualTo(1));
            }

            {
                SceneObjectGroup nowGrp = m_scene.GetSceneObjectGroup("grp1-Part3");
                Assert.That(nowGrp, Is.Not.Null);
                Assert.That(nowGrp.Parts.Length, Is.EqualTo(1));
            }
        }
LSL_Api