Exemplo n.º 1
0
    public Grid(GridGenerationData data)
    {
        Rows                = data.Rows;
        Columns             = data.Columns;
        _cellsById          = data.CellsById;
        _cellsByCoordinates = data.CellsByCoordinates;

        _charactersOnGrid    = new List <AUnitController>(data.CounterCharacters);
        _enemiesOnGrid       = new List <AUnitController>(data.CounterEnemies);
        _adjacentCellsFinder = new AdjacentCellsFinder();
    }
Exemplo n.º 2
0
    public IGrid GenerateGrid()
    {
        var rows    = _gridConfig.GetRows();
        var columns = _gridConfig.GetColumns();

        var cellsById          = new Dictionary <int, Cell>(rows * columns);
        var cellsByCoordinates = new Cell[rows, columns];
        var cellId             = 0;

        for (var i = 0; i < rows; ++i)
        {
            for (var j = 0; j < columns; ++j)
            {
                var cell = GetNewCell(rows, columns, cellId, j, i);
                cellsById.Add(cellId, cell);
                ++cellId;
                cellsByCoordinates[i, j] = cell;
            }
        }

        var data = new GridGenerationData(rows, columns, cellsById, cellsByCoordinates, _counterCharacters, _counterEnemies);

        return(new Grid(data));
    }