public void Draw(GameTime gameTime, SpriteBatch spriteBatch, Vector2 position)
{
Rectangle? sourceRectangle = _controlable ? _animations[_currentAnimation].CurrentFrameRect : _animation.CurrentFrameRect;
if (Width != Engine.TileWidth || Height != Engine.TileHeight)
{
spriteBatch.Draw(
_texture,
new Rectangle(
(int)(Engine.Origin.X + position.X - Engine.TileWidth / 4f),
(int)(Engine.Origin.Y + position.Y - Engine.TileHeight / 2f),
Engine.TileWidth + Engine.TileWidth / 2,
Engine.TileHeight + Engine.TileHeight / 2),
sourceRectangle,
Color.White, 0f, Vector2.Zero, SpriteEffects.None, 1f);
}
else
{
spriteBatch.Draw(
_texture,
new Vector2(Engine.Origin.X + position.X, Engine.Origin.Y + position.Y),
sourceRectangle,
Color.White, 0f, Vector2.Zero, 1f, SpriteEffects.None, 1f);
}
}