Aurora.ScriptEngine.AuroraDotNetEngine.APIs.LSL_Api.llGetAnimation C# (CSharp) Method

llGetAnimation() public method

public llGetAnimation ( string id ) : Aurora.ScriptEngine.AuroraDotNetEngine.LSL_Types.LSLString
id string
return Aurora.ScriptEngine.AuroraDotNetEngine.LSL_Types.LSLString
        public LSL_String llGetAnimation(string id)
        {
            // This should only return a value if the avatar is in the same region
            if (!ScriptProtection.CheckThreatLevel(ThreatLevel.None, "LSL", m_host, "LSL", m_itemID)) return "";

            UUID avatar = (UUID)id;
            IScenePresence presence = World.GetScenePresence(avatar);
            if (presence == null)
                return "";

            if (m_host.ParentEntity.Scene.RegionInfo.RegionHandle == presence.Scene.RegionInfo.RegionHandle)
            {
                Dictionary<UUID, string> animationstateNames = AnimationSet.Animations.AnimStateNames;
                AnimationSet currentAnims = presence.Animator.Animations;
                string currentAnimationState = String.Empty;
                if (animationstateNames.TryGetValue(currentAnims.DefaultAnimation.AnimID, out currentAnimationState))
                    return currentAnimationState;
            }

            return String.Empty;
        }
LSL_Api