Add TriggerScenePresenceUpdated events when an animation is added

or removed. Shouldn't impact anyone as only DSG seems to use
OnScenePresenceUpdated event.
Some minor format changes to AnimationSet's ToString().
This commit is contained in:
Robert Adams
2013-06-11 17:18:12 -07:00
parent 135e10ba09
commit 7556a0f699
4 changed files with 11 additions and 6 deletions

View File

@@ -125,11 +125,10 @@ namespace OpenSim.Framework
Animation other = obj as Animation;
if (other != null)
{
return (other.AnimID == this.AnimID
return (other.AnimID.Equals(this.AnimID)
&& other.SequenceNum == this.SequenceNum
&& other.ObjectID == this.ObjectID);
&& other.ObjectID.Equals(this.ObjectID) );
}
return base.Equals(obj);
}

View File

@@ -312,18 +312,22 @@ namespace OpenSim.Region.Framework.Scenes.Animation
buff.Append("dflt=");
buff.Append(DefaultAnimation.ToString());
buff.Append(",iDflt=");
if (DefaultAnimation == ImplicitDefaultAnimation)
if (DefaultAnimation.Equals(ImplicitDefaultAnimation))
buff.Append("same");
else
buff.Append(ImplicitDefaultAnimation.ToString());
if (m_animations.Count > 0)
{
buff.Append(",anims=");
bool firstTime = true;
foreach (OpenSim.Framework.Animation anim in m_animations)
{
if (!firstTime)
buff.Append(",");
buff.Append("<");
buff.Append(anim.ToString());
buff.Append(">,");
buff.Append(">");
firstTime = false;
}
}
return buff.ToString();

View File

@@ -94,6 +94,7 @@ namespace OpenSim.Region.Framework.Scenes.Animation
if (m_animations.Add(animID, m_scenePresence.ControllingClient.NextAnimationSequenceNumber, objectID))
{
SendAnimPack();
m_scenePresence.TriggerScenePresenceUpdated();
}
}
@@ -135,6 +136,7 @@ namespace OpenSim.Region.Framework.Scenes.Animation
if (m_animations.Remove(animID, allowNoDefault))
{
SendAnimPack();
m_scenePresence.TriggerScenePresenceUpdated();
}
}

View File

@@ -77,7 +77,7 @@ namespace OpenSim.Region.Framework.Scenes
// m_log.DebugFormat("[SCENE PRESENCE]: Destructor called on {0}", Name);
// }
private void TriggerScenePresenceUpdated()
public void TriggerScenePresenceUpdated()
{
if (m_scene != null)
m_scene.EventManager.TriggerScenePresenceUpdated(this);