Esempio n. 1
0
    IEnumerator BuildStartCity()
    {
        List <GridTile> gridTiles = GridTile.FindAnnulusAround(centerTile.position, currentRadius, 3);

        // Mainly only cardinal directions

        while (true)
        {
            while (currentMaxHouses > currentPlacedHouses)
            {
                // Get the grid tiles to build on
                foreach (GridTile tile in gridTiles)
                {
                    if (Random.Range(0f, 1f) > 0.5f)
                    {
                        BuildBuilding(tile);
                    }
                    else
                    {
                        UpgradeBuilding();
                    }
                    if (currentPlacedHouses >= currentMaxHouses)
                    {
                        break;
                    }
                    yield return(null);
                }

                yield return(null);

                if (currentRadius < 100)
                {
                    currentRadius += 3;
                    gridTiles      = GridTile.FindAnnulusAround(centerTile.position, currentRadius, 3);
                }
                else
                {
                    yield break;
                }
            }
            yield return(null);
        }
    }