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(); } }
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); } }
////////////////////////////////////////////////////////////////////////// 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); }
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)); }