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

AvatarPlayAnimation() private method

private AvatarPlayAnimation ( string avatar, string animation ) : void
avatar string
animation string
return void
        private void AvatarPlayAnimation(string avatar, string animation)
        {
            m_host.AddScriptLPS(1);

            UUID avatarID;
            if(!UUID.TryParse(avatar, out avatarID))
                return;

            if(!World.Entities.ContainsKey(avatarID))
                return;

            ScenePresence target = null;
            if ((World.Entities[avatarID] is ScenePresence))
                target = (ScenePresence)World.Entities[avatarID];
                
            if (target == null)
                return;

            UUID animID = UUID.Zero;
            m_host.TaskInventory.LockItemsForRead(true);
            foreach (KeyValuePair<UUID, TaskInventoryItem> inv in m_host.TaskInventory)
            {
                if (inv.Value.Type == (int)AssetType.Animation)
                {
                   if (inv.Value.Name == animation)
                   {
                       animID = inv.Value.AssetID;
                       break;
                   }
                }
            }
            m_host.TaskInventory.LockItemsForRead(false);

            if (animID == UUID.Zero)
                target.Animator.AddAnimation(animation, m_host.UUID);
            else
                target.Animator.AddAnimation(animID, m_host.UUID);
        }
OSSL_Api