A separate class for parameters used by the level generator, different "level types" with configurable parameters

This commit is contained in:
Regalis
2016-09-12 20:18:43 +03:00
parent 1f7bf250b5
commit c6105afc80
10 changed files with 496 additions and 178 deletions
@@ -189,16 +189,18 @@ namespace Barotrauma
{
Site site = (i == 0) ? ge.site1 : ge.site2;
VoronoiCell cell = cellGrid[
(int)Math.Floor((site.coord.x-borders.X) / gridCellSize),
(int)Math.Floor((site.coord.y-borders.Y) / gridCellSize)].Find(c => c.site == site);
int x = (int)(Math.Floor((site.coord.x-borders.X) / gridCellSize));
int y = (int)(Math.Floor((site.coord.y-borders.Y) / gridCellSize));
x = MathHelper.Clamp(x, 0, cellGrid.GetLength(0)-1);
y = MathHelper.Clamp(y, 0, cellGrid.GetLength(1)-1);
VoronoiCell cell = cellGrid[x,y].Find(c => c.site == site);
if (cell == null)
{
cell = new VoronoiCell(site);
cellGrid[
(int)Math.Floor((cell.Center.X-borders.X) / gridCellSize),
(int)Math.Floor((cell.Center.Y - borders.Y) / gridCellSize)].Add(cell);
cellGrid[x, y].Add(cell);
cells.Add(cell);
}