UTKProperyWIndow 수정 중
This commit is contained in:
@@ -25,12 +25,19 @@ public class UTKAccordionListWindowSample : MonoBehaviour
|
||||
[Tooltip("UI를 표시할 UIDocument 컴포넌트")]
|
||||
public UIDocument? uiDocument;
|
||||
|
||||
|
||||
[SerializeField]
|
||||
[Tooltip("드래그 시 고스트 이미지 표시 여부")]
|
||||
private bool showDragGhost = true;
|
||||
|
||||
[SerializeField]
|
||||
[Tooltip("시작 시 적용할 테마")]
|
||||
private UTKTheme initialTheme = UTKTheme.Dark;
|
||||
|
||||
private UTKToggle _themeToggle;
|
||||
|
||||
/// <summary>UTKAccordionListWindow 인스턴스</summary>
|
||||
private UTKAccordionListWindow? _accordionWindow;
|
||||
private UTKAccordionListWindow _accordionWindow;
|
||||
|
||||
/// <summary>드롭 위치 (스크린 좌표)</summary>
|
||||
private Vector2 _lastDropScreenPosition;
|
||||
@@ -44,6 +51,8 @@ public class UTKAccordionListWindowSample : MonoBehaviour
|
||||
/// <summary>드래그 중 리스트 영역 밖에 있는지 여부</summary>
|
||||
private bool _isOutsideListArea;
|
||||
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
#region Unity 라이프사이클
|
||||
@@ -51,30 +60,49 @@ public class UTKAccordionListWindowSample : MonoBehaviour
|
||||
private void Start()
|
||||
{
|
||||
// UIDocument 참조 확인
|
||||
uiDocument ??= GetComponent<UIDocument>();
|
||||
if (uiDocument == null)
|
||||
var doc = GetComponent<UIDocument>();
|
||||
if (doc == null)
|
||||
{
|
||||
Debug.LogError("[UTKAccordionListWindowSample] UIDocument가 할당되지 않았습니다.");
|
||||
Debug.LogError("UIDocument가 할당되지 않았습니다.");
|
||||
return;
|
||||
}
|
||||
uiDocument = doc;
|
||||
|
||||
var toggle = uiDocument.rootVisualElement.Q<UTKToggle>("toggle");
|
||||
if (toggle == null)
|
||||
{
|
||||
Debug.LogError("UXML에서 UTKToggle을 찾을 수 없습니다.");
|
||||
return;
|
||||
}
|
||||
_themeToggle = toggle;
|
||||
|
||||
var window = uiDocument.rootVisualElement.Q<UTKAccordionListWindow>("window");
|
||||
if (window == null)
|
||||
{
|
||||
Debug.LogError("UXML에서 UTKAccordionListWindow를 찾을 수 없습니다.");
|
||||
return;
|
||||
}
|
||||
_accordionWindow = window;
|
||||
|
||||
UTKThemeManager.Instance.RegisterRoot(uiDocument.rootVisualElement);
|
||||
UTKThemeManager.Instance.SetTheme(initialTheme);
|
||||
|
||||
_themeToggle.OnValueChanged += (isOn) =>
|
||||
{
|
||||
UTKThemeManager.Instance.SetTheme(!isOn ? UTKTheme.Dark : UTKTheme.Light);
|
||||
};
|
||||
|
||||
// UTKAccordionListWindow 인스턴스 생성 및 추가
|
||||
_accordionWindow = new UTKAccordionListWindow();
|
||||
_accordionWindow.ShowDragGhost = showDragGhost;
|
||||
_accordionWindow.Title = "ACCORDION";
|
||||
_accordionWindow.ShowCloseButton = true;
|
||||
|
||||
uiDocument.rootVisualElement.Add(_accordionWindow);
|
||||
|
||||
// 테스트 데이터 생성
|
||||
CreateTestData();
|
||||
|
||||
// 이벤트 핸들러 등록
|
||||
RegisterEventHandlers();
|
||||
|
||||
// 윈도우 표시
|
||||
_accordionWindow.Show();
|
||||
|
||||
Debug.Log("[UTKAccordionListWindowSample] 초기화 완료");
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user