Record/TIL

[Unity] 유니티 오브젝트 클릭시 동적으로 추가하는 스크롤뷰

석영 2024. 7. 26. 21:38
반응형

서론

어떻게 컴포넌트 추가하나요?

 

바로바로 AddComponent 하면 되는 것입니다..

이런식으로 버튼 아이템을 클릭하면 버튼 아이템이 새로 추가됩니다.

 

 

본론

코드
using UnityEngine;
using UnityEngine.UI;

public class PlayerCollection : MonoBehaviour
{
    public GameObject scrollViewContent;

    public void AddItemToScrollView(ItemObject itemObject)
    {
        if (scrollViewContent == null)
        {
            Debug.LogError("Content에 연결안해둠");
            return;
        }

        GameObject newItemUI = new GameObject("Item");
        newItemUI.transform.SetParent(scrollViewContent.transform);

        Image itemImage = newItemUI.AddComponent<Image>();
        if (itemObject.data.icon != null)
        {
            itemImage.sprite = itemObject.data.icon;
            itemImage.rectTransform.sizeDelta = new Vector2(200, 200);
        }

        Button itemButton = newItemUI.AddComponent<Button>();
        itemButton.onClick.AddListener(() => { HandleItemClick(itemObject); });
    }

    void HandleItemClick(ItemObject itemObject)
    {
        // 일단은 로그만
        Debug.Log("아이템 클릭: " + itemObject.data.itemName);
    }
}

 

 

 

결론

오늘의 회고

이제 최종발표까지 4주도 안남았습니다. 제가 팀장이라 오더를 내리는 편인데 오더에 다들 잘 따라줘서 감사할따름입니다. 1명은 싱글게임 리팩토링을 계속 담당하고 3명은 3D 멀티게임 개발을 시작할 예정인데 시간안에 할 수 있을지 무섭뜹니다.

최대한 볼륨을 작게 잡았으니 점점 키워나가야겠습니다. ㅎ-

반응형