Interfaces/IMinimapBlip.cs

Interface for components that should draw a dot on the minimap. It exposes a BlipColor property and defaulted members for CSS class, draw priority, and whether the blip is shown.

namespace Machines.UI;

/// <summary>
/// Implement on a Component to draw a dot on the minimap.
/// </summary>
public interface IMinimapBlip
{
	/// <summary>
	/// Dot colour on the map.
	/// </summary>
	Color BlipColor { get; }

	/// <summary>
	/// Extra CSS class(es) for the dot.
	/// </summary>
	string BlipClass => "";

	/// <summary>
	/// Draw order: lower = underneath (ghost 0, items 1, racers 2, local 3).
	/// </summary>
	int BlipPriority => 2;

	/// <summary>
	/// Whether to draw this blip right now.
	/// </summary>
	bool ShowOnMinimap => true;
}