Store and send the current movement animation state to a new sim on crossing
							parent
							
								
									9e05067a4f
								
							
						
					
					
						commit
						fd9cb3cb68
					
				| 
						 | 
				
			
			@ -45,6 +45,11 @@ namespace OpenSim.Region.Framework.Scenes.Animation
 | 
			
		|||
        private OpenSim.Framework.Animation m_defaultAnimation = new OpenSim.Framework.Animation();
 | 
			
		||||
        private List<OpenSim.Framework.Animation> m_animations = new List<OpenSim.Framework.Animation>();
 | 
			
		||||
 | 
			
		||||
        public OpenSim.Framework.Animation DefaultAnimation 
 | 
			
		||||
        {
 | 
			
		||||
            get { return m_defaultAnimation; } 
 | 
			
		||||
        }
 | 
			
		||||
        
 | 
			
		||||
        public OpenSim.Framework.Animation ImplicitDefaultAnimation 
 | 
			
		||||
        {
 | 
			
		||||
            get { return m_implicitDefaultAnimation; } 
 | 
			
		||||
| 
						 | 
				
			
			@ -126,6 +131,12 @@ namespace OpenSim.Region.Framework.Scenes.Animation
 | 
			
		|||
            return false;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // Called from serialization only
 | 
			
		||||
        public void SetImplicitDefaultAnimation(UUID animID, int sequenceNum, UUID objectID)
 | 
			
		||||
        {
 | 
			
		||||
            m_implicitDefaultAnimation = new OpenSim.Framework.Animation(animID, sequenceNum, objectID);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        protected bool ResetDefaultAnimation()
 | 
			
		||||
        {
 | 
			
		||||
            return TrySetDefaultAnimation("STAND", 1, UUID.Zero);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3075,6 +3075,8 @@ namespace OpenSim.Region.Framework.Scenes
 | 
			
		|||
                cAgent.Anims = Animator.Animations.ToArray();
 | 
			
		||||
            }
 | 
			
		||||
            catch { }
 | 
			
		||||
            cAgent.DefaultAnim = Animator.Animations.DefaultAnimation;
 | 
			
		||||
            cAgent.AnimState = Animator.Animations.ImplicitDefaultAnimation;
 | 
			
		||||
 | 
			
		||||
            if (Scene.AttachmentsModule != null)
 | 
			
		||||
                Scene.AttachmentsModule.CopyAttachments(this, cAgent);
 | 
			
		||||
| 
						 | 
				
			
			@ -3146,6 +3148,10 @@ namespace OpenSim.Region.Framework.Scenes
 | 
			
		|||
            // FIXME: Why is this null check necessary?  Where are the cases where we get a null Anims object?
 | 
			
		||||
            if (cAgent.Anims != null)
 | 
			
		||||
                Animator.Animations.FromArray(cAgent.Anims);
 | 
			
		||||
            if (cAgent.DefaultAnim != null)
 | 
			
		||||
                Animator.Animations.SetDefaultAnimation(cAgent.DefaultAnim.AnimID, cAgent.DefaultAnim.SequenceNum, UUID.Zero);
 | 
			
		||||
            if (cAgent.AnimState != null)
 | 
			
		||||
                Animator.Animations.SetImplicitDefaultAnimation(cAgent.AnimState.AnimID, cAgent.AnimState.SequenceNum, UUID.Zero);
 | 
			
		||||
 | 
			
		||||
            if (Scene.AttachmentsModule != null)
 | 
			
		||||
                Scene.AttachmentsModule.CopyAttachments(cAgent, this);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue