namespace Syntriax.Engine.Core.Abstract;
///
/// Represents a 2D camera in the engine.
///
public interface ICamera2D : IBehaviour, IAssignableTransform
{
///
/// The zoom level of the camera.
///
float Zoom { get; set; }
///
/// Converts a position from screen coordinates to world coordinates.
///
/// The position in screen coordinates.
/// The position in world coordinates.
Vector2D ScreenToWorldPosition(Vector2D screenPosition);
///
/// Converts a position from world coordinates to screen coordinates.
///
/// The position in world coordinates.
/// The position in screen coordinates.
Vector2D WorldToScreenPosition(Vector2D worldPosition);
}