using System; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Graphics; namespace Syntriax.Engine.Core.Abstract; public interface ICamera { Action? OnMatrixTransformChanged { get; set; } Action? OnViewportChanged { get; set; } Action? OnPositionChanged { get; set; } Action? OnRotationChanged { get; set; } Action? OnZoomChanged { get; set; } Matrix MatrixTransform { get; } Viewport Viewport { get; set; } Vector2 Position { get; set; } float Rotation { get; set; } float Zoom { get; set; } void Update(); }