#nullable enable using System; using UVC.UI.List.Tree; namespace SHI.modal { public class ModelDetailListItemData : TreeListItemData { /// /// 아이템의 가시성 아이콘 클릭 시 실행할 사용자 정의 동작. /// public Action? OnClickVisibleAction; /// /// 리스트/모델 가시성 상태 /// public bool IsVisible { get; set; } = true; /// /// 외부(간트/백엔드)와의 안정 매핑용 키. 예: GLTF 노드의 풀 경로("/Root/Level1/Beam023"). /// public string ExternalKey { get; set; } = string.Empty; public override TreeListItemData Clone() { ModelDetailListItemData clone = new ModelDetailListItemData(); clone._id = this.Id; clone.Name = this.Name; clone.Option = this.Option; clone.IsExpanded = this.IsExpanded; clone.IsSelected = this.IsSelected; clone.OnClickAction = this.OnClickAction; clone.OnSelectionChanged = this.OnSelectionChanged; clone.OnDataChanged = this.OnDataChanged; clone.IsVisible = this.IsVisible; clone.ExternalKey = this.ExternalKey; clone.OnClickVisibleAction = this.OnClickVisibleAction; return clone; } } }