using Robust.Shared.Prototypes;
using Robust.Shared.Utility;
namespace Content.Shared.StatusIcon;
///
/// A data structure that holds relevant
/// information for status icons.
///
[Virtual, DataDefinition]
public class StatusIconData : IComparable
{
///
/// The icon that's displayed on the entity.
///
[DataField("icon", required: true)]
public SpriteSpecifier Icon = default!;
///
/// A priority for the order in which the icons will be displayed.
///
[DataField("priority")]
public int Priority = 10;
public int CompareTo(StatusIconData? other)
{
return Priority.CompareTo(other?.Priority ?? int.MaxValue);
}
}
///
/// but in new convenient prototype form!
///
[Prototype("statusIcon")]
public sealed class StatusIconPrototype : StatusIconData, IPrototype
{
///
[IdDataField]
public string ID { get; } = default!;
}