aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs58
1 files changed, 58 insertions, 0 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs b/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs
index d27af09..b041986 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs
@@ -413,6 +413,64 @@ namespace OpenSim.Region.Framework.Scenes
413 } 413 }
414 } 414 }
415 415
416 /// <summary>
417 /// Start spinning the given object
418 /// </summary>
419 /// <param name="objectID"></param>
420 /// <param name="rotation"></param>
421 /// <param name="remoteClient"></param>
422 public virtual void ProcessSpinStart(UUID objectID, IClientAPI remoteClient)
423 {
424 SceneObjectGroup group = GetGroupByPrim(objectID);
425 if (group != null)
426 {
427 if (Permissions.CanMoveObject(group.UUID, remoteClient.AgentId))// && PermissionsMngr.)
428 {
429 group.SpinStart(remoteClient);
430 }
431 }
432 }
433
434 /// <summary>
435 /// Spin the given object
436 /// </summary>
437 /// <param name="objectID"></param>
438 /// <param name="rotation"></param>
439 /// <param name="remoteClient"></param>
440 public virtual void ProcessSpinObject(UUID objectID, Quaternion rotation, IClientAPI remoteClient)
441 {
442 SceneObjectGroup group = GetGroupByPrim(objectID);
443 if (group != null)
444 {
445 if (Permissions.CanMoveObject(group.UUID, remoteClient.AgentId))// && PermissionsMngr.)
446 {
447 group.SpinMovement(rotation, remoteClient);
448 }
449 // This is outside the above permissions condition
450 // so that if the object is locked the client moving the object
451 // get's it's position on the simulator even if it was the same as before
452 // This keeps the moving user's client in sync with the rest of the world.
453 group.SendGroupTerseUpdate();
454 }
455 }
456
457 public virtual void ProcessSpinObjectStop(UUID objectID, IClientAPI remoteClient)
458 {
459 SceneObjectGroup group = GetGroupByPrim(objectID);
460 if (group != null)
461 {
462 if (Permissions.CanMoveObject(group.UUID, remoteClient.AgentId))// && PermissionsMngr.)
463 {
464// group.SpinMovement(rotation, remoteClient);
465 }
466 // This is outside the above permissions condition
467 // so that if the object is locked the client moving the object
468 // get's it's position on the simulator even if it was the same as before
469 // This keeps the moving user's client in sync with the rest of the world.
470 group.SendGroupTerseUpdate();
471 }
472 }
473
416 public void ProcessScriptReset(IClientAPI remoteClient, UUID objectID, 474 public void ProcessScriptReset(IClientAPI remoteClient, UUID objectID,
417 UUID itemID) 475 UUID itemID)
418 { 476 {