using System.Collections.Generic; using UnityEngine; using UVC.UI.List; using UVC.UI.Window; public class LibraryWindowSample : MonoBehaviour { [SerializeField] private LibraryWindow libraryWindow; public void Start() { if (libraryWindow == null) { libraryWindow = FindFirstObjectByType(); } // PrefabGrid 이벤트 구독 if (libraryWindow != null && libraryWindow.PrefabGrid != null) { libraryWindow.PrefabGrid.OnItemClick += OnClickGridItem; libraryWindow.PrefabGrid.OnItemDrop += OnDropGridItem; } List imagePath = new List() { "Simulator/Images/lib_forklift_400x300", "Simulator/Images/lib_pallet_400x300", "Simulator/Images/lib_worker_400x300", }; List prefabPath = new List() { "Prefabs/Forklift", "Prefabs/PalletEmpty", "Prefabs/Male Young Guy", }; List list = new List(); for (int i = 0; i < 20; i++) { list.Add(new PrefabGridItemData() { Id = i.ToString(), ItemName = $"Item {i}", ImagePrefabPath = imagePath[i % 3], ObjectPrefabPath = prefabPath[i % 3], Tag = $"item_{i}" }); } libraryWindow.SetData(list); } private void OnClickGridItem(PrefabGridItemData data) { Debug.Log($"Clicked Item: {data.ItemName}, PrefabPath: {data.ObjectPrefabPath}"); } private void OnDropGridItem(PrefabGridItemData data) { Debug.Log($"Dropped Item: {data.ItemName}, PrefabPath: {data.ObjectPrefabPath}"); } private void OnDestroy() { // 이벤트 구독 해제 if (libraryWindow != null && libraryWindow.PrefabGrid != null) { libraryWindow.PrefabGrid.OnItemClick -= OnClickGridItem; libraryWindow.PrefabGrid.OnItemDrop -= OnDropGridItem; } } }