// public static async ValueTask DrawSprite(this ISprite sprite, ElementReference spriteSheet) // { // if (sprite.Visible) // { // spr // await DrawImage( // spriteSheet, // (sprite.Position - sprite.Origin).ToPoint(), // new Rectangle(sprite.SpriteSheetPos.ToPoint(), sprite.Size)); // } // } public static async ValueTask DrawSprite(this CanvasWrapper session, ISprite sprite, ElementReference spriteSheet) { if (sprite.Visible) { await session.DrawImage( spriteSheet, (sprite.Position - sprite.Origin).toPoint(), new Rectangle(sprite.SpriteSheetPos.toPoint(), sprite.Size)); } }
async ValueTask drawPlayerLives(CanvasWrapper ds) { int x = 0; for (var i = 0; i < _gameStats.CurrentPlayerStats.LivesRemaining; i++, x += 16) { await ds.DrawImage(Spritesheet.Reference, new Rectangle(x, 0, 16, 16), new Rectangle( (int)PacMan.FacingLeftSpritesheetPos.X, (int)PacMan.FacingLeftSpritesheetPos.Y, 16, 16)); } }