개발 완료

This commit is contained in:
logonkhi
2025-11-03 19:07:04 +09:00
parent a5a3f7d553
commit 5292879aaf
6 changed files with 349 additions and 299 deletions

View File

@@ -170,6 +170,9 @@ namespace UVC.UI.List.Tree
dragHandler.SetDragDropManager(this, control, dragDropManager);
dragHandler.enabled = true;
// Register view to map
treeList.RegisterView(data, this);
Debug.Log($"[TreeListItem.Init] 초기화 완료: {data.Name}");
}
@@ -223,7 +226,7 @@ namespace UVC.UI.List.Tree
{
CreateItem(childData);
}
treeList.UpdateFlattenedItemDataList();
treeList.ScheduleFlattenedUpdate();
}
else if (changedType == ChangedType.AddChild)
{
@@ -231,7 +234,7 @@ namespace UVC.UI.List.Tree
UniTask.DelayFrame(1).ContinueWith(() =>
{
treeList.UpdateFlattenedItemDataList();
treeList.ScheduleFlattenedUpdate();
});
}
else if (changedType == ChangedType.AddAtChild)
@@ -241,7 +244,7 @@ namespace UVC.UI.List.Tree
UniTask.DelayFrame(1).ContinueWith(() =>
{
item.transform.SetSiblingIndex(index);
treeList.UpdateFlattenedItemDataList();
treeList.ScheduleFlattenedUpdate();
});
}
else if (changedType == ChangedType.AddCloneChild)
@@ -296,7 +299,7 @@ namespace UVC.UI.List.Tree
{
TreeListItem? item = treeList.AllItemFlattened.FirstOrDefault(x => x.Data == changedData);
if (item != null) item.transform.SetSiblingIndex(index);
treeList.UpdateFlattenedItemDataList();
treeList.ScheduleFlattenedUpdate();
});
}
else if (changedType == ChangedType.RemoveChild)
@@ -554,6 +557,12 @@ namespace UVC.UI.List.Tree
/// <param name="deleteData">데이터도 삭제할지 여부</param>
public void Delete(bool deleteData = false)
{
// 먼저 맵에서 해제(Dispose로 Data가 null 되기 전)
if (data != null)
{
treeList.UnregisterView(data, this);
}
// 1. 데이터 변경 이벤트 구독 해제
if (data != null)
{
@@ -585,6 +594,12 @@ namespace UVC.UI.List.Tree
/// </summary>
private void OnDestroy()
{
// 맵 해제
if (data != null)
{
treeList.UnregisterView(data, this);
}
// 1. 데이터 변경 이벤트 구독 해제
if (data != null)
{