Files
doom-dm/Engine/src/Graphics/Pipeline/RenderLayer.cs
2025-01-06 22:36:52 +03:00

34 lines
834 B
C#

namespace Engine.Graphics.Pipeline;
public class RenderLayer : IComparable<RenderLayer>
{
public static readonly RenderLayer DEFAULT = new("default", 0);
public static readonly RenderLayer OVERLAY = new("overlay", 1);
public static readonly RenderLayer HUD = new("hud", 2);
public static readonly IReadOnlyList<RenderLayer> ALL = new List<RenderLayer> { DEFAULT, OVERLAY, HUD }.AsReadOnly();
public string Name { get; }
private readonly int _order;
private RenderLayer(string parName, int parOrder)
{
Name = parName;
_order = parOrder;
}
public override string ToString()
{
return Name;
}
public int CompareTo(RenderLayer? parOther)
{
return parOther == null ? 1 : _order.CompareTo(parOther._order);
}
public override int GetHashCode()
{
return Name.GetHashCode();
}
}