diff options
author | idb | 2008-12-05 16:48:47 +0000 |
---|---|---|
committer | idb | 2008-12-05 16:48:47 +0000 |
commit | 7ae9ec217d6e1ec039fbd6ed16c952d56cc63dc6 (patch) | |
tree | 6fed56271b075ef0c9c42e3cc899e86e54ea4c25 /OpenSim/Region/Environment | |
parent | Fixed Mantis #2756 (diff) | |
download | opensim-SC_OLD-7ae9ec217d6e1ec039fbd6ed16c952d56cc63dc6.zip opensim-SC_OLD-7ae9ec217d6e1ec039fbd6ed16c952d56cc63dc6.tar.gz opensim-SC_OLD-7ae9ec217d6e1ec039fbd6ed16c952d56cc63dc6.tar.bz2 opensim-SC_OLD-7ae9ec217d6e1ec039fbd6ed16c952d56cc63dc6.tar.xz |
Implementation of the llDetectedTouch* functions
Diffstat (limited to 'OpenSim/Region/Environment')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/EventManager.cs | 6 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs | 8 |
2 files changed, 9 insertions, 5 deletions
diff --git a/OpenSim/Region/Environment/Scenes/EventManager.cs b/OpenSim/Region/Environment/Scenes/EventManager.cs index 598f8b4..ad25670 100644 --- a/OpenSim/Region/Environment/Scenes/EventManager.cs +++ b/OpenSim/Region/Environment/Scenes/EventManager.cs | |||
@@ -92,7 +92,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
92 | 92 | ||
93 | public event OnShutdownDelegate OnShutdown; | 93 | public event OnShutdownDelegate OnShutdown; |
94 | 94 | ||
95 | public delegate void ObjectGrabDelegate(uint localID, uint originalID, Vector3 offsetPos, IClientAPI remoteClient); | 95 | public delegate void ObjectGrabDelegate(uint localID, uint originalID, Vector3 offsetPos, IClientAPI remoteClient, SurfaceTouchEventArgs surfaceArgs); |
96 | public delegate void ObjectDeGrabDelegate(uint localID, uint originalID, IClientAPI remoteClient); | 96 | public delegate void ObjectDeGrabDelegate(uint localID, uint originalID, IClientAPI remoteClient); |
97 | public delegate void ScriptResetDelegate(uint localID, UUID itemID); | 97 | public delegate void ScriptResetDelegate(uint localID, UUID itemID); |
98 | 98 | ||
@@ -530,12 +530,12 @@ namespace OpenSim.Region.Environment.Scenes | |||
530 | handlerShutdown(); | 530 | handlerShutdown(); |
531 | } | 531 | } |
532 | 532 | ||
533 | public void TriggerObjectGrab(uint localID, uint originalID, Vector3 offsetPos, IClientAPI remoteClient) | 533 | public void TriggerObjectGrab(uint localID, uint originalID, Vector3 offsetPos, IClientAPI remoteClient, SurfaceTouchEventArgs surfaceArgs) |
534 | { | 534 | { |
535 | handlerObjectGrab = OnObjectGrab; | 535 | handlerObjectGrab = OnObjectGrab; |
536 | if (handlerObjectGrab != null) | 536 | if (handlerObjectGrab != null) |
537 | { | 537 | { |
538 | handlerObjectGrab(localID, originalID, offsetPos, remoteClient); | 538 | handlerObjectGrab(localID, originalID, offsetPos, remoteClient, surfaceArgs); |
539 | } | 539 | } |
540 | } | 540 | } |
541 | 541 | ||
diff --git a/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs b/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs index 2bd1f1c..8d12a94 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs | |||
@@ -217,6 +217,10 @@ namespace OpenSim.Region.Environment.Scenes | |||
217 | 217 | ||
218 | List<EntityBase> EntityList = GetEntities(); | 218 | List<EntityBase> EntityList = GetEntities(); |
219 | 219 | ||
220 | SurfaceTouchEventArgs surfaceArg = null; | ||
221 | if (surfaceArgs != null && surfaceArgs.Count > 0) | ||
222 | surfaceArg = surfaceArgs[0]; | ||
223 | |||
220 | foreach (EntityBase ent in EntityList) | 224 | foreach (EntityBase ent in EntityList) |
221 | { | 225 | { |
222 | if (ent is SceneObjectGroup) | 226 | if (ent is SceneObjectGroup) |
@@ -236,9 +240,9 @@ namespace OpenSim.Region.Environment.Scenes | |||
236 | // If the touched prim handles touches, deliver it | 240 | // If the touched prim handles touches, deliver it |
237 | // If not, deliver to root prim | 241 | // If not, deliver to root prim |
238 | if ((part.ScriptEvents & scriptEvents.touch_start) != 0) | 242 | if ((part.ScriptEvents & scriptEvents.touch_start) != 0) |
239 | EventManager.TriggerObjectGrab(part.LocalId, 0, part.OffsetPosition, remoteClient); | 243 | EventManager.TriggerObjectGrab(part.LocalId, 0, part.OffsetPosition, remoteClient, surfaceArg); |
240 | else | 244 | else |
241 | EventManager.TriggerObjectGrab(obj.RootPart.LocalId, part.LocalId, part.OffsetPosition, remoteClient); | 245 | EventManager.TriggerObjectGrab(obj.RootPart.LocalId, part.LocalId, part.OffsetPosition, remoteClient, surfaceArg); |
242 | 246 | ||
243 | return; | 247 | return; |
244 | } | 248 | } |