public void UndrawTiledStartPositions()
{
foreach (var w in _wayPoints.Where(w => w.Tile != null)) {
// Redraw the 4x4 cell around start pos with original palette;
// first the tiles, then the objects
for (int x = w.Tile.Rx - 2; x < w.Tile.Rx + 2; x++) {
for (int y = w.Tile.Ry - 2; y < w.Tile.Ry + 2; y++) {
MapTile t = _tiles.GetTileR(x, y);
if (t == null) continue;
t.Palette = _palettePerLevel[t.Z];
// redraw tile
_theater.Draw(t, _drawingSurface);
}
}
for (int x = w.Tile.Rx - 5; x < w.Tile.Rx + 5; x++) {
for (int y = w.Tile.Ry - 5; y < w.Tile.Ry + 5; y++) {
MapTile t = _tiles.GetTileR(x, y);
if (t == null) continue;
// redraw objects on here
List<GameObject> objs = GetObjectsAt(t.Dx, t.Dy / 2);
foreach (GameObject o in objs)
_theater.Draw(o, _drawingSurface);
}
}
}
}