Editor/IBrowserPanel.cs
using System;
namespace GeneralGame.Editor;
/// <summary>
/// Common interface for all browser panel types (tree view, icon grid, etc.)
/// </summary>
public interface IBrowserPanel
{
/// <summary>
/// Callback when user requests to close this panel
/// </summary>
Action OnCloseRequested { get; set; }
/// <summary>
/// Callback when user requests to move this panel left
/// </summary>
Action OnMoveLeftRequested { get; set; }
/// <summary>
/// Callback when user requests to move this panel right
/// </summary>
Action OnMoveRightRequested { get; set; }
/// <summary>
/// Controls visibility of close button (hide if this is the only panel)
/// </summary>
bool ShowCloseButton { get; set; }
/// <summary>
/// Controls visibility of move left button
/// </summary>
bool ShowMoveLeftButton { get; set; }
/// <summary>
/// Controls visibility of move right button
/// </summary>
bool ShowMoveRightButton { get; set; }
}