private GridSquareState[] GetGridTraps() { GridSquareState[] traps = new GridSquareState[gridSquares.Length]; int index = 0; foreach (GridSquareState square in gridSquares) { if (square.GetTileState() == GridSquareState.TileState.TRAP) { traps[index++] = square; } } return(traps); }
// Call during every cycle to allocate resources to random grid locations public void RandomizeGrid() { // Random permitted resource for (int i = 0; i < resourcesSpawned; ++i) { GridSquareState randomSquare = GetRandomSquare(gridSquares); if (randomSquare.GetTileState() == GridSquareState.TileState.EMPTY) { randomSquare.SetTileState(permittedResource); } } // Random captured creatures GridSquareState[] gridTraps = GetGridTraps(); for (int i = 0; i < gridTraps.Length; ++i) { GridSquareState randomSquare = GetRandomSquare(gridTraps); randomSquare.SetTileState(GridSquareState.TileState.MEAT); } }