using MrGameEng.Graphics;

namespace LittleSim.Scenes;

/// <summary>
/// Слои рендера игры. Renderer2D и его реестр слоёв общие для всех сцен,
/// поэтому регистрация выполняется один раз на процесс.
/// </summary>
public static class GameLayers
{
    private static bool _registered;

    /// <summary>Y-sort слой существ и объектов мира: кто ниже на экране — тот ближе.</summary>
    public static LayerId Beings { get; private set; }

    /// <summary>Регистрирует слои при первом вызове.</summary>
    public static void EnsureRegistered(Renderer2D renderer)
    {
        if (_registered)
        {
            return;
        }

        Beings = renderer.Layers.Register("Beings", LayerSpace.World, LayerSortMode.YSort);
        _registered = true;
    }
}
