Files
EnglewoodLAB/Assets/Scripts/Command/ShowLibraryViewCommand.cs

56 lines
1.7 KiB
C#
Raw Normal View History

2026-03-09 17:00:30 +09:00
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);
}
}
}