public void OnDrag(PointerEventData eventData) { // Debug.Log ("Dragging"); // Debug.Log (eventData.pointerCurrentRaycast.worldPosition); pointerWorldPosition = eventData.pointerCurrentRaycast.worldPosition; insideBoardBoundary = BoardUtilities.pointerInsideBoundary(pointerWorldPosition, gameBoardBoundary); if (onDragging != null && InputEnabled && insideBoardBoundary) { onDragging(pointerWorldPosition); } }
public void OnBeginDrag(PointerEventData eventData) { if (InputEnabled) { //Debug.Log ("Drag Begin"); pointerWorldPosition = eventData.pointerCurrentRaycast.worldPosition; insideBoardBoundary = BoardUtilities.pointerInsideBoundary(pointerWorldPosition, gameBoardBoundary); if (insideBoardBoundary) { if (onDragStart != null) { onDragStart(eventData.pointerCurrentRaycast.gameObject, pointerWorldPosition); } } } }
void doDragStart(Vector3 v) { screenRay = Camera.main.ScreenPointToRay(v); Physics2D.GetRayIntersectionNonAlloc(screenRay, hitResults); //Debug.Log(hitResults[0].collider); if (hitResults[0].collider != null) { pointerWorldPosition = hitResults[0].point; insideBoardBoundary = BoardUtilities.pointerInsideBoundary(pointerWorldPosition, gameBoardBoundary); if (insideBoardBoundary) { //Debug.Log("fire"); fireOnDragStart(hitResults[0].collider.gameObject); } } }
void doDragging(Vector3 v) { if (hitResults[0].collider != null) { //Debug.Log(hitResults[0].collider); pointerWorldPosition = Camera.main.ScreenToWorldPoint(v); /*update z, so it is the same as the boundary and the units on board*/ pointerWorldPosition.z = tableUnitZ; insideBoardBoundary = BoardUtilities.pointerInsideBoundary(pointerWorldPosition, gameBoardBoundary); if (insideBoardBoundary) { fireOnDragging(pointerWorldPosition); } else { //Debug.Log("out of boundary"); doDragEnd(); } } }