public void SetOccupied(GridRect area, bool occupied) { for (int x = area.MinX; x < area.MaxX; x++) { for (int y = area.MinY; y < area.MaxY; y++) { this.grid[this.GetIndex(x, y)] = occupied; } } }
public bool IsOccupied(GridRect area) { for (int x = area.MinX; x < area.MaxX; x++) { for (int y = area.MinY; y < area.MaxY; y++) { if (this.grid[this.GetIndex(x, y)]) { return(true); } } } return(false); }
public bool IsValidPlacement(GridRect area) { return(this.IsInGrid(area) && !this.IsOccupied(area)); }
public bool IsInGrid(GridRect area) { return(area.MinX >= 0 && area.MaxX <= this.Width && area.MinY >= 0 && area.MaxY <= this.Height); }