added ore density calculation; added ore growth logic

This commit is contained in:
Chris Forbes
2009-11-02 23:04:36 +13:00
parent 3ada04ac8a
commit c615920209
3 changed files with 118 additions and 33 deletions

View File

@@ -16,32 +16,7 @@ namespace OpenRa.Game.Graphics
"v12", "v13", "v14", "v15", "v16", "v17", "v18",
"fpls", "wcrate", "scrate", "barb", "sbag",
};
static bool[] overlayIsFence =
{
true, true, true, true, true,
false, false, false, false,
false, false, false, false,
false, false, false, false, false, false, false,
false, false, false, true, true,
};
static bool[] overlayIsOre =
{
false, false, false, false, false,
true, true, true, true,
false, false, false, false,
false, false, false, false, false, false, false,
false, false, false, false, false,
};
static bool[] overlayIsGems =
{
false, false, false, false, false,
false, false, false, false,
true, true, true, true,
false, false, false, false, false, false, false,
false, false, false, false, false,
};
Sprite[][] overlaySprites;
Sprite[] smudgeSprites;
@@ -82,9 +57,9 @@ namespace OpenRa.Game.Graphics
var location = new int2(x, y);
var sprites = overlaySprites[o];
var spriteIndex = 0;
if (overlayIsFence[o]) spriteIndex = NearbyFences(x, y);
else if (overlayIsOre[o]) spriteIndex = 11;
else if (overlayIsGems[o]) spriteIndex = 2;
if (Map.overlayIsFence[o]) spriteIndex = NearbyFences(x, y);
else if (Map.overlayIsOre[o]) spriteIndex = map.MapTiles[x,y].density;
else if (Map.overlayIsGems[o]) spriteIndex = map.MapTiles[x,y].density;
spriteRenderer.DrawSprite(sprites[spriteIndex],
Game.CellSize * (float2)location, 0);
}
@@ -96,8 +71,8 @@ namespace OpenRa.Game.Graphics
bool IsFence( int x, int y )
{
var o = map.MapTiles[ x, y ].overlay;
if( o < overlayIsFence.Length )
return overlayIsFence[ o ];
if (o < Map.overlayIsFence.Length)
return Map.overlayIsFence[o];
return false;
}