Example #1
0
        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();
                    }
                }
            }
        }