void IDragHandler.OnDrag(PointerEventData eventData) { IVRRayPointerEventData pointer = eventData as IVRRayPointerEventData; if (pointer == null) { return; } if (isActiveAndEnabled) { Vector2 delta = pointer.TouchPadPosition - mBeginDragPosition; if (delta.magnitude > 50) { mBeginDragPosition = pointer.TouchPadPosition; if (Mathf.Abs(delta.x) > Mathf.Abs(delta.y)) { RunOnSwip(delta.x > 0 ? SwipEnum.MOVE_UP : SwipEnum.MOVE_DOWN); } else { RunOnSwip(delta.y > 0 ? SwipEnum.MOVE_FOWRAD : SwipEnum.MOVE_BACK); } } RunOnDrag(delta); } }
void IPointerUpHandler.OnPointerUp(PointerEventData eventData) { IVRRayPointerEventData p = eventData as IVRRayPointerEventData; if (p != null) { PointerString = "IVRTouchpad Up : " + p.TouchPadPosition; } }
void IPointerDownHandler.OnPointerDown(PointerEventData eventData) { IVRRayPointerEventData p = eventData as IVRRayPointerEventData; if (p != null) { Debug.Log("IVRTouchpad Down : " + p.TouchPadPosition); } }
void IBeginDragHandler.OnBeginDrag(PointerEventData eventData) { IVRRayPointerEventData pointer = eventData as IVRRayPointerEventData; if (pointer == null) { return; } mBeginDragPosition = pointer.TouchPadPosition; }
void IOnHoverHandler.OnHover(BaseEventData eventData) { IVRRayPointerEventData pointer = eventData as IVRRayPointerEventData; if (pointer.HitResults.Contains(gameObject)) { isHover = true; OnHoverString = "hit point : " + pointer.HitPoints[pointer.HitResults.IndexOf(gameObject)].ToString(); } else { OnHoverString = "Try to hove me!"; isHover = false; DragString = string.Empty; ScrollString = string.Empty; } }
void IOnHoverHandler.OnHover(IVRRayPointerEventData eventData) { if (eventData.HitResults.Contains(gameObject)) { isHover = true; OnHoverString = "hit point : " + eventData.HitPoints[eventData.HitResults.IndexOf(gameObject)].ToString(); } else { #if UNITY_EDITOR OnHoverString = "Better Try this on device!"; #else OnHoverString = "Try to hove me!"; #endif isHover = false; DragString = string.Empty; ScrollString = string.Empty; } }
void IOnHoverHandler.OnHover(IVRRayPointerEventData pointer) { if (pointer == null) { return; } if (pointer.HitResults.Contains(gameObject)) { hitPoint = pointer.HitPoints[pointer.HitResults.IndexOf(gameObject)]; if (!isHover) { RunOnHover(true); } } else if (isHover) { RunOnHover(false); LoseFocus(); } }
public void OnHover(IVRRayPointerEventData eventData) { if (!rayCastTarget) { return; } if (eventData.HitResults.Count > 0) { int ind = -1; for (int i = 0; i < eventData.HitResults.Count; i++) { if (eventData.HitResults[i].gameObject == gameObject) { ind = i; break; } } if (ind < 0) { return; } Vector3 hitPos = eventData.HitPoints[ind]; DirectionType direc = CalculateDirection(hitPos, mRectTransform.position, 0f); float signX = 0f; float signY = 0f; if (direc == DirectionType.Right) { signY = -1; } else if (direc == DirectionType.Left) { signY = 1; } else if (direc == DirectionType.Up) { signX = 1; } else if (direc == DirectionType.Down) { signX = -1; } else if (direc == DirectionType.Down_Left) { signX = -1; signY = 1; } else if (direc == DirectionType.Down_Right) { signX = -1; signY = -1; } else if (direc == DirectionType.Up_Left) { signX = 1; signY = 1; } else { signX = 1; signY = -1; } float off = 15f; Vector3 direction = mRectTransform.position - hitPos; float upDot = Vector2.Dot(Vector2.down, direction); float rightDot = Vector2.Dot(Vector2.left, direction); float xx = Mathf.Abs(upDot) * off; float yy = Mathf.Abs(rightDot) * off; box.rotation = Quaternion.Euler(new Vector3(signX * xx, signY * yy, 0f)); } }
void IBeginDragHandler.OnBeginDrag(PointerEventData eventData) { IVRRayPointerEventData pointer = eventData as IVRRayPointerEventData; startDragPosition = pointer.TouchPadPosition; }
void IDragHandler.OnDrag(PointerEventData eventData) { IVRRayPointerEventData pointer = eventData as IVRRayPointerEventData; DragString = "Drag:" + (pointer.TouchPadPosition - startDragPosition).ToString(); }
public void OnHover(IVRRayPointerEventData eventData) { isHovered = true; }
public void OnHover(IVRRayPointerEventData eventData) { gameObject.GetComponentInChildren <Text>().text = "Hovered"; }