Exemple #1
0
        static void SetBorder(CityBlock cityBlock)
        {
            int x, y;

            for (x = 1; x < cityBlock.size.x - 1; x++)
            {
                cityBlock.SetPavementTile(x, 0, PavementPiece.SIDE_S);
                cityBlock.SetPavementTile(x, cityBlock.size.y - 1, PavementPiece.SIDE_N);

                cityBlock.SetBuildingTile(x, 0, BuildingPiece.SIDE_S);
                cityBlock.SetBuildingTile(x, cityBlock.size.y - 1, BuildingPiece.SIDE_N);
            }
            for (y = 1; y < cityBlock.size.y - 1; y++)
            {
                cityBlock.SetPavementTile(0, y, PavementPiece.SIDE_W);
                cityBlock.SetPavementTile(cityBlock.size.x - 1, y, PavementPiece.SIDE_E);

                cityBlock.SetBuildingTile(0, y, BuildingPiece.SIDE_W);
                cityBlock.SetBuildingTile(cityBlock.size.x - 1, y, BuildingPiece.SIDE_E);
            }

            // set city block border corners
            cityBlock.SetPavementTile(0, 0, PavementPiece.CORNER_NE);
            cityBlock.SetPavementTile(cityBlock.size.x - 1, 0,
                                      PavementPiece.CORNER_NW);
            cityBlock.SetPavementTile(0, cityBlock.size.y - 1,
                                      PavementPiece.CORNER_SE);
            cityBlock.SetPavementTile(cityBlock.size.x - 1, cityBlock.size.y - 1,
                                      PavementPiece.CORNER_SW);

            // set city block border corner buildings
            cityBlock.SetBuildingTile(0, 0,
                                      BuildingPiece.CORNER_INNER_SW);
            cityBlock.SetBuildingTile(cityBlock.size.x - 1, 0,
                                      BuildingPiece.CORNER_INNER_SE);
            cityBlock.SetBuildingTile(0, cityBlock.size.y - 1,
                                      BuildingPiece.CORNER_INNER_NW);
            cityBlock.SetBuildingTile(cityBlock.size.x - 1, cityBlock.size.y - 1,
                                      BuildingPiece.CORNER_INNER_NE);
        }
Exemple #2
0
 static void SetPavementWrappedWithRoad(CityBlock cityBlock)
 {
     for (int x = 0; x < cityBlock.size.x; x++)
     {
         for (int y = 0; y < cityBlock.size.y; y++)
         {
             var road = cityBlock.GetRoadTile(x, y);
             if (road == RoadPiece.CROSS_NW)
             {
                 cityBlock.SetPavementTile(x, y, PavementPiece.CORNER_NW);
             }
             else if (road == RoadPiece.CROSS_SW)
             {
                 cityBlock.SetPavementTile(x, y, PavementPiece.CORNER_SW);
             }
             else if (road == RoadPiece.CROSS_SE)
             {
                 cityBlock.SetPavementTile(x, y, PavementPiece.CORNER_SE);
             }
             else if (road == RoadPiece.CROSS_NE)
             {
                 cityBlock.SetPavementTile(x, y, PavementPiece.CORNER_NE);
             }
             else if (road == RoadPiece.HORIZONTAL)
             {
                 cityBlock.SetPavementTile(x, y - 1, PavementPiece.SIDE_S);
                 cityBlock.SetPavementTile(x, y + 1, PavementPiece.SIDE_N);
             }
             else if (road == RoadPiece.VERTICAL)
             {
                 cityBlock.SetPavementTile(x - 1, y, PavementPiece.SIDE_W);
                 cityBlock.SetPavementTile(x + 1, y, PavementPiece.SIDE_E);
             }
         }
     }
 }