using System;
using System.Numerics;
using AcDream.App.Rendering;
namespace AcDream.App.UI;
///
/// Icon-list cell for non-weenie catalog entries such as spells and components.
/// It reuses the retail UIItemList geometry without pretending a spell id is an
/// object GUID; catalog drags stay distinct from physical item drag/drop.
///
public sealed class UiCatalogSlot : UiItemSlot
{
public uint EntryId { get; set; }
public uint CatalogIconTexture { get; set; }
/// Optional second 32x32 layer (retail spell endowment item icon).
public uint CatalogOverlayTexture { get; set; }
public string Label { get; set; } = string.Empty;
public string? Detail { get; set; }
public bool ShowLabel { get; init; }
public uint BackgroundSprite { get; init; }
public UiDatFont? LabelFont { get; init; }
public Vector4 LabelColor { get; init; } = new(0.92f, 0.88f, 0.70f, 1f);
public float IconLeft { get; init; }
public float IconTop { get; init; }
public float IconWidth { get; init; }
public float IconHeight { get; init; }
public float LabelLeft { get; init; }
public float LabelWidth { get; init; }
public bool SelectionBehindContent { get; init; }
public new Action? Clicked { get; set; }
public new Action? DoubleClicked { get; set; }
public object? CatalogDragPayload { get; init; }
public Action