OpenSim.Region.ScriptEngine.Shared.Api.OSSL_Api.osForceAttachToAvatarFromInventory C# (CSharp) Method

osForceAttachToAvatarFromInventory() public method

public osForceAttachToAvatarFromInventory ( string itemName, int attachmentPoint ) : void
itemName string
attachmentPoint int
return void
        public void osForceAttachToAvatarFromInventory(string itemName, int attachmentPoint)
        {
            CheckThreatLevel(ThreatLevel.High, "osForceAttachToAvatarFromInventory");

            m_host.AddScriptLPS(1);

            ForceAttachToAvatarFromInventory(m_host.OwnerID, itemName, attachmentPoint);
        }

Usage Example

        public void TestOsForceAttachToAvatarFromInventory()
        {
            TestHelpers.InMethod();
//            TestHelpers.EnableLogging();

            string taskInvObjItemName = "sphere";
            UUID taskInvObjItemId = UUID.Parse("00000000-0000-0000-0000-100000000000");
            AttachmentPoint attachPoint = AttachmentPoint.Chin;

            UserAccount ua1 = UserAccountHelpers.CreateUserWithInventory(m_scene, 0x1);
            ScenePresence sp = SceneHelpers.AddScenePresence(m_scene, ua1.PrincipalID);
            SceneObjectGroup inWorldObj = SceneHelpers.AddSceneObject(m_scene, "inWorldObj", ua1.PrincipalID);
            TaskInventoryItem scriptItem = TaskInventoryHelpers.AddScript(m_scene.AssetService, inWorldObj.RootPart);

            new LSL_Api().Initialize(m_engine, inWorldObj.RootPart, scriptItem);
            OSSL_Api osslApi = new OSSL_Api();
            osslApi.Initialize(m_engine, inWorldObj.RootPart, scriptItem);

//            SceneObjectGroup sog1 = SceneHelpers.CreateSceneObject(1, ua1.PrincipalID);

            // Create an object embedded inside the first
            TaskInventoryHelpers.AddSceneObject(m_scene.AssetService, inWorldObj.RootPart, taskInvObjItemName, taskInvObjItemId, ua1.PrincipalID);

            osslApi.osForceAttachToAvatarFromInventory(taskInvObjItemName, (int)attachPoint);

            // Check scene presence status
            Assert.That(sp.HasAttachments(), Is.True);
            List<SceneObjectGroup> attachments = sp.GetAttachments();
            Assert.That(attachments.Count, Is.EqualTo(1));
            SceneObjectGroup attSo = attachments[0];
            Assert.That(attSo.Name, Is.EqualTo(taskInvObjItemName));
            Assert.That(attSo.AttachmentPoint, Is.EqualTo((uint)attachPoint));
            Assert.That(attSo.IsAttachment);
            Assert.That(attSo.UsesPhysics, Is.False);
            Assert.That(attSo.IsTemporary, Is.False);

            // Check appearance status
            List<AvatarAttachment> attachmentsInAppearance = sp.Appearance.GetAttachments();
            Assert.That(attachmentsInAppearance.Count, Is.EqualTo(1));
            Assert.That(sp.Appearance.GetAttachpoint(attachmentsInAppearance[0].ItemID), Is.EqualTo((uint)attachPoint));
        }
All Usage Examples Of OpenSim.Region.ScriptEngine.Shared.Api.OSSL_Api::osForceAttachToAvatarFromInventory
OSSL_Api