private void UpdateSwipeActions(int fingerCount) { for (int i = 0; i < fingerCount; i++) { Touch touch = Input.GetTouch(i); if (touch.phase == TouchPhase.Began && !IsSwipeHappening) { SwipingVector = touch.position; IsSwipeHappening = true; } else if (touch.phase == TouchPhase.Moved && IsSwipeHappening) { Vector2 delta = touch.position - SwipingVector; Debug.Log("----------"); Debug.Log("Swipe Delta: " + delta); Debug.Log("Swipe Deltamag: " + delta.magnitude); Debug.Log("----------"); if (delta.magnitude > minSwipeDistance && Mathf.Abs(delta.x) < swipeVariance) { if (delta.y < 0) { // down swipe IsSwipeHappening = false; OnSwipeAction swipeDown = new OnSwipeAction(fingerCount, false, false, false, true); EventHandler.dispatch(swipeDown); } else if (delta.y > 0) { // Up swipe IsSwipeHappening = false; OnSwipeAction swipeUp = new OnSwipeAction(fingerCount, false, false, true, false); EventHandler.dispatch(swipeUp); } } // Left and right swipe not working yet. else if (delta.magnitude > minSwipeDistance && Mathf.Abs(delta.y) < swipeVariance) { if (delta.x < 0) { // Swipe left //IsSwipeHappening = false; //OnSwipeAction swipe = new OnSwipeAction(fingerCount, true, false, false, false); //EventHandler.dispatch<OnSwipeAction>(swipe); } else if (delta.x > 0) { // Swipe right //IsSwipeHappening = false; //OnSwipeAction swipe = new OnSwipeAction(fingerCount, false, true, false, false); //EventHandler.dispatch<OnSwipeAction>(swipe); } } } else if (touch.phase == TouchPhase.Ended && IsSwipeHappening) { SwipingVector = Vector2.zero; IsSwipeHappening = false; } } }
private void SwipeDoneButton(OnSwipeAction evt) { if (evt.SwipeUp && evt.fingerCount == 2) { gameLoop.IsDoneButtonActive = !gameLoop.IsDoneButtonActive; renderer.enabled = true; collider.enabled = true; _needsFading = true; } }