25 lines
617 B
C#
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();
|
|
}
|