private void Start() { recTrans = GetComponent <RectTransform>(); canvas = GetComponent <Canvas>(); gameManager = FindObjectOfType <GameManager>(); pos = Input.mousePosition; pos.z = transform.position.z - Camera.main.transform.position.z; targetUI = this; targetPosition = currenPosition = transform.position; }
public override void OnDrag(PointerEventData eventData) { base.OnDrag(eventData); canvas.sortingOrder = 10; transform.position += (Vector3)eventData.delta; foreach (OptionTile tile in gameManager.OptionList) { if (RectTransformUtility.RectangleContainsScreenPoint(tile.recTrans, Input.mousePosition) && tile != this) { targetUI = tile; targetPosition = tile.transform.position; targetUI.transform.position = Vector3.Lerp(targetUI.transform.position, this.currenPosition, 1f); targetUI.currenPosition = transform.position; currenPosition = targetPosition; return; } } }
public void SetCurrentOption(OptionTile tile) { _option = tile; }