개발중
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
// 로딩 종료
|
||||
|
||||
Reference in New Issue
Block a user