�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
OpenSim
Framework
Region
ClientStack/Linden/UDP
Framework/Scenes
OptionalModules
Agent/InternetRelayClientView/Server
World/NPC
Tests/Common/Mock
|
@ -70,6 +70,8 @@ namespace OpenSim.Framework
|
|||
|
||||
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 DelinkObjects(List<uint> primIds, IClientAPI client);
|
||||
|
@ -791,6 +793,7 @@ namespace OpenSim.Framework
|
|||
event ObjectDrop OnObjectDrop;
|
||||
event StartAnim OnStartAnim;
|
||||
event StopAnim OnStopAnim;
|
||||
event ChangeAnim OnChangeAnim;
|
||||
event LinkObjects OnLinkObjects;
|
||||
event DelinkObjects OnDelinkObjects;
|
||||
event RequestMapBlocks OnRequestMapBlocks;
|
||||
|
|
|
@ -98,6 +98,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
|||
public event AvatarPickerRequest OnAvatarPickerRequest;
|
||||
public event StartAnim OnStartAnim;
|
||||
public event StopAnim OnStopAnim;
|
||||
public event ChangeAnim OnChangeAnim;
|
||||
public event Action<IClientAPI> OnRequestAvatarsData;
|
||||
public event LinkObjects OnLinkObjects;
|
||||
public event DelinkObjects OnDelinkObjects;
|
||||
|
@ -6386,7 +6387,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
|||
return true;
|
||||
}
|
||||
#endregion
|
||||
|
||||
/*
|
||||
StartAnim handlerStartAnim = 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;
|
||||
}
|
||||
|
||||
|
|
|
@ -85,7 +85,7 @@ namespace OpenSim.Region.Framework.Scenes.Animation
|
|||
if (m_scenePresence.IsChildAgent)
|
||||
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))
|
||||
SendAnimPack();
|
||||
|
@ -117,6 +117,22 @@ namespace OpenSim.Region.Framework.Scenes.Animation
|
|||
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
|
||||
public void RemoveAnimation(string name)
|
||||
{
|
||||
|
|
|
@ -781,6 +781,7 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
ControllingClient.OnSetAlwaysRun += HandleSetAlwaysRun;
|
||||
ControllingClient.OnStartAnim += HandleStartAnim;
|
||||
ControllingClient.OnStopAnim += HandleStopAnim;
|
||||
ControllingClient.OnChangeAnim += avnHandleChangeAnim;
|
||||
ControllingClient.OnForceReleaseControls += HandleForceReleaseControls;
|
||||
ControllingClient.OnAutoPilotGo += MoveToTarget;
|
||||
|
||||
|
@ -2432,6 +2433,13 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
Animator.RemoveAnimation(animID);
|
||||
}
|
||||
|
||||
public void avnHandleChangeAnim(UUID animID, bool addRemove,bool sendPack)
|
||||
{
|
||||
Animator.avnChangeAnim(animID, addRemove, sendPack);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Rotate the avatar to the given rotation and apply a movement in the given relative vector
|
||||
/// </summary>
|
||||
|
|
|
@ -669,6 +669,7 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server
|
|||
public event ObjectDrop OnObjectDrop;
|
||||
public event StartAnim OnStartAnim;
|
||||
public event StopAnim OnStopAnim;
|
||||
public event ChangeAnim OnChangeAnim;
|
||||
public event LinkObjects OnLinkObjects;
|
||||
public event DelinkObjects OnDelinkObjects;
|
||||
public event RequestMapBlocks OnRequestMapBlocks;
|
||||
|
|
|
@ -189,6 +189,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC
|
|||
public event ObjectDrop OnObjectDrop;
|
||||
public event StartAnim OnStartAnim;
|
||||
public event StopAnim OnStopAnim;
|
||||
public event ChangeAnim OnChangeAnim;
|
||||
public event LinkObjects OnLinkObjects;
|
||||
public event DelinkObjects OnDelinkObjects;
|
||||
public event RequestMapBlocks OnRequestMapBlocks;
|
||||
|
|
|
@ -88,6 +88,7 @@ namespace OpenSim.Tests.Common.Mock
|
|||
public event ObjectDrop OnObjectDrop;
|
||||
public event StartAnim OnStartAnim;
|
||||
public event StopAnim OnStopAnim;
|
||||
public event ChangeAnim OnChangeAnim;
|
||||
public event LinkObjects OnLinkObjects;
|
||||
public event DelinkObjects OnDelinkObjects;
|
||||
public event RequestMapBlocks OnRequestMapBlocks;
|
||||
|
|
Loading…
Reference in New Issue