public override void OnPointerDown(PointerEventData eventData) { if (eventData.button == PointerEventData.InputButton.Right) { if (InventoryManager.Instance.IsPickedItem == true) { return; } if (transform.childCount > 0) { ItemUI currentItemUI = transform.GetChild(0).GetComponent <ItemUI>(); CharacterPanel.Instance.PutOff(currentItemUI.item); DestroyImmediate(currentItemUI.gameObject); InventoryManager.Instance.HideToolTipContent(); CharacterPanel.Instance.UpdatePropertyText(); } else { return; } } if (eventData.button != PointerEventData.InputButton.Left) { return; } //1 手上 有东西 //1.1 物品槽里 有装备 先判断类型 后交换 //1.2 物品槽里 没有装备 先判断类型 后放入 //2 手上 没有东西 //2.1 物品槽里 有装备 //2.2 物品槽里 没有装备 if (InventoryManager.Instance.IsPickedItem == true) //1 手上 有东西 { ItemUI pickedItem = InventoryManager.Instance.PickedItem; //鼠标上的物品 if (transform.childCount > 0) //有子类 { ItemUI currentItemUI = transform.GetChild(0).GetComponent <ItemUI>(); //物品槽中的物体 if (IsRightItem(pickedItem.item) == true) { currentItemUI.ExchangeItemUI(pickedItem); } } else { if (IsRightItem(pickedItem.item) == true) { this.CreateItem(pickedItem.item, pickedItem.Amount); InventoryManager.Instance.ReducePickedItem(); } } CharacterPanel.Instance.UpdatePropertyText(); } else //2 手上 没有东西 { if (transform.childCount > 0) //物品槽有物品 { ItemUI currentItemUI = transform.GetChild(0).GetComponent <ItemUI>(); //物品槽中的物体 InventoryManager.Instance.PickedItemUI(currentItemUI.item, currentItemUI.Amount); Destroy(currentItemUI.gameObject); CharacterPanel.Instance.UpdatePropertyText(); } else { return; } } }