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); } } } }