2026-03-31 아이템 사용 진행중
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
using UnityEngine.EventSystems;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class InventorySlot : MonoBehaviour, IDropHandler, IPointerEnterHandler, IPointerExitHandler, IPointerMoveHandler
|
||||
public class InventorySlot : MonoBehaviour, IDropHandler, IPointerEnterHandler, IPointerExitHandler, IPointerMoveHandler, IPointerClickHandler
|
||||
{
|
||||
public int SlotIndex; // 슬롯의 고유 번호
|
||||
private RectTransform _rectTransform; //슬롯박스 사각형
|
||||
@@ -40,6 +40,71 @@ private void Start()
|
||||
|
||||
}
|
||||
|
||||
public void ClearSlot()
|
||||
{
|
||||
_iconImage.sprite = null;
|
||||
_iconImage.enabled = false;
|
||||
|
||||
_stackText.text = "";
|
||||
_stackText.enabled = false;
|
||||
|
||||
_rarityImage.sprite = _rarity_None_Sprite;
|
||||
//SlotBg.sprite = RarityImage.sprite;
|
||||
}
|
||||
|
||||
public void UpdateSlotUI()
|
||||
{
|
||||
if (currentItem == null)
|
||||
{
|
||||
ClearSlot();
|
||||
return;
|
||||
}
|
||||
|
||||
if (currentItem.Data.Icon != null)
|
||||
{
|
||||
_iconImage.sprite = currentItem.Data.Icon;
|
||||
_iconImage.enabled = true;
|
||||
}
|
||||
|
||||
if (currentItem.Data.IsStackable)
|
||||
_stackText.text = currentItem.CurrentStack.ToString();
|
||||
else
|
||||
_stackText.text = "";
|
||||
|
||||
_stackText.enabled = true;
|
||||
|
||||
switch (currentItem.Data.Rarity)
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
_rarityImage.sprite = _rarity_1_Sprite;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
{
|
||||
_rarityImage.sprite = _rarity_2_Sprite;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
{
|
||||
_rarityImage.sprite = _rarity_3_Sprite;
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
{
|
||||
_rarityImage.sprite = _rarity_4_Sprite;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
{
|
||||
_rarityImage.sprite = _rarity_None_Sprite;
|
||||
}
|
||||
break;
|
||||
|
||||
}
|
||||
//SlotBg.sprite = _rarityImage.sprite;
|
||||
}
|
||||
|
||||
// 아이템 데이터 설정 및 UI 갱신
|
||||
public void SetItem(ItemInstance newItem)
|
||||
{
|
||||
@@ -119,74 +184,19 @@ public void OnPointerExit(PointerEventData eventData)
|
||||
GameManager.Instance.InGameUI.TooltipUI.HideTooltip();
|
||||
}
|
||||
|
||||
public void ClearSlot()
|
||||
public void OnPointerClick(PointerEventData eventData)
|
||||
{
|
||||
_iconImage.sprite = null;
|
||||
_iconImage.enabled = false;
|
||||
|
||||
_stackText.text = "";
|
||||
_stackText.enabled = false;
|
||||
|
||||
_rarityImage.sprite = _rarity_None_Sprite;
|
||||
//SlotBg.sprite = RarityImage.sprite;
|
||||
}
|
||||
|
||||
public void UpdateSlotUI()
|
||||
{
|
||||
if (currentItem == null)
|
||||
// 우클릭
|
||||
if (eventData.button == PointerEventData.InputButton.Right)
|
||||
{
|
||||
ClearSlot();
|
||||
return;
|
||||
ItemUse();
|
||||
}
|
||||
|
||||
if (currentItem.Data.Icon != null)
|
||||
{
|
||||
_iconImage.sprite = currentItem.Data.Icon;
|
||||
_iconImage.enabled = true;
|
||||
}
|
||||
|
||||
if (currentItem.Data.IsStackable)
|
||||
_stackText.text = currentItem.CurrentStack.ToString();
|
||||
else
|
||||
_stackText.text = "";
|
||||
|
||||
_stackText.enabled = true;
|
||||
|
||||
switch (currentItem.Data.Rarity)
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
_rarityImage.sprite = _rarity_1_Sprite;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
{
|
||||
_rarityImage.sprite = _rarity_2_Sprite;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
{
|
||||
_rarityImage.sprite = _rarity_3_Sprite;
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
{
|
||||
_rarityImage.sprite = _rarity_4_Sprite;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
{
|
||||
_rarityImage.sprite = _rarity_None_Sprite;
|
||||
}
|
||||
break;
|
||||
|
||||
}
|
||||
//SlotBg.sprite = _rarityImage.sprite;
|
||||
}
|
||||
|
||||
public void ItemUse()
|
||||
{
|
||||
GameManager.Instance.ItemEffect.ItemUse(currentItem);
|
||||
currentItem.CurrentStack -= 1;
|
||||
UpdateSlotUI();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user