public void OnDrag(PointerEventData data) { //Debug.Log(data.pressPosition.ToString()); Vector2 delta = data.position - data.pressPosition; RectTransformUtility.ScreenPointToLocalPointInRectangle( transform.parent as RectTransform, data.position, data.pressEventCamera, out delta); delta -= m_drag_offset; transform.localPosition = m_drag_start; transform.localPosition += new Vector3(delta.x, delta.y, 0); Vector2 in_world = Vector2.zero; RectTransformUtility.ScreenPointToLocalPointInRectangle( transform.parent as RectTransform, data.position, data.pressEventCamera, out in_world); Int2D pt = FGridView.GetGridsUnderPoint(Crt, in_world); if (FGridView.FGrid.CanBeReplace(Crt, pt)) { FGridView.SetUnitColor(pt, Crt.Proto.Dim, Color.green); } else { FGridView.SetUnitColor(pt, Crt.Proto.Dim, Color.red); } }
public void OnEndDrag(PointerEventData data) { Vector2 in_world = Vector2.zero; RectTransformUtility.ScreenPointToLocalPointInRectangle( transform.parent as RectTransform, data.position, data.pressEventCamera, out in_world); Int2D pt = FGridView.GetGridsUnderPoint(Crt, in_world); FGridView.FGrid.Replace(Crt, pt); foreach (CreatureView cv in FGridView.Creatures.Values) { cv.UpdateTransform(); } FGridView.SetVisible(false); }