aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs
diff options
context:
space:
mode:
authorUbitUmarov2016-09-16 19:33:49 +0100
committerUbitUmarov2016-09-16 19:33:49 +0100
commit1b1871120516552fd5e51e15fa95c2f881647088 (patch)
tree58ae3b5a08aa05edf4953b11b2e3d29da6fd424c /OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs
parentpass touch_end as other touchs, make blockgrab work on nonphysical also (diff)
downloadopensim-SC-1b1871120516552fd5e51e15fa95c2f881647088.zip
opensim-SC-1b1871120516552fd5e51e15fa95c2f881647088.tar.gz
opensim-SC-1b1871120516552fd5e51e15fa95c2f881647088.tar.bz2
opensim-SC-1b1871120516552fd5e51e15fa95c2f881647088.tar.xz
move SpinObject funtions from Scenegraph to PacketHandlers, close to grab handles, since they are related operations (possible should be moving to graph, not clear this files roles)
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 {