This commit is contained in:
logonkhi
2025-11-14 17:02:38 +09:00
parent c98c1d9d9a
commit 934fff54a7
13 changed files with 579 additions and 162 deletions

View File

@@ -136,10 +136,16 @@ namespace SHI.modal
/// NEW: 데이터 주입
/// </summary>
/// <param name="items"></param>
public void Populate(IEnumerable<ModelDetailListItemData> items)
public void SetupData(IEnumerable<ModelDetailListItemData> items)
{
// 기존 아이템 클리어
treeList.ClearItems();
SetVisiblilityAction(items);
AddItems(items);
}
private void SetVisiblilityAction(IEnumerable<ModelDetailListItemData> items)
{
foreach (var item in items)
{
// 가시성 아이콘 클릭 연동
@@ -152,9 +158,11 @@ namespace SHI.modal
OnVisibilityChanged?.Invoke(md.Id, isVisible);
}
};
treeList.AddItem<ModelDetailListItem>(item);
if(item.Children != null && item.Children.Count > 0)
{
SetVisiblilityAction(item.Children.OfType<ModelDetailListItemData>());
}
}
treeList.ScheduleFlattenedUpdate();
}
/// <summary>
@@ -179,6 +187,15 @@ namespace SHI.modal
treeList.AddItem<ModelDetailListItem>(data);
}
/// <summary>
/// 메인 트리에 항목들을 추가합니다.
/// </summary>
/// <param name="dataList">추가 할 데이터들</param>
public void AddItems(IEnumerable<TreeListItemData> dataList)
{
treeList.AddItems<ModelDetailListItem>(dataList);
}
/// <summary>
/// 메인 트리에 항목을 특정 인덱스에 삽입합니다.
/// </summary>
@@ -214,7 +231,6 @@ namespace SHI.modal
public void SelectItem(string name)
{
//검색 중이면 취소
CancelSearch();
treeListSearch.gameObject.SetActive(false);
treeList.gameObject.SetActive(true);
@@ -222,6 +238,15 @@ namespace SHI.modal
treeList.SelectItem(name);
}
/// <summary>
/// 이름으로 아이템 선택 해제
/// </summary>
/// <param name="name"></param>
public void DeselectItem(string name)
{
treeList.DeselectItem(name);
}
protected void StartLoadingAnimation()
{
if (loadingImage == null) return;