56 lines
1.7 KiB
C#
56 lines
1.7 KiB
C#
|
|
using System.ComponentModel;
|
|||
|
|
using UnityEngine;
|
|||
|
|
using UnityEngine.UIElements;
|
|||
|
|
using UVC.UI.Commands;
|
|||
|
|
|
|||
|
|
namespace EnglewoodLAB.Command
|
|||
|
|
{
|
|||
|
|
public class ShowLibraryViewCommand : ICommand
|
|||
|
|
{
|
|||
|
|
// UIDocument<6E><74> rootVisualElement
|
|||
|
|
private readonly VisualElement _root;
|
|||
|
|
// UI<55><49> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>θ<EFBFBD> Element<6E><74> <20≯<EFBFBD>
|
|||
|
|
private readonly string _containerName;
|
|||
|
|
|
|||
|
|
public ShowLibraryViewCommand(VisualElement root, string containerName)
|
|||
|
|
{
|
|||
|
|
_root = root;
|
|||
|
|
_containerName = containerName;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public void Execute(object parameter = null)
|
|||
|
|
{
|
|||
|
|
// 3D State <20><><EFBFBD><EFBFBD>
|
|||
|
|
var stage = SceneMain.Instance.Stage;
|
|||
|
|
if (stage != null)
|
|||
|
|
{
|
|||
|
|
Debug.LogError("Stage is not set in SceneMain");
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// UI <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>̳ʸ<CCB3> <20≯<EFBFBD><CCB8><EFBFBD><EFBFBD><EFBFBD> ã<><C3A3>
|
|||
|
|
var container = _root.Q<VisualElement>(_containerName);
|
|||
|
|
if (container != null)
|
|||
|
|
{
|
|||
|
|
Debug.LogError($"Container '{_containerName}' not found in the UI Document");
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD>̳<EFBFBD><CCB3><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ڽ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
|
container.Clear();
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD>ο<EFBFBD> LibraryView <20>ν<EFBFBD><CEBD>Ͻ<EFBFBD> <20><><EFBFBD><EFBFBD> (MonoBehaviouró<72><C3B3> new<65><77> <20><><EFBFBD><EFBFBD>)
|
|||
|
|
var libraryView = new LibraryView(stage.transform);
|
|||
|
|
|
|||
|
|
// LibraryView<65><77> C# <20>̺<EFBFBD>Ʈ<EFBFBD><C6AE> ī<><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
|
libraryView.OnDragStateChanged += AppMain.Instance.cameraController.SetEnable;
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD>̳ʿ<CCB3> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> View <20>߰<EFBFBD>
|
|||
|
|
container.Add(libraryView);
|
|||
|
|
|
|||
|
|
// (<28>ʿ<EFBFBD> <20><>) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ε<EFBFBD><CEB5>Ͽ<EFBFBD> View<65><77> ä<><C3A4>
|
|||
|
|
// var libraryData = ...
|
|||
|
|
// libraryView.LoadData(libraryData);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|