Files
XRLib/Assets/Scripts/UVC/UI/Window/PropertyWindow/Events/PropertyEvents.cs
UVCLimHun 6b78b68229 merge
merge and property
2025-12-24 17:36:01 +09:00

75 lines
1.9 KiB
C#

using System;
namespace UVC.UI.Window.PropertyWindow
{
/// <summary>
/// 그룹 추가/제거 이벤트 인자
/// </summary>
public class PropertyGroupEventArgs : EventArgs
{
/// <summary>
/// 이벤트 대상 그룹
/// </summary>
public IPropertyGroup Group { get; }
public PropertyGroupEventArgs(IPropertyGroup group)
{
Group = group;
}
}
/// <summary>
/// 그룹 펼침/접힘 상태 변경 이벤트 인자
/// </summary>
public class PropertyGroupExpandedEventArgs : EventArgs
{
/// <summary>
/// 이벤트 대상 그룹
/// </summary>
public IPropertyGroup Group { get; }
/// <summary>
/// 변경 전 펼침 상태
/// </summary>
public bool WasExpanded { get; }
/// <summary>
/// 변경 후 펼침 상태
/// </summary>
public bool IsExpanded { get; }
public PropertyGroupExpandedEventArgs(IPropertyGroup group, bool wasExpanded, bool isExpanded)
{
Group = group;
WasExpanded = wasExpanded;
IsExpanded = isExpanded;
}
}
/// <summary>
/// 엔트리(그룹 또는 아이템) 추가/제거 이벤트 인자
/// </summary>
public class PropertyEntryEventArgs : EventArgs
{
/// <summary>
/// 이벤트 대상 엔트리
/// </summary>
public IPropertyEntry Entry { get; }
/// <summary>
/// 엔트리가 그룹인지 여부
/// </summary>
public bool IsGroup => Entry is IPropertyGroup;
/// <summary>
/// 엔트리가 아이템인지 여부
/// </summary>
public bool IsItem => Entry is IPropertyItem;
public PropertyEntryEventArgs(IPropertyEntry entry)
{
Entry = entry;
}
}
}