npc와 대화 중 상점 메뉴에 들어가 아이템들을 보여주는 ui가 필요해 제작하게 되었다.
public List<ItemData> shopDataList;
public List<Button> itemBtn;
public GameObject goodsList;
public GameObject parentPosition;
public TextMeshProUGUI itemName;
public TextMeshProUGUI itemDescription;
public TextMeshProUGUI itemPrice;
private void Start()
{
for (int i = 0; i < shopDataList.Count; i++)
{
GameObject goodsInstantiate = Instantiate(goodsList, parentPosition.transform);
itemName = goodsInstantiate.transform.Find("ItemDisplay/ItemName").GetComponent<TextMeshProUGUI>();
itemDescription = goodsInstantiate.transform.Find("ItemDisplay/ItemDescription").GetComponent<TextMeshProUGUI>();
itemPrice = goodsInstantiate.transform.Find("ItemDisplay/ItemPrice").GetComponent<TextMeshProUGUI>();
if(itemName != null)
{
itemName.text = shopDataList[i].itemName;
}
if (itemDescription != null)
{
itemDescription.text = shopDataList[i].description;
}
if (itemPrice != null)
{
itemPrice.text = shopDataList[i].price.ToString();
}
}
}
아이템 데이터를 담아줄 리스트를 만들고 반복문으로 리스트의 길이 만큼 반복하며 자식 오브젝트로 부터 TextMeshPro 컴포넌트를 가져온 후 아이템데이터의 텍스트를 넣어줬다.