Files
XRLib/Assets/Scripts/UVC/UI/Window/LibraryWindow.cs
2025-12-18 20:38:38 +09:00

58 lines
1.5 KiB
C#

#nullable enable
using System.Collections.Generic;
using UnityEngine;
using UVC.UI.List;
namespace UVC.UI.Window
{
public class LibraryWindow : MonoBehaviour
{
[SerializeField]
private PrefabGrid prefabGrid = default!;
[Tooltip("드래그 시 그리드 아이템 이미지가 커서를 따라다니도록 설정합니다.")]
[SerializeField]
private bool dragImageFollowCursor = true;
/// <summary>
/// 내부 <see cref="PrefabGrid"/>에 대한 접근자.
/// 이벤트 구독 등 외부에서 그리드에 직접 접근할 때 사용합니다.
/// </summary>
public PrefabGrid PrefabGrid => prefabGrid;
protected void Awake()
{
if (prefabGrid == null)
{
prefabGrid = GetComponentInChildren<PrefabGrid>();
}
if (prefabGrid == null)
{
Debug.LogError("PrefabGrid component is not assigned or found in Children.");
return;
}
else
{
prefabGrid.dragImageFollowCursor = dragImageFollowCursor;
}
}
public void SetData(List<PrefabGridItemData> list)
{
if (prefabGrid != null)
{
prefabGrid.SetupData(list);
}
}
/// <summary>
/// 닫기
/// </summary>
public void Close()
{
gameObject.SetActive(false);
}
}
}