minimap: show ore/gems on minimap

This commit is contained in:
Chris Forbes
2010-01-05 14:49:48 +13:00
parent a8e49556ca
commit e68547f9d0
2 changed files with 20 additions and 6 deletions

View File

@@ -10,7 +10,7 @@ namespace OpenRa.Game.Graphics
Sheet sheet;
SpriteRenderer spriteRenderer;
Sprite sprite;
Bitmap terrain;
Bitmap terrain, oreLayer;
public void Tick() { }
@@ -24,6 +24,8 @@ namespace OpenRa.Game.Graphics
// todo: extract these from the palette
Color[] terrainTypeColors;
public void InvalidateOre() { oreLayer = null; }
public void Update()
{
if (terrainTypeColors == null)
@@ -39,8 +41,10 @@ namespace OpenRa.Game.Graphics
pal.GetColor(0x1f),
pal.GetColor(0x68),
pal.GetColor(0x6b),
pal.GetColor(0x6d),
};
}
if (terrain == null)
{
terrain = new Bitmap(128, 128);
@@ -51,7 +55,16 @@ namespace OpenRa.Game.Graphics
: Color.Black);
}
var bitmap = new Bitmap(terrain);
if (oreLayer == null)
{
oreLayer = new Bitmap(terrain);
for (var y = 0; y < 128; y++)
for (var x = 0; x < 128; x++)
if (Rules.Map.ContainsResource(new int2(x, y)))
oreLayer.SetPixel(x, y, terrainTypeColors[(int)TerrainMovementType.Ore]);
}
var bitmap = new Bitmap(oreLayer);
for( var y = 0; y < 128; y++ )
for (var x = 0; x < 128; x++)