Files
EnglewoodLAB/Assets/Scripts/UI/Studio/LibraryViewController.cs

52 lines
1.6 KiB
C#
Raw Normal View History

2026-03-09 17:00:30 +09:00
using UnityEngine;
using UnityEngine.UIElements;
using System;
// MonoBehaviour<75><72> <20><><EFBFBD>ӹ޾<D3B9> uGUI <20>ý<EFBFBD><C3BD>۰<EFBFBD> <20>Բ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>
[RequireComponent(typeof(UIDocument))]
public class LibraryViewController : MonoBehaviour
{
// <20><EFBFBD><E5B7A1> <20><><EFBFBD><EFBFBD> <20>ܺ<EFBFBD> <20>˸<EFBFBD><CBB8><EFBFBD> <20>̺<EFBFBD>Ʈ
public event Action<bool> OnDragStateChanged;
private VisualElement rootElement;
private ScrollView itemScrollView;
void Awake()
{
// 1. <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ӿ<EFBFBD><D3BF><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> <20>ִ<EFBFBD> UIDocument<6E><74><EFBFBD><EFBFBD> root VisualElement<6E><74> <20><><EFBFBD><EFBFBD><EFBFBD>ɴϴ<C9B4>.
var uiDocument = GetComponent<UIDocument>();
rootElement = uiDocument.rootVisualElement;
// 2. UXML<4D><4C> <20><><EFBFBD>ǵ<EFBFBD> <20>ֿ<EFBFBD> <20><><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD> ã<><C3A3><EFBFBD>ϴ<EFBFBD>.
itemScrollView = rootElement.Q<ScrollView>("item-scroll-view");
// 3. <20><><EFBFBD>̺귯<CCBA><EAB7AF> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ε<EFBFBD> <20><> UI <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȣ<><C8A3><EFBFBD>մϴ<D5B4>.
LoadAndDisplayLibrary();
// 4. <20><EFBFBD><E5B7A1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Manipulator<6F><72> <20><><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD>, OnDragStateChanged <20>̺<EFBFBD>Ʈ<EFBFBD><C6AE> <20>߻<EFBFBD><DFBB><EFBFBD>ŵ<EFBFBD>ϴ<EFBFBD>.
// <20><> <20>κ<EFBFBD><CEBA><EFBFBD> <20><><EFBFBD><EFBFBD> <20><EFBFBD><E4BAAF> LibraryView <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>.
}
// uGUI <20><>ư <20><> <20>ܺο<DCBA><CEBF><EFBFBD> <20><> <20>޼<EFBFBD><DEBC>ȣ<><C8A3><EFBFBD>Ͽ<EFBFBD> <20>̺<EFBFBD>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>.
public void ConnectToCamera(Action<bool> cameraControlAction)
{
OnDragStateChanged += cameraControlAction;
}
private void LoadAndDisplayLibrary()
{
// TODO: <20><><EFBFBD>̺귯<CCBA><EAB7AF> <20><><EFBFBD><EFBFBD><EFBFBD>͸<EFBFBD> <20>ҷ<EFBFBD><D2B7>ɴϴ<C9B4>.
// var libraryData = ...
// TODO: <20><><EFBFBD><EFBFBD><EFBFBD>͸<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> VisualElement<6E><74> <20><><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD> itemScrollView<65><77> <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
// <20><>: foreach (var itemData in libraryData) { itemScrollView.Add(new LibraryItem(itemData)); }
}
void OnDestroy()
{
// <20>̺<EFBFBD>Ʈ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
// OnDragStateChanged -= ...
}
}