52 lines
1.6 KiB
C#
52 lines
1.6 KiB
C#
|
|
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 -= ...
|
|||
|
|
}
|
|||
|
|
}
|