void Draw(PGQuad *quads, int count) { if (drawX == int.MaxValue) { lastQuads = new PGQuad[count]; for (int i = 0; i < lastQuads.Length; i++) { lastQuads[i] = quads[i]; } return; } for (int i = 0; i < count; i++) { var q = quads[i]; q.Dest.X += drawX; q.Dest.Y += drawY; if (q.Texture == (PGTexture *)0) { ren.FillRectangle(q.Dest, q.Color); } else { var t = textures[(int)q.Texture->UserData]; ren.Draw(t, q.Source, q.Dest, q.Color); } } }
void Draw(PGQuad *quads, PGTexture *texture, int count) { if (texture == (PGTexture *)0) { for (int i = 0; i < count; i++) { var q = quads[i]; q.Dest.X += drawX; q.Dest.Y += drawY; ren.FillRectangle(q.Dest, q.Color); } } else { var t = textures[(int)texture->UserData]; for (int i = 0; i < count; i++) { var q = quads[i]; q.Dest.X += drawX; q.Dest.Y += drawY; ren.Draw(t, q.Source, q.Dest, q.Color); } } }