Files
XRLib/Assets/Scripts/SHI/modal/ModelDetailListItem.cs
2025-11-13 20:16:25 +09:00

45 lines
1.3 KiB
C#

#nullable enable
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using UnityEngine;
using UVC.UI.Buttons;
using UVC.UI.List.Tree;
namespace SHI.modal
{
public class ModelDetailListItem: TreeListItem
{
/// <summary>
/// 가시성 상태를 표시하는 배경 이미지.
/// </summary>
[SerializeField]
protected ImageToggle visibleToggle;
public virtual void Init(TreeListItemData data, TreeList control, TreeListDragDropManager dragDropManager)
{
base.Init(data, control, dragDropManager);
Debug.Log($"ModelDetailListItem Init. visibleToggle:{visibleToggle==null}");
if (visibleToggle != null)
{
visibleToggle.OnValueChanged.AddListener(isOn =>
{
if(data is ModelDetailListItemData modelData)
{
modelData.IsVisible = isOn;
modelData.OnClickVisibleAction?.Invoke(modelData, isOn);
}
});
}
}
protected override void OnDestroy()
{
if (visibleToggle != null) visibleToggle.OnValueChanged.RemoveAllListeners();
base.OnDestroy();
}
}
}