diff options
Diffstat (limited to 'OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 98c84ae..1109e77 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -197,7 +197,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
197 | private UpdatePrimTexture handlerUpdatePrimTexture; | 197 | private UpdatePrimTexture handlerUpdatePrimTexture; |
198 | private GrabObject handlerGrabObject; //OnGrabObject; | 198 | private GrabObject handlerGrabObject; //OnGrabObject; |
199 | private MoveObject handlerGrabUpdate; //OnGrabUpdate; | 199 | private MoveObject handlerGrabUpdate; //OnGrabUpdate; |
200 | private ObjectSelect handlerDeGrabObject; //OnDeGrabObject; | 200 | private DeGrabObject handlerDeGrabObject; //OnDeGrabObject; |
201 | private SpinStart handlerSpinStart; //OnSpinStart; | 201 | private SpinStart handlerSpinStart; //OnSpinStart; |
202 | private SpinObject handlerSpinUpdate; //OnSpinUpdate; | 202 | private SpinObject handlerSpinUpdate; //OnSpinUpdate; |
203 | private SpinStop handlerSpinStop; //OnSpinStop; | 203 | private SpinStop handlerSpinStop; //OnSpinStop; |
@@ -1021,7 +1021,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1021 | public event LinkObjects OnLinkObjects; | 1021 | public event LinkObjects OnLinkObjects; |
1022 | public event DelinkObjects OnDelinkObjects; | 1022 | public event DelinkObjects OnDelinkObjects; |
1023 | public event GrabObject OnGrabObject; | 1023 | public event GrabObject OnGrabObject; |
1024 | public event ObjectSelect OnDeGrabObject; | 1024 | public event DeGrabObject OnDeGrabObject; |
1025 | public event SpinStart OnSpinStart; | 1025 | public event SpinStart OnSpinStart; |
1026 | public event SpinStop OnSpinStop; | 1026 | public event SpinStop OnSpinStop; |
1027 | public event ObjectDuplicate OnObjectDuplicate; | 1027 | public event ObjectDuplicate OnObjectDuplicate; |
@@ -5991,7 +5991,22 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
5991 | handlerDeGrabObject = OnDeGrabObject; | 5991 | handlerDeGrabObject = OnDeGrabObject; |
5992 | if (handlerDeGrabObject != null) | 5992 | if (handlerDeGrabObject != null) |
5993 | { | 5993 | { |
5994 | handlerDeGrabObject(deGrab.ObjectData.LocalID, this); | 5994 | List<SurfaceTouchEventArgs> touchArgs = new List<SurfaceTouchEventArgs>(); |
5995 | if ((deGrab.SurfaceInfo != null) && (deGrab.SurfaceInfo.Length > 0)) | ||
5996 | { | ||
5997 | foreach (ObjectDeGrabPacket.SurfaceInfoBlock surfaceInfo in deGrab.SurfaceInfo) | ||
5998 | { | ||
5999 | SurfaceTouchEventArgs arg = new SurfaceTouchEventArgs(); | ||
6000 | arg.Binormal = surfaceInfo.Binormal; | ||
6001 | arg.FaceIndex = surfaceInfo.FaceIndex; | ||
6002 | arg.Normal = surfaceInfo.Normal; | ||
6003 | arg.Position = surfaceInfo.Position; | ||
6004 | arg.STCoord = surfaceInfo.STCoord; | ||
6005 | arg.UVCoord = surfaceInfo.UVCoord; | ||
6006 | touchArgs.Add(arg); | ||
6007 | } | ||
6008 | } | ||
6009 | handlerDeGrabObject(deGrab.ObjectData.LocalID, this, touchArgs); | ||
5995 | } | 6010 | } |
5996 | break; | 6011 | break; |
5997 | case PacketType.ObjectSpinStart: | 6012 | case PacketType.ObjectSpinStart: |