개발중

This commit is contained in:
logonkhi
2025-11-13 20:16:25 +09:00
parent 6920659ed9
commit c98c1d9d9a
42 changed files with 5008 additions and 1854 deletions

View File

@@ -244,7 +244,7 @@ namespace UVC.UI.List.Tree
}
// 디버그 로그
Debug.Log($"Escape key pressed. Clearing {selectedItems.Count} selected item(s).");
//Debug.Log($"Escape key pressed. Clearing {selectedItems.Count} selected item(s).");
// 모든 선택 해제
ClearSelection();
@@ -276,7 +276,7 @@ namespace UVC.UI.List.Tree
var itemsToDelete = selectedItems.ToList();
// 디버그 로그
Debug.Log($"Delete key pressed. Removing {itemsToDelete.Count} selected item(s).");
//Debug.Log($"Delete key pressed. Removing {itemsToDelete.Count} selected item(s).");
// 각 선택된 아이템을 삭제
foreach (var item in itemsToDelete)
@@ -381,7 +381,7 @@ namespace UVC.UI.List.Tree
lastSelectedItem = previousItem;
// 디버그 로그
Debug.Log($"Up arrow: Selected '{previousItem.Name}' (visible index {previousIndex})");
//Debug.Log($"Up arrow: Selected '{previousItem.Name}' (visible index {previousIndex})");
}
}
@@ -412,7 +412,7 @@ namespace UVC.UI.List.Tree
lastSelectedItem = firstItem;
// 디버그 로그
Debug.Log($"Down arrow (no selection): Selected first visible item '{firstItem.Name}'");
//Debug.Log($"Down arrow (no selection): Selected first visible item '{firstItem.Name}'");
}
return;
}
@@ -448,7 +448,7 @@ namespace UVC.UI.List.Tree
lastSelectedItem = nextItem;
// 디버그 로그
Debug.Log($"Down arrow: Selected '{nextItem.Name}' (visible index {nextIndex})");
//Debug.Log($"Down arrow: Selected '{nextItem.Name}' (visible index {nextIndex})");
}
}
@@ -485,7 +485,7 @@ namespace UVC.UI.List.Tree
selectedItem.IsExpanded = true;
// 디버그 로그
Debug.Log($"Return key: Toggled '{selectedItem.Name}' IsExpanded to {selectedItem.IsExpanded}");
//Debug.Log($"Return key: Toggled '{selectedItem.Name}' IsExpanded to {selectedItem.IsExpanded}");
// 펼침/접힘 상태 변경을 UI에 반영하기 위해 평탄화 리스트 업데이트
UpdateFlattenedItemDataList();
@@ -524,7 +524,7 @@ namespace UVC.UI.List.Tree
selectedItem.IsExpanded = false;
// 디버그 로그
Debug.Log($"Return key: Toggled '{selectedItem.Name}' IsExpanded to {selectedItem.IsExpanded}");
//Debug.Log($"Return key: Toggled '{selectedItem.Name}' IsExpanded to {selectedItem.IsExpanded}");
// 펼침/접힘 상태 변경을 UI에 반영하기 위해 평탄화 리스트 업데이트
UpdateFlattenedItemDataList();
@@ -543,12 +543,12 @@ namespace UVC.UI.List.Tree
/// - data: 추가할 아이템 데이터
/// </summary>
/// <param name="data">추가할 아이템 데이터</param>
public void AddItem(TreeListItemData data)
public void AddItem<T>(TreeListItemData data) where T : TreeListItem
{
data.Parent = null;
// Instantiate(템플릿, 부모 Transform)
// = 템플릿을 복제하고 부모의 자식으로 설정
TreeListItem item = GameObject.Instantiate<TreeListItem>(ItemPrefab, root);
T item = GameObject.Instantiate(ItemPrefab, root) as T;
// 생성된 아이템 초기화
// 데이터를 UI에 바인딩하고 이벤트 리스너 등록
@@ -571,11 +571,11 @@ namespace UVC.UI.List.Tree
/// </summary>
/// <param name="data">추가할 아이템 데이터</param>
/// <param name="index">삽입 위치</param>
public void AddItemAt(TreeListItemData data, int index)
public void AddItemAt<T>(TreeListItemData data, int index) where T : TreeListItem
{
data.Parent = null;
TreeListItem item = GameObject.Instantiate<TreeListItem>(ItemPrefab, root);
T item = GameObject.Instantiate(ItemPrefab, root) as T;
item.Init(data, this, dragDropManager);
index = Mathf.Clamp(index, 0, items.Count);
items.Insert(index, data);
@@ -614,8 +614,7 @@ namespace UVC.UI.List.Tree
if (item != null) item.Delete(true);
AddItem(clone);
AddItem<TreeListItem>(clone);
}
@@ -644,7 +643,7 @@ namespace UVC.UI.List.Tree
if (item != null) item.Delete(true);
AddItemAt(clone, index);
AddItemAt<TreeListItem>(clone, index);
}
/// <summary>
@@ -800,7 +799,7 @@ namespace UVC.UI.List.Tree
public void OnItemClicked(TreeListItemData data, bool ctrlPressed, bool shiftPressed)
{
// 디버그 로그: 클릭 정보를 콘솔에 출력 (개발 중 확인용)
Debug.Log($"OnItemClicked {data.Name}, ctrlPressed:{ctrlPressed}, shiftPressed:{shiftPressed}, lastSelectedItem:{lastSelectedItem}");
//Debug.Log($"OnItemClicked {data.Name}, ctrlPressed:{ctrlPressed}, shiftPressed:{shiftPressed}, lastSelectedItem:{lastSelectedItem}");
// 다중 선택 비활성화
if (!allowMultipleSelection)
@@ -1055,7 +1054,7 @@ namespace UVC.UI.List.Tree
UpdateFlattenedItemDataList();
// 필요시 UI 재구성 (예: 자식 컨테이너 위치 변경 등)
Debug.Log($"Item '{draggedItem.Name}' dropped on '{(targetItem?.Name ?? "Root")}'");
//Debug.Log($"Item '{draggedItem.Name}' dropped on '{(targetItem?.Name ?? "Root")}'");
}
/// <summary>

View File

@@ -129,7 +129,7 @@ namespace UVC.UI.Window
/// <param name="data">추가할 데이터.</param>
public void AddItem(TreeListItemData data)
{
treeList.AddItem(data);
treeList.AddItem<TreeListItem>(data);
}
/// <summary>
@@ -139,7 +139,7 @@ namespace UVC.UI.Window
/// <param name="index">삽입 인덱스(0 기반).</param>
public void AddItemAt(TreeListItemData data, int index)
{
treeList.AddItemAt(data, index);
treeList.AddItemAt<TreeListItem>(data, index);
}
/// <summary>
@@ -351,7 +351,7 @@ namespace UVC.UI.Window
treeListSearch.ClearItems();
foreach (var r in results)
{
treeListSearch.AddItem(r.Clone());
treeListSearch.AddItem<TreeListItem>(r.Clone());
}
// 로딩 종료