diff options
Diffstat (limited to 'OpenSim/Region/Environment/Scenes')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | 23 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneObjectPart.cs | 4 |
3 files changed, 28 insertions, 1 deletions
diff --git a/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs b/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs index afa4ea5..10bdd54 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs | |||
@@ -752,7 +752,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
752 | } | 752 | } |
753 | } | 753 | } |
754 | 754 | ||
755 | public void ProcessObjectGrab(uint localID, LLVector3 offsetPos, IClientAPI remoteClient) | 755 | public virtual void ProcessObjectGrab(uint localID, LLVector3 offsetPos, IClientAPI remoteClient) |
756 | { | 756 | { |
757 | this.EventManager.TriggerObjectGrab(localID, offsetPos, remoteClient); | 757 | this.EventManager.TriggerObjectGrab(localID, offsetPos, remoteClient); |
758 | } | 758 | } |
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs index 3bd83aa..77d936d 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | |||
@@ -863,5 +863,28 @@ namespace OpenSim.Region.Environment.Scenes | |||
863 | m_rootPart.Text = text; | 863 | m_rootPart.Text = text; |
864 | m_rootPart.ScheduleTerseUpdate(); | 864 | m_rootPart.ScheduleTerseUpdate(); |
865 | } | 865 | } |
866 | |||
867 | public void ObjectGrabHandler(uint localId, LLVector3 offsetPos, IClientAPI remoteClient) | ||
868 | { | ||
869 | if( m_rootPart.LocalID == localId ) | ||
870 | { | ||
871 | OnGrabGroup(offsetPos, remoteClient); | ||
872 | } | ||
873 | else | ||
874 | { | ||
875 | SceneObjectPart part = GetChildPrim(localId); | ||
876 | OnGrabPart(part, offsetPos, remoteClient); | ||
877 | } | ||
878 | } | ||
879 | |||
880 | public virtual void OnGrabPart(SceneObjectPart part, LLVector3 offsetPos, IClientAPI remoteClient) | ||
881 | { | ||
882 | part.OnGrab(offsetPos, remoteClient); | ||
883 | } | ||
884 | |||
885 | public virtual void OnGrabGroup(LLVector3 offsetPos, IClientAPI remoteClient) | ||
886 | { | ||
887 | |||
888 | } | ||
866 | } | 889 | } |
867 | } | 890 | } |
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs index c4752a5..8e570d4 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs | |||
@@ -566,6 +566,10 @@ namespace OpenSim.Region.Environment.Scenes | |||
566 | public virtual void UpdateMovement() | 566 | public virtual void UpdateMovement() |
567 | { | 567 | { |
568 | } | 568 | } |
569 | |||
570 | public virtual void OnGrab(LLVector3 offsetPos, IClientAPI remoteClient) | ||
571 | { | ||
572 | } | ||
569 | } | 573 | } |
570 | } | 574 | } |
571 | 575 | ||