minor changes to GetPriorityByBestAvatarResponsiveness code

avinationmerge
UbitUmarov 2014-08-19 04:54:25 +01:00
parent 505cbf9983
commit 9914e371af
1 changed files with 18 additions and 17 deletions

View File

@ -157,12 +157,10 @@ namespace OpenSim.Region.Framework.Scenes
private uint GetPriorityByBestAvatarResponsiveness(IClientAPI client, ISceneEntity entity) private uint GetPriorityByBestAvatarResponsiveness(IClientAPI client, ISceneEntity entity)
{ {
uint pqueue = ComputeDistancePriority(client,entity,false); uint pqueue = 2; // keep compiler happy
ScenePresence presence = m_scene.GetScenePresence(client.AgentId); ScenePresence presence = m_scene.GetScenePresence(client.AgentId);
if (presence != null) if (presence != null)
{
if (!presence.IsChildAgent)
{ {
// All avatars other than our own go into pqueue 1 // All avatars other than our own go into pqueue 1
if (entity is ScenePresence) if (entity is ScenePresence)
@ -174,13 +172,16 @@ namespace OpenSim.Region.Framework.Scenes
if (((SceneObjectPart)entity).ParentGroup.IsAttachment) if (((SceneObjectPart)entity).ParentGroup.IsAttachment)
return 1; return 1;
pqueue = ComputeDistancePriority(client, entity, false);
// Non physical prims are lower priority than physical prims // Non physical prims are lower priority than physical prims
PhysicsActor physActor = ((SceneObjectPart)entity).ParentGroup.RootPart.PhysActor; PhysicsActor physActor = ((SceneObjectPart)entity).ParentGroup.RootPart.PhysActor;
if (physActor == null || !physActor.IsPhysical) if (physActor == null || !physActor.IsPhysical)
pqueue++; pqueue++;
} }
} }
} else
pqueue = ComputeDistancePriority(client, entity, false);
return pqueue; return pqueue;
} }