// 드래그 시작
public void OnBeginDrag(PointerEventData eventData)
{
// 아이템 정보 플레이어한테 전달
GameManager.Instance.Player.currentData = this.data;
GameManager.Instance.Player.dataQuantity = slotQuantity;
GameManager.Instance.Player.dataDelayTime = delayTime;
GameManager.Instance.Player.cursor.itemDrag.SetActive(true);
GameManager.Instance.Player.cursor.itemDrag.GetComponent<Image>().sprite = data.icon;
Clear();
}
// 드래그 끝났을 때
public void OnEndDrag(PointerEventData eventData)
{
if (data != null)
{
return;
}
data = GameManager.Instance.Player.currentData;
slotQuantity = GameManager.Instance.Player.dataQuantity;
delayTime = GameManager.Instance.Player.dataDelayTime;
DelayCheck();
Set();
GameManager.Instance.Player.cursor.itemDrag.SetActive(false);
}
**설명:
1. 아이템을 드래그 시작할 때 드래그한 아이템이 사라지게 Clear실행
2. 자신의 위치에 드롭을 하면 플레이어의 정보를 드래그 시작한 슬롯으로 들어감
3. 원래라면 다시 드롭이 끝났으니 드래그가 끝나서 드래그 시작한 슬롯의 정보가 사라지지만
Null처리를 하여 사라지지않게 함
**
public bool invenCursor = true;
public bool craftCursor = true;
public GameObject itemDrag;
ItemData data;
void Start()
{
GameManager.Instance.Player.cursor = this;
gameObject.SetActive(false);
invenCursor = true;
craftCursor = true;
}
public void CursorCheck()
{
if (invenCursor && craftCursor)
{
Cursor.lockState = CursorLockMode.Locked;
}
else
{
Cursor.lockState = CursorLockMode.None;
}
}
설명: 코드는 해결한 코드이므로 설명으로 진행
1.
1. 없음
1. 없음