using System; using System.Collections.Generic; using System.Text; using System.Drawing; namespace OpenRa.Game { class UiOverlay { SpriteRenderer spriteRenderer; Sprite buildOk; Sprite buildBlocked; Game game; public UiOverlay(SpriteRenderer spriteRenderer, Game game) { this.spriteRenderer = spriteRenderer; this.game = game; buildOk = SynthesizeTile(0x80); buildBlocked = SynthesizeTile(0xe6); } Sprite SynthesizeTile(byte paletteIndex) { byte[] data = new byte[24 * 24]; for (int i = 0; i < 24; i++) for (int j = 0; j < 24; j++) data[i * 24 + j] = ((i + j) % 4 < 2) ? (byte)0 : paletteIndex; return SheetBuilder.Add( data, new Size(24,24) ); } public void Draw() { spriteRenderer.DrawSprite(buildOk, new float2(48, 48), 0); spriteRenderer.DrawSprite(buildBlocked, new float2(96, 48), 0); spriteRenderer.Flush(); } } }