private void TriggerUp(stExternalInteractData _externalInteractData) { //Debug.Log("Trigger Up : " + name + " " + _externalInteractData.HandType); if (isRequestedGrabMessage) { return; } bool isGrab = VRHandEventHandler.IsGrab(_externalInteractData.HandType, this); if (isGrab) { isRequestedGrabMessage = true; Vector3 pos = Pivot.position; Quaternion rot = Pivot.rotation; Vector3 velocity = VRInputManager.GetVelocity(_externalInteractData.HandType, VRInputManager.PositionType.CONTROLLER); if (m_bIsOnlyLocalObject) { m_GrabData.SetUnGrabData(_externalInteractData.HandType, pos, rot, velocity, Time.time); UnGrabSomething(); } else { //Debug.Log("Send UnGrab : " + name + " " + _externalInteractData.HandType); MyNetworkManager.SendToServer_UnGrab(UID, _externalInteractData.HandType, pos, rot, velocity); } } }
private void TriggerDown(stExternalInteractData _externalInteractData) { Debug.Log("Trigger Down : " + name + " " + _externalInteractData.HandType); if (isRequestedGrabMessage) { return; } isRequestedGrabMessage = true; Transform grabTm = VRHandEventHandler.GetHandGrabPivot(_externalInteractData.HandType); Vector3 pos = grabTm.InverseTransformPoint(Pivot.position); Quaternion rot = Quaternion.Inverse(grabTm.rotation) * Pivot.rotation; if (m_GrabData.AmIGrabbing && m_GrabData.HandType != _externalInteractData.HandType) { VRHandEventHandler.UnGrabInteractObject(m_GrabData.HandType, this); } if (m_bIsOnlyLocalObject) { m_GrabData.SetGrabData(MyNetworkManager.MyNetID, _externalInteractData.HandType, pos, rot, Time.time); GrabSomething(); } else { //Debug.Log("Send Grab : " + name + " " + _externalInteractData.HandType); MyNetworkManager.SendToServer_Grab(UID, _externalInteractData.HandType, pos, rot); } }
public void SetGrabData(uint _id, VRHand.eHandType _handType, Vector3 _position, Quaternion _rotation, float _receiveTime) { RecordData(); grabbedCount++; SetDefaultData(_id, _handType, _position, _rotation, _receiveTime); if (MyNetworkManager.IsMyID(GrabberID)) { GrabHandTransform = VRHandEventHandler.GetHandGrabPivot(HandType); } else { GrabHandTransform = NetCharacterHandler.GetHandGrabPivot(GrabberID, HandType); } }