using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Text;
using
Microsoft.Xna.Framework;
namespace
Axios.Engine.Gleed2D
{
public
class
Camera
{
Vector2 position;
public
Vector2 Position
{
get
{
return
position;
}
set
{
position = value;
updatematrix();
}
}
float
rotation;
public
float
Rotation
{
get
{
return
rotation;
}
set
{
rotation = value;
updatematrix();
}
}
float
scale;
public
float
Scale
{
get
{
return
scale;
}
set
{
scale = value;
updatematrix();
}
}
public
Matrix matrix;
Vector2 viewport;
public
Camera(
float
width,
float
height)
{
position = Vector2.Zero;
rotation = 0;
scale = 1.0f;
viewport =
new
Vector2(width, height);
updatematrix();
}
void
updatematrix()
{
matrix = Matrix.CreateTranslation(-position.X, -position.Y, 0.0f) *
Matrix.CreateRotationZ(rotation) *
Matrix.CreateScale(scale) *
Matrix.CreateTranslation(viewport.X / 2, viewport.Y / 2, 0.0f);
}
public
void
updateviewport(
float
width,
float
height)
{
viewport.X = width;
viewport.Y = height;
updatematrix();
}
}
}