private void OnTouchEnded(TouchData touchData) { if (touchData.touchType != TouchType.Ended) { Debug.LogWarning("Incorrect data provided"); return; } DebugLog.instance.ApendLog("Screen position norm y: " + (touchData.screenPosition.y / Screen.height)); m_EndPoint = touchData; var distance = m_TouchControl.CalculateDistanceSquared(m_StartPoint, m_EndPoint); if (distance <= Mathf.Pow(maxDistanceBetweenTouch, 2)) { if (m_ShouldBlockNextOpenAttempt) { m_ShouldBlockNextOpenAttempt = false; return; } if (m_MainMenuView != null) { bool isVisible = m_MainMenuView.IsVisible(); bool isAdditionalVisible = m_MainMenuView.IsAdditionalVisible(); if (isVisible && !isAdditionalVisible && (touchData.screenPosition.y / Screen.height) > MENU_SHOWN_Y_TOUCH_OFFSET) { m_MainMenuView.Hide(); } else if (isVisible && isAdditionalVisible && (touchData.screenPosition.y / Screen.height) > ADDITIONAL_MENU_SHOWN_Y_TOUCH_OFFSET) { m_MainMenuView.HideAdditional(); } else if (!isVisible) { m_MainMenuView.Show(); } } } }