Example #1
0
    IEnumerator GenerateCityTileFromMap()
    {
        OlapWFC.setWnD(cityTileSize.x, cityTileSize.y);
        OlapWFC.seed = mapSeed;
        OlapWFC.Generate();
        OlapWFC.Run();
        yield return(new WaitForSeconds(0)); //Need to wait for CityMap to complete

        BB.setParams(tileSize, perlSeed, minBuildHeight, maxBuildHeight, perlNoiseStepRes);

        GameObject cityMap = GameObject.Find("CityMap");

        Debug.Log(cityMap.transform.GetChild(0).childCount);


        foreach (Transform cityObj in cityMap.transform.GetChild(0))
        {
            Vector2Int objPos = new Vector2Int((int)cityObj.localPosition.x, (int)cityObj.localPosition.y);
            this.transform.position = new Vector3(objPos.x * tileSize, 0.0f, objPos.y * tileSize);

            if (cityObj.gameObject.tag.Contains("House"))
            {
                if (!courtyardCheck(cityMap, objPos))
                {
                    houseRotation = checkHouseRot(cityMap, objPos);
                    BB.GenerateHouse(new Vector2(this.transform.position.x, this.transform.position.z), houseRotation);
                }
            }
        }
    }