private void PlaceItem() { _itemToPlace.SetPlacesActive(false); _inventory.RemoveItem(_itemToPlace); _itemToPlace.IsPlaced = true; _itemToPlace.OnDrop(); _itemToPlace = null; }
public void SetItemForPlacing(BaseInventoryObject item) { _itemToPlace = item; if (Mathf.Abs(_owner.transform.position.x - item.PlacePosition.x) < ACTIVE_DISTANCE) { PlaceItem(); } else { _targetPoint = _itemToPlace.PlacePosition; _owner.anim.SetBool("movement", true); _owner.anim.Play("Movement"); _moving = true; } }
public void OnDrop(PointerEventData eventData) { RectTransform inventPanel = transform as RectTransform; if (!RectTransformUtility.RectangleContainsScreenPoint(inventPanel, Input.mousePosition)) { BaseInventoryObject item = eventData.pointerDrag.gameObject.GetComponent <ItemDragHandler>().Item; if (item == null) { return; } if (!item.CanBePlaced()) { return; } ItemPlaced?.Invoke(item); } }