ªTEST MESS* reduce animation packets send. Added onchangeanim event with parameters to define if to add or remove, and if to send anims pack on that evocation, etc
parent
cf8b7c8aff
commit
7461fe4554
|
@ -70,6 +70,8 @@ namespace OpenSim.Framework
|
||||||
|
|
||||||
public delegate void StopAnim(IClientAPI remoteClient, UUID animID);
|
public delegate void StopAnim(IClientAPI remoteClient, UUID animID);
|
||||||
|
|
||||||
|
public delegate void ChangeAnim(UUID animID, bool addOrRemove, bool sendPack);
|
||||||
|
|
||||||
public delegate void LinkObjects(IClientAPI remoteClient, uint parent, List<uint> children);
|
public delegate void LinkObjects(IClientAPI remoteClient, uint parent, List<uint> children);
|
||||||
|
|
||||||
public delegate void DelinkObjects(List<uint> primIds, IClientAPI client);
|
public delegate void DelinkObjects(List<uint> primIds, IClientAPI client);
|
||||||
|
@ -791,6 +793,7 @@ namespace OpenSim.Framework
|
||||||
event ObjectDrop OnObjectDrop;
|
event ObjectDrop OnObjectDrop;
|
||||||
event StartAnim OnStartAnim;
|
event StartAnim OnStartAnim;
|
||||||
event StopAnim OnStopAnim;
|
event StopAnim OnStopAnim;
|
||||||
|
event ChangeAnim OnChangeAnim;
|
||||||
event LinkObjects OnLinkObjects;
|
event LinkObjects OnLinkObjects;
|
||||||
event DelinkObjects OnDelinkObjects;
|
event DelinkObjects OnDelinkObjects;
|
||||||
event RequestMapBlocks OnRequestMapBlocks;
|
event RequestMapBlocks OnRequestMapBlocks;
|
||||||
|
|
|
@ -98,6 +98,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
public event AvatarPickerRequest OnAvatarPickerRequest;
|
public event AvatarPickerRequest OnAvatarPickerRequest;
|
||||||
public event StartAnim OnStartAnim;
|
public event StartAnim OnStartAnim;
|
||||||
public event StopAnim OnStopAnim;
|
public event StopAnim OnStopAnim;
|
||||||
|
public event ChangeAnim OnChangeAnim;
|
||||||
public event Action<IClientAPI> OnRequestAvatarsData;
|
public event Action<IClientAPI> OnRequestAvatarsData;
|
||||||
public event LinkObjects OnLinkObjects;
|
public event LinkObjects OnLinkObjects;
|
||||||
public event DelinkObjects OnDelinkObjects;
|
public event DelinkObjects OnDelinkObjects;
|
||||||
|
@ -6386,7 +6387,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
/*
|
||||||
StartAnim handlerStartAnim = null;
|
StartAnim handlerStartAnim = null;
|
||||||
StopAnim handlerStopAnim = null;
|
StopAnim handlerStopAnim = null;
|
||||||
|
|
||||||
|
@ -6409,6 +6410,25 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return true;
|
||||||
|
*/
|
||||||
|
ChangeAnim handlerChangeAnim = null;
|
||||||
|
|
||||||
|
for (int i = 0; i < AgentAni.AnimationList.Length; i++)
|
||||||
|
{
|
||||||
|
handlerChangeAnim = OnChangeAnim;
|
||||||
|
if (handlerChangeAnim != null)
|
||||||
|
{
|
||||||
|
handlerChangeAnim(AgentAni.AnimationList[i].AnimID, AgentAni.AnimationList[i].StartAnim, false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
handlerChangeAnim = OnChangeAnim;
|
||||||
|
if (handlerChangeAnim != null)
|
||||||
|
{
|
||||||
|
handlerChangeAnim(UUID.Zero, false, true);
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -85,7 +85,7 @@ namespace OpenSim.Region.Framework.Scenes.Animation
|
||||||
if (m_scenePresence.IsChildAgent)
|
if (m_scenePresence.IsChildAgent)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// m_log.DebugFormat("[SCENE PRESENCE ANIMATOR]: Adding animation {0} for {1}", animID, m_scenePresence.Name);
|
// m_log.DebugFormat("[SCENE PRESENCE ANIMATOR]: Adding animation {0} for {1}", animID, m_scenePresence.Name);
|
||||||
|
|
||||||
if (m_animations.Add(animID, m_scenePresence.ControllingClient.NextAnimationSequenceNumber, objectID))
|
if (m_animations.Add(animID, m_scenePresence.ControllingClient.NextAnimationSequenceNumber, objectID))
|
||||||
SendAnimPack();
|
SendAnimPack();
|
||||||
|
@ -117,6 +117,22 @@ namespace OpenSim.Region.Framework.Scenes.Animation
|
||||||
SendAnimPack();
|
SendAnimPack();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void avnChangeAnim(UUID animID, bool addRemove, bool sendPack)
|
||||||
|
{
|
||||||
|
if (m_scenePresence.IsChildAgent)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (animID != UUID.Zero)
|
||||||
|
{
|
||||||
|
if (addRemove)
|
||||||
|
m_animations.Add(animID, m_scenePresence.ControllingClient.NextAnimationSequenceNumber, UUID.Zero);
|
||||||
|
else
|
||||||
|
m_animations.Remove(animID);
|
||||||
|
}
|
||||||
|
if(sendPack)
|
||||||
|
SendAnimPack();
|
||||||
|
}
|
||||||
|
|
||||||
// Called from scripts
|
// Called from scripts
|
||||||
public void RemoveAnimation(string name)
|
public void RemoveAnimation(string name)
|
||||||
{
|
{
|
||||||
|
|
|
@ -781,6 +781,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
ControllingClient.OnSetAlwaysRun += HandleSetAlwaysRun;
|
ControllingClient.OnSetAlwaysRun += HandleSetAlwaysRun;
|
||||||
ControllingClient.OnStartAnim += HandleStartAnim;
|
ControllingClient.OnStartAnim += HandleStartAnim;
|
||||||
ControllingClient.OnStopAnim += HandleStopAnim;
|
ControllingClient.OnStopAnim += HandleStopAnim;
|
||||||
|
ControllingClient.OnChangeAnim += avnHandleChangeAnim;
|
||||||
ControllingClient.OnForceReleaseControls += HandleForceReleaseControls;
|
ControllingClient.OnForceReleaseControls += HandleForceReleaseControls;
|
||||||
ControllingClient.OnAutoPilotGo += MoveToTarget;
|
ControllingClient.OnAutoPilotGo += MoveToTarget;
|
||||||
|
|
||||||
|
@ -2432,6 +2433,13 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
Animator.RemoveAnimation(animID);
|
Animator.RemoveAnimation(animID);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void avnHandleChangeAnim(UUID animID, bool addRemove,bool sendPack)
|
||||||
|
{
|
||||||
|
Animator.avnChangeAnim(animID, addRemove, sendPack);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Rotate the avatar to the given rotation and apply a movement in the given relative vector
|
/// Rotate the avatar to the given rotation and apply a movement in the given relative vector
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -669,6 +669,7 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server
|
||||||
public event ObjectDrop OnObjectDrop;
|
public event ObjectDrop OnObjectDrop;
|
||||||
public event StartAnim OnStartAnim;
|
public event StartAnim OnStartAnim;
|
||||||
public event StopAnim OnStopAnim;
|
public event StopAnim OnStopAnim;
|
||||||
|
public event ChangeAnim OnChangeAnim;
|
||||||
public event LinkObjects OnLinkObjects;
|
public event LinkObjects OnLinkObjects;
|
||||||
public event DelinkObjects OnDelinkObjects;
|
public event DelinkObjects OnDelinkObjects;
|
||||||
public event RequestMapBlocks OnRequestMapBlocks;
|
public event RequestMapBlocks OnRequestMapBlocks;
|
||||||
|
|
|
@ -189,6 +189,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC
|
||||||
public event ObjectDrop OnObjectDrop;
|
public event ObjectDrop OnObjectDrop;
|
||||||
public event StartAnim OnStartAnim;
|
public event StartAnim OnStartAnim;
|
||||||
public event StopAnim OnStopAnim;
|
public event StopAnim OnStopAnim;
|
||||||
|
public event ChangeAnim OnChangeAnim;
|
||||||
public event LinkObjects OnLinkObjects;
|
public event LinkObjects OnLinkObjects;
|
||||||
public event DelinkObjects OnDelinkObjects;
|
public event DelinkObjects OnDelinkObjects;
|
||||||
public event RequestMapBlocks OnRequestMapBlocks;
|
public event RequestMapBlocks OnRequestMapBlocks;
|
||||||
|
|
|
@ -88,6 +88,7 @@ namespace OpenSim.Tests.Common.Mock
|
||||||
public event ObjectDrop OnObjectDrop;
|
public event ObjectDrop OnObjectDrop;
|
||||||
public event StartAnim OnStartAnim;
|
public event StartAnim OnStartAnim;
|
||||||
public event StopAnim OnStopAnim;
|
public event StopAnim OnStopAnim;
|
||||||
|
public event ChangeAnim OnChangeAnim;
|
||||||
public event LinkObjects OnLinkObjects;
|
public event LinkObjects OnLinkObjects;
|
||||||
public event DelinkObjects OnDelinkObjects;
|
public event DelinkObjects OnDelinkObjects;
|
||||||
public event RequestMapBlocks OnRequestMapBlocks;
|
public event RequestMapBlocks OnRequestMapBlocks;
|
||||||
|
|
Loading…
Reference in New Issue