コード例 #1
0
    public void OnDragUpdateDelegate(PointerEventData data)
    {
        // Ignore these in accessibility mode
        if (UAP_AccessibilityManager.IsEnabled())
        {
            return;
        }

        Vector2 direction = (data.position - data.pressPosition).normalized;
        EVecDir dir       = GetVectorDirection(direction);

        if (IsSameTile(data.pointerEnter))
        {
            dir = EVecDir.None;
        }

        if (dir == m_LastPreviewDir)
        {
            return;
        }

        m_LastPreviewDir = dir;

        // Preview drag
        if (dir != EVecDir.None)
        {
            gameplay.Instance.PreviewDrag(m_Index, GetNeighbourIndex(dir));
        }
        else
        {
            gameplay.Instance.CancelPreview();
        }
    }
コード例 #2
0
    public void OnPointerUpDelegate(PointerEventData data)
    {
        m_LastPreviewDir = EVecDir.None;

        // Ignore these in accessibility mode
        if (UAP_AccessibilityManager.IsEnabled())
        {
            return;
        }

        gridpanel panel = (data.pointerEnter != null ? gameObject.GetComponent <gridpanel>() : null);

        if (panel == this && !data.dragging)
        {
            //Debug.Log("Pointer Up, not dragging - on same tile " + GetTileTypeName());
            gameplay.Instance.ActivateTile(m_Index);
        }
    }
コード例 #3
0
    //////////////////////////////////////////////////////////////////////////

    private int GetNeighbourIndex(EVecDir dir)
    {
        switch (dir)
        {
        case EVecDir.Up:
            return(m_Index - m_xWidth);

        case EVecDir.Down:
            return(m_Index + m_xWidth);

        case EVecDir.Left:
            return(m_Index - 1);

        case EVecDir.Right:
            return(m_Index + 1);
        }

        return(m_Index);
    }
コード例 #4
0
    public void OnDragEndDelegate(PointerEventData data)
    {
        // Ignore these in accessibility mode
        if (UAP_AccessibilityManager.IsEnabled())
        {
            return;
        }

        Vector2 direction = (data.position - data.pressPosition).normalized;
        EVecDir dir       = GetVectorDirection(direction);

        //Debug.Log("End Drag - Press Position: " + data.pressPosition + " Position: " + data.position + " Direction: " + dir);

        if (IsSameTile(data.pointerEnter))
        {
            gameplay.Instance.ActivateTile(m_Index);
            return;
        }

        gameplay.Instance.ActivateTile(GetNeighbourIndex(dir));
    }