Refactoring pass.

- Extract an enum for edges rather than using magic numbers for everything.
- Remove duplicated code between FoggedEdges and ShroudedEdges by hosting the visibility function into a delegate.
- Make minimap methods more readable.
- Tidy formatting.
- Make some fields readonly.
- Remove unused usings.
This commit is contained in:
RoosterDragon
2014-07-06 17:46:53 +01:00
parent 4fb38c955b
commit 2351c43237
8 changed files with 129 additions and 145 deletions

View File

@@ -36,17 +36,16 @@ namespace OpenRA.Graphics
unsafe
{
var c = (int*)bitmapData.Scan0;
for (var x = 0; x < b.Width; x++)
var colors = (int*)bitmapData.Scan0;
var stride = bitmapData.Stride / 4;
for (var y = 0; y < b.Height; y++)
{
for (var y = 0; y < b.Height; y++)
for (var x = 0; x < b.Width; x++)
{
var mapX = x + b.Left;
var mapY = y + b.Top;
var type = tileset.GetTerrainInfo(mapTiles[mapX, mapY]);
*(c + (y * bitmapData.Stride >> 2) + x) = type.Color.ToArgb();
colors[y * stride + x] = type.Color.ToArgb();
}
}
}
@@ -67,11 +66,11 @@ namespace OpenRA.Graphics
unsafe
{
var c = (int*)bitmapData.Scan0;
for (var x = 0; x < b.Width; x++)
var colors = (int*)bitmapData.Scan0;
var stride = bitmapData.Stride / 4;
for (var y = 0; y < b.Height; y++)
{
for (var y = 0; y < b.Height; y++)
for (var x = 0; x < b.Width; x++)
{
var mapX = x + b.Left;
var mapY = y + b.Top;
@@ -85,7 +84,7 @@ namespace OpenRA.Graphics
if (res == null)
continue;
*(c + (y * bitmapData.Stride >> 2) + x) = tileset[tileset.GetTerrainIndex(res)].Color.ToArgb();
colors[y * stride + x] = tileset[tileset.GetTerrainIndex(res)].Color.ToArgb();
}
}
}
@@ -107,19 +106,18 @@ namespace OpenRA.Graphics
unsafe
{
var c = (int*)bitmapData.Scan0;
for (var x = 0; x < b.Width; x++)
var colors = (int*)bitmapData.Scan0;
var stride = bitmapData.Stride / 4;
for (var y = 0; y < b.Height; y++)
{
for (var y = 0; y < b.Height; y++)
for (var x = 0; x < b.Width; x++)
{
var mapX = x + b.Left;
var mapY = y + b.Top;
var custom = map.CustomTerrain[mapX, mapY];
if (custom == -1)
continue;
*(c + (y * bitmapData.Stride >> 2) + x) = world.TileSet[custom].Color.ToArgb();
colors[y * stride + x] = world.TileSet[custom].Color.ToArgb();
}
}
}
@@ -140,8 +138,8 @@ namespace OpenRA.Graphics
unsafe
{
var c = (int*)bitmapData.Scan0;
var colors = (int*)bitmapData.Scan0;
var stride = bitmapData.Stride / 4;
foreach (var t in world.ActorsWithTrait<IRadarSignature>())
{
if (world.FogObscures(t.Actor))
@@ -152,7 +150,7 @@ namespace OpenRA.Graphics
{
var uv = Map.CellToMap(map.TileShape, cell);
if (b.Contains(uv.X, uv.Y))
*(c + ((uv.Y - b.Top) * bitmapData.Stride >> 2) + uv.X - b.Left) = color.ToArgb();
colors[(uv.Y - b.Top) * stride + uv.X - b.Left] = color.ToArgb();
}
}
}
@@ -180,15 +178,15 @@ namespace OpenRA.Graphics
unsafe
{
var c = (int*)bitmapData.Scan0;
var colors = (int*)bitmapData.Scan0;
var stride = bitmapData.Stride / 4;
foreach (var cell in map.Cells)
{
var uv = Map.CellToMap(map.TileShape, cell) - offset;
if (world.ShroudObscures(cell))
*(c + (uv.Y * bitmapData.Stride >> 2) + uv.X) = shroud;
colors[uv.Y * stride + uv.X] = shroud;
else if (world.FogObscures(cell))
*(c + (uv.Y * bitmapData.Stride >> 2) + uv.X) = fog;
colors[uv.Y * stride + uv.X] = fog;
}
}