/// Set the cell collision. public void SetCellCollision(int row, int column, Cell.CollisionType collision) { m_cells[row * m_column + column].collision = collision; if (m_viewType == ViewType.WalkableView) { SetGridColor(row, column, GetCollisionColor(collision)); } }
private void PaintWalkableBrushRect(int size, Grid grid, Cell.CollisionType collision) { for (int i = -size; i <= size; ++i) { for (int j = -size; j <= size; ++j) { PaintWalkablePoint(m_mouseRow + i, m_mouseColumn + j, grid, collision); } } }
private Color32 GetCollisionColor(Cell.CollisionType collision) { switch (collision) { case Cell.CollisionType.Walkable: return(ColorWalkable); case Cell.CollisionType.Unwalkable: return(ColorUnwalkable); } return(new Color32(0, 0, 0, 1)); }
private void PaintWalkableBrushCross(int size, Grid grid, Cell.CollisionType collision) { for (int i = -size; i <= size; ++i) { for (int j = -size; j <= size; ++j) { if (Mathf.Abs(i) + Mathf.Abs(j) > size) { continue; } PaintWalkablePoint(m_mouseRow + i, m_mouseColumn + j, grid, collision); } } }
private void PaintWalkablePoint(int i, int j, Grid grid, Cell.CollisionType collision) { grid.SetCellCollision(i, j, collision); }