Syntriax.Engine/Engine.Core/Abstract/ICamera.cs

25 lines
617 B
C#

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