using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
///
/// Обработка Drag & Drop предметов между слотами и выброс за пределы инвентаря
///
public class InventoryDragDrop : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler, IPointerEnterHandler, IPointerExitHandler
{
public Slot slot;
public int slotIndex;
[Header("Drag Visual")]
[SerializeField] private RectTransform dragIcon;
[SerializeField] private Image dragImage;
[SerializeField] private float dragIconScale = 1.2f;
[Header("Drop Settings")]
[SerializeField] private bool allowDropOutside = true;
[SerializeField] private float dropThreshold = 100f; // пикселей за пределами инвентаря
private Canvas _canvas;
private CanvasGroup _canvasGroup;
private bool _isDragging;
private Vector2 _dragStartPosition;
private RectTransform _inventoryPanelRect;
void Start()
{
_canvas = GetComponentInParent