public static void Draw(this SpriteBatch batch, SpriteSheets spriteSheets, AnimationFrame frame, Vector2 position, Color?color = null, float rotation = 0, Vector2?scale = null, float layerDepth = 0) { SpriteSheet sheet = spriteSheets[frame.SpriteSheetId]; Texture2D texture = sheet.Texture; SpriteSheetFrame spriteSheetFrame = sheet.Frames[frame.SpriteSheetFrameId]; Rectangle area = new Rectangle(spriteSheetFrame.X, spriteSheetFrame.Y, spriteSheetFrame.Width, spriteSheetFrame.Height); batch.Draw(texture: texture, position: position, sourceRectangle: area, color: color ?? Color.White, rotation: rotation, origin: new Vector2(spriteSheetFrame.Width / 2.0f, spriteSheetFrame.Height / 2.0f), // frame.Origin.ToVector2(), scale: scale ?? Vector2.One, effects: frame.Effects, layerDepth: layerDepth); }
public static void Draw(this SpriteBatch batch, SpriteSheets spriteSheets, Animation animation, Vector2 position, Vector2 scale, Color?color = null, float rotation = 0, float layerDepth = 0) { batch.Draw(spriteSheets, animation.CurrentFrame, position, color, rotation, scale, layerDepth); }