remove sceneGraph MoveObject and make it part of ProcessObjectGrabUpdate ( scene.PacketHandlers) where it belongs
parent
c631ffb943
commit
0baaa23bde
|
@ -377,8 +377,21 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
if (part == null)
|
if (part == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
SceneObjectGroup obj = part.ParentGroup;
|
SceneObjectGroup group = part.ParentGroup;
|
||||||
|
if(group == null || group.IsDeleted)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (Permissions.CanMoveObject(group.UUID, remoteClient.AgentId))// && PermissionsMngr.)
|
||||||
|
{
|
||||||
|
group.GrabMovement(objectID, offset, pos, remoteClient);
|
||||||
|
}
|
||||||
|
|
||||||
|
// This is outside the above permissions condition
|
||||||
|
// so that if the object is locked the client moving the object
|
||||||
|
// get's it's position on the simulator even if it was the same as before
|
||||||
|
// This keeps the moving user's client in sync with the rest of the world.
|
||||||
|
group.SendGroupTerseUpdate();
|
||||||
|
|
||||||
SurfaceTouchEventArgs surfaceArg = null;
|
SurfaceTouchEventArgs surfaceArg = null;
|
||||||
if (surfaceArgs != null && surfaceArgs.Count > 0)
|
if (surfaceArgs != null && surfaceArgs.Count > 0)
|
||||||
surfaceArg = surfaceArgs[0];
|
surfaceArg = surfaceArgs[0];
|
||||||
|
@ -391,9 +404,9 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
// or if we're meant to pass on touches anyway. Don't send to root prim
|
// or if we're meant to pass on touches anyway. Don't send to root prim
|
||||||
// if prim touched is the root prim as we just did it
|
// if prim touched is the root prim as we just did it
|
||||||
if (((part.ScriptEvents & scriptEvents.touch) == 0) ||
|
if (((part.ScriptEvents & scriptEvents.touch) == 0) ||
|
||||||
(part.PassTouches && (part.LocalId != obj.RootPart.LocalId)))
|
(part.PassTouches && (part.LocalId != group.RootPart.LocalId)))
|
||||||
{
|
{
|
||||||
EventManager.TriggerObjectGrabbing(obj.RootPart.LocalId, part.LocalId, part.OffsetPosition, remoteClient, surfaceArg);
|
EventManager.TriggerObjectGrabbing(group.RootPart.LocalId, part.LocalId, part.OffsetPosition, remoteClient, surfaceArg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3329,7 +3329,6 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
client.OnObjectRequest += RequestPrim;
|
client.OnObjectRequest += RequestPrim;
|
||||||
client.OnObjectSelect += SelectPrim;
|
client.OnObjectSelect += SelectPrim;
|
||||||
client.OnObjectDeselect += DeselectPrim;
|
client.OnObjectDeselect += DeselectPrim;
|
||||||
client.OnGrabUpdate += m_sceneGraph.MoveObject;
|
|
||||||
client.OnSpinStart += m_sceneGraph.SpinStart;
|
client.OnSpinStart += m_sceneGraph.SpinStart;
|
||||||
client.OnSpinUpdate += m_sceneGraph.SpinObject;
|
client.OnSpinUpdate += m_sceneGraph.SpinObject;
|
||||||
client.OnDeRezObject += DeRezObjects;
|
client.OnDeRezObject += DeRezObjects;
|
||||||
|
@ -3457,7 +3456,6 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
client.OnObjectRequest -= RequestPrim;
|
client.OnObjectRequest -= RequestPrim;
|
||||||
client.OnObjectSelect -= SelectPrim;
|
client.OnObjectSelect -= SelectPrim;
|
||||||
client.OnObjectDeselect -= DeselectPrim;
|
client.OnObjectDeselect -= DeselectPrim;
|
||||||
client.OnGrabUpdate -= m_sceneGraph.MoveObject;
|
|
||||||
client.OnSpinStart -= m_sceneGraph.SpinStart;
|
client.OnSpinStart -= m_sceneGraph.SpinStart;
|
||||||
client.OnSpinUpdate -= m_sceneGraph.SpinObject;
|
client.OnSpinUpdate -= m_sceneGraph.SpinObject;
|
||||||
client.OnDeRezObject -= DeRezObjects;
|
client.OnDeRezObject -= DeRezObjects;
|
||||||
|
@ -3472,6 +3470,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
client.OnRequestObjectPropertiesFamily -= m_sceneGraph.RequestObjectPropertiesFamily;
|
client.OnRequestObjectPropertiesFamily -= m_sceneGraph.RequestObjectPropertiesFamily;
|
||||||
client.OnObjectPermissions -= HandleObjectPermissionsUpdate;
|
client.OnObjectPermissions -= HandleObjectPermissionsUpdate;
|
||||||
client.OnGrabObject -= ProcessObjectGrab;
|
client.OnGrabObject -= ProcessObjectGrab;
|
||||||
|
client.OnGrabUpdate -= ProcessObjectGrabUpdate;
|
||||||
client.OnDeGrabObject -= ProcessObjectDeGrab;
|
client.OnDeGrabObject -= ProcessObjectDeGrab;
|
||||||
client.OnUndo -= m_sceneGraph.HandleUndo;
|
client.OnUndo -= m_sceneGraph.HandleUndo;
|
||||||
client.OnRedo -= m_sceneGraph.HandleRedo;
|
client.OnRedo -= m_sceneGraph.HandleRedo;
|
||||||
|
|
|
@ -1674,7 +1674,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/* moved to scene ProcessObjectGrabUpdate
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Move the given object
|
/// Move the given object
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -1699,7 +1699,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
group.SendGroupTerseUpdate();
|
group.SendGroupTerseUpdate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Start spinning the given object
|
/// Start spinning the given object
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
Loading…
Reference in New Issue