Exemplo n.º 1
0
        private string persistAppearance(UUID avatarID, int appearanceVersion)
        {
            OSSL_Api osslApi = new OSSL_Api();

            osslApi.Initialize(xEngine, aarBox.RootPart, null, null);
            string notecardName = string.Format("{0}-appearance-{1}-{2}", sessionId, avatarID, appearanceVersion);

            osslApi.osAgentSaveAppearance(avatarID.ToString(), notecardName);
            return(notecardName);
        }
Exemplo n.º 2
0
        public void TestOsAgentSaveAppearance()
        {
            TestHelpers.InMethod();
            //            log4net.Config.XmlConfigurator.Configure();

            UUID  ownerId    = TestHelpers.ParseTail(0x1);
            UUID  nonOwnerId = TestHelpers.ParseTail(0x2);
            float newHeight  = 1.9f;

            ScenePresence sp = SceneHelpers.AddScenePresence(m_scene, nonOwnerId);

            sp.Appearance.AvatarHeight = newHeight;
            SceneObjectGroup so   = SceneHelpers.CreateSceneObject(1, ownerId, 0x10);
            SceneObjectPart  part = so.RootPart;

            m_scene.AddSceneObject(so);

            OSSL_Api osslApi = new OSSL_Api();

            osslApi.Initialize(m_engine, part, null, null);

            string notecardName = "appearanceNc";

            osslApi.osAgentSaveAppearance(new LSL_Types.LSLString(nonOwnerId.ToString()), notecardName);

            IList <TaskInventoryItem> items = part.Inventory.GetInventoryItems(notecardName);

            Assert.That(items.Count, Is.EqualTo(1));

            TaskInventoryItem ncItem = items[0];

            Assert.That(ncItem.Name, Is.EqualTo(notecardName));

            AssetBase ncAsset = m_scene.AssetService.Get(ncItem.AssetID.ToString());

            Assert.That(ncAsset, Is.Not.Null);

            AssetNotecard anc = new AssetNotecard(UUID.Zero, ncAsset.Data);

            anc.Decode();
            OSDMap           appearanceOsd   = (OSDMap)OSDParser.DeserializeLLSDXml(anc.BodyText);
            AvatarAppearance savedAppearance = new AvatarAppearance();

            savedAppearance.Unpack(appearanceOsd);

            Assert.That(savedAppearance.AvatarHeight, Is.EqualTo(sp.Appearance.AvatarHeight));
        }