33 lines
1.0 KiB
C#
33 lines
1.0 KiB
C#
using UnityEngine;
|
|
using UnityEngine.UIElements;
|
|
using System;
|
|
|
|
public class LibraryView : VisualElement
|
|
{
|
|
public event Action<bool> OnDragStateChanged;
|
|
private readonly Transform _stage; // 3D 객체가 놓일 공간
|
|
|
|
public LibraryView(Transform stage)
|
|
{
|
|
_stage = stage;
|
|
|
|
// UXML 로드
|
|
var visualTree = Resources.Load<VisualTreeAsset>("UI/Studio/LibraryView");
|
|
visualTree.CloneTree(this);
|
|
|
|
// Accordion 리스트, 스크롤 뷰 등을 여기서 Q<T>()로 찾습니다.
|
|
// 예: var accordionList = this.Q<ScrollView>("accordion-list");
|
|
|
|
// 드래그 로직을 담당할 PointerManipulator를 여기에 등록합니다.
|
|
// manipulator.OnDragStarted += () => OnDragStateChanged?.Invoke(false);
|
|
// manipulator.OnDragFinished += () => OnDragStateChanged?.Invoke(true);
|
|
|
|
// TODO: Manipulator 등록 및 데이터 로딩 로직 구현
|
|
}
|
|
|
|
public void LoadData(object libraryData)
|
|
{
|
|
// TODO: 라이브러리 데이터를 받아 동적으로 아이템 VisualElement를 생성하는 로직
|
|
}
|
|
}
|