이번엔 아이템을 습득하면 아이템 아이콘과 정보가 나오는 팝업창을 만들어 봤다.
기존의 UI를 만들던 방식과 크게 다르지 않아 과정이 어렵지는 않았지만, 아무키나 눌러도 창이 닫히게끔 만들었는데 아이템 창이 너무 빨리 닫히는 문제가 있었다.
해결 방법은 코루틴을 사용해서 bool값을 변경해주고 창을 비활성화 하는 메서드를 추가해 해결했다.
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
public class ItemPopup : MonoBehaviour
{
public ItemData popupData;
public GameObject itemPopup;
[Header("Popup Item")]
public Image popupIcon;
public TextMeshProUGUI popupName;
public TextMeshProUGUI popupDescription;
public GameObject continueText;
public bool isContinue;
public void PopupGetItem()
{
popupData = CharacterManager.Instance.Player.itemData;
continueText.SetActive(false);
isContinue = false;
popupName.text = popupData.name;
popupDescription.text = popupData.description;
popupIcon.sprite = popupData.icon;
itemPopup.SetActive(true);
StartCoroutine(OnIsContinue());
}
IEnumerator OnIsContinue()
{
Time.timeScale = 0f;
yield return new WaitForSecondsRealtime(2f);
continueText.SetActive(true);
isContinue = true;
}
public void ClosePopup()
{
itemPopup.SetActive(false);
Time.timeScale = 1f;
}
}