private void TryTouchObject(RenderPrimitive LeftclickedObject)
{
if ((LeftclickedObject.Prim.Flags & PrimFlags.Touch) != 0)
{
if (m_currentlyTouchingObject != null)
{
if (m_currentlyTouchingObject.Prim.LocalID != LeftclickedObject.Prim.LocalID)
{
//Changed what we are touching... stop touching the old one
TryEndTouchObject();
//Then set the new one and touch it for the first time
m_currentlyTouchingObject = LeftclickedObject;
Client.Self.Grab(LeftclickedObject.Prim.LocalID, Vector3.Zero, Vector3.Zero, Vector3.Zero, LeftclickedFaceID, Vector3.Zero, Vector3.Zero, Vector3.Zero);
Client.Self.GrabUpdate(LeftclickedObject.Prim.ID, Vector3.Zero);
}
else
Client.Self.GrabUpdate(LeftclickedObject.Prim.ID, Vector3.Zero, Vector3.Zero, Vector3.Zero, Vector3.Zero, LeftclickedFaceID, Vector3.Zero, Vector3.Zero, Vector3.Zero);
}
else
{
m_currentlyTouchingObject = LeftclickedObject;
Client.Self.Grab(LeftclickedObject.Prim.LocalID, Vector3.Zero, Vector3.Zero, Vector3.Zero, LeftclickedFaceID, Vector3.Zero, Vector3.Zero, Vector3.Zero);
Client.Self.GrabUpdate(LeftclickedObject.Prim.ID, Vector3.Zero, Vector3.Zero, Vector3.Zero, Vector3.Zero, LeftclickedFaceID, Vector3.Zero, Vector3.Zero, Vector3.Zero);
}
}
}