added a list of SurfaceTouchEventArgs to the IClientAPI.OnGrab event, for the new surface touch parameters in 1.21 viewers.
parent
5be7442736
commit
0644977819
|
@ -144,6 +144,8 @@ namespace OpenSim.Framework
|
||||||
public delegate void AvatarPickerRequest(IClientAPI remoteClient, UUID agentdata, UUID queryID, string UserQuery
|
public delegate void AvatarPickerRequest(IClientAPI remoteClient, UUID agentdata, UUID queryID, string UserQuery
|
||||||
);
|
);
|
||||||
|
|
||||||
|
public delegate void GrabObject(uint localID, Vector3 pos, IClientAPI remoteClient, List<SurfaceTouchEventArgs> surfaceArgs);
|
||||||
|
|
||||||
public delegate void MoveObject(UUID objectID, Vector3 offset, Vector3 grapPos, IClientAPI remoteClient, List<SurfaceTouchEventArgs> surfaceArgs);
|
public delegate void MoveObject(UUID objectID, Vector3 offset, Vector3 grapPos, IClientAPI remoteClient, List<SurfaceTouchEventArgs> surfaceArgs);
|
||||||
|
|
||||||
public delegate void ParcelAccessListRequest(
|
public delegate void ParcelAccessListRequest(
|
||||||
|
@ -426,7 +428,7 @@ namespace OpenSim.Framework
|
||||||
|
|
||||||
event ObjectDuplicate OnObjectDuplicate;
|
event ObjectDuplicate OnObjectDuplicate;
|
||||||
event ObjectDuplicateOnRay OnObjectDuplicateOnRay;
|
event ObjectDuplicateOnRay OnObjectDuplicateOnRay;
|
||||||
event UpdateVector OnGrabObject;
|
event GrabObject OnGrabObject;
|
||||||
event ObjectSelect OnDeGrabObject;
|
event ObjectSelect OnDeGrabObject;
|
||||||
event MoveObject OnGrabUpdate;
|
event MoveObject OnGrabUpdate;
|
||||||
|
|
||||||
|
|
|
@ -166,7 +166,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
private ObjectIncludeInSearch handlerObjectIncludeInSearch = null;
|
private ObjectIncludeInSearch handlerObjectIncludeInSearch = null;
|
||||||
private UpdatePrimFlags handlerUpdatePrimFlags = null; //OnUpdatePrimFlags;
|
private UpdatePrimFlags handlerUpdatePrimFlags = null; //OnUpdatePrimFlags;
|
||||||
private UpdatePrimTexture handlerUpdatePrimTexture = null;
|
private UpdatePrimTexture handlerUpdatePrimTexture = null;
|
||||||
private UpdateVector handlerGrabObject = null; //OnGrabObject;
|
private GrabObject handlerGrabObject = null; //OnGrabObject;
|
||||||
private MoveObject handlerGrabUpdate = null; //OnGrabUpdate;
|
private MoveObject handlerGrabUpdate = null; //OnGrabUpdate;
|
||||||
private ObjectSelect handlerDeGrabObject = null; //OnDeGrabObject;
|
private ObjectSelect handlerDeGrabObject = null; //OnDeGrabObject;
|
||||||
private GenericCall7 handlerObjectDescription = null;
|
private GenericCall7 handlerObjectDescription = null;
|
||||||
|
@ -866,7 +866,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
public event Action<IClientAPI> OnRequestAvatarsData;
|
public event Action<IClientAPI> OnRequestAvatarsData;
|
||||||
public event LinkObjects OnLinkObjects;
|
public event LinkObjects OnLinkObjects;
|
||||||
public event DelinkObjects OnDelinkObjects;
|
public event DelinkObjects OnDelinkObjects;
|
||||||
public event UpdateVector OnGrabObject;
|
public event GrabObject OnGrabObject;
|
||||||
public event ObjectSelect OnDeGrabObject;
|
public event ObjectSelect OnDeGrabObject;
|
||||||
public event ObjectDuplicate OnObjectDuplicate;
|
public event ObjectDuplicate OnObjectDuplicate;
|
||||||
public event ObjectDuplicateOnRay OnObjectDuplicateOnRay;
|
public event ObjectDuplicateOnRay OnObjectDuplicateOnRay;
|
||||||
|
@ -4715,7 +4715,22 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
|
|
||||||
if (handlerGrabObject != null)
|
if (handlerGrabObject != null)
|
||||||
{
|
{
|
||||||
handlerGrabObject(grab.ObjectData.LocalID, grab.ObjectData.GrabOffset, this);
|
List<SurfaceTouchEventArgs> touchArgs = new List<SurfaceTouchEventArgs>();
|
||||||
|
if ((grab.SurfaceInfo != null) && (grab.SurfaceInfo.Length > 0))
|
||||||
|
{
|
||||||
|
foreach (ObjectGrabPacket.SurfaceInfoBlock surfaceInfo in grab.SurfaceInfo)
|
||||||
|
{
|
||||||
|
SurfaceTouchEventArgs arg = new SurfaceTouchEventArgs();
|
||||||
|
arg.Binormal = surfaceInfo.Binormal;
|
||||||
|
arg.FaceIndex = surfaceInfo.FaceIndex;
|
||||||
|
arg.Normal = surfaceInfo.Normal;
|
||||||
|
arg.Position = surfaceInfo.Position;
|
||||||
|
arg.STCoord = surfaceInfo.STCoord;
|
||||||
|
arg.UVCoord = surfaceInfo.UVCoord;
|
||||||
|
touchArgs.Add(arg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
handlerGrabObject(grab.ObjectData.LocalID, grab.ObjectData.GrabOffset, this, touchArgs);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case PacketType.ObjectGrabUpdate:
|
case PacketType.ObjectGrabUpdate:
|
||||||
|
|
|
@ -197,7 +197,7 @@ namespace OpenSim.Region.Environment.Modules.World.NPC
|
||||||
public event RequestGodlikePowers OnRequestGodlikePowers;
|
public event RequestGodlikePowers OnRequestGodlikePowers;
|
||||||
public event GodKickUser OnGodKickUser;
|
public event GodKickUser OnGodKickUser;
|
||||||
public event ObjectDuplicate OnObjectDuplicate;
|
public event ObjectDuplicate OnObjectDuplicate;
|
||||||
public event UpdateVector OnGrabObject;
|
public event GrabObject OnGrabObject;
|
||||||
public event ObjectSelect OnDeGrabObject;
|
public event ObjectSelect OnDeGrabObject;
|
||||||
public event MoveObject OnGrabUpdate;
|
public event MoveObject OnGrabUpdate;
|
||||||
public event ViewerEffectEventHandler OnViewerEffect;
|
public event ViewerEffectEventHandler OnViewerEffect;
|
||||||
|
|
|
@ -212,7 +212,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
m_eventManager.TriggerLandBuy(this, args);
|
m_eventManager.TriggerLandBuy(this, args);
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual void ProcessObjectGrab(uint localID, Vector3 offsetPos, IClientAPI remoteClient)
|
public virtual void ProcessObjectGrab(uint localID, Vector3 offsetPos, IClientAPI remoteClient, List<SurfaceTouchEventArgs> surfaceArgs)
|
||||||
{
|
{
|
||||||
|
|
||||||
List<EntityBase> EntityList = GetEntities();
|
List<EntityBase> EntityList = GetEntities();
|
||||||
|
|
|
@ -92,7 +92,7 @@ namespace OpenSim.Region.Examples.SimpleModule
|
||||||
public event RequestGodlikePowers OnRequestGodlikePowers;
|
public event RequestGodlikePowers OnRequestGodlikePowers;
|
||||||
public event GodKickUser OnGodKickUser;
|
public event GodKickUser OnGodKickUser;
|
||||||
public event ObjectDuplicate OnObjectDuplicate;
|
public event ObjectDuplicate OnObjectDuplicate;
|
||||||
public event UpdateVector OnGrabObject;
|
public event GrabObject OnGrabObject;
|
||||||
public event ObjectSelect OnDeGrabObject;
|
public event ObjectSelect OnDeGrabObject;
|
||||||
public event MoveObject OnGrabUpdate;
|
public event MoveObject OnGrabUpdate;
|
||||||
public event ViewerEffectEventHandler OnViewerEffect;
|
public event ViewerEffectEventHandler OnViewerEffect;
|
||||||
|
|
Loading…
Reference in New Issue