private IEnumerator InstantiateRooms() { if (WorldGeneration.GetInstance().DEBUG) { WorldGeneration.GetInstance().DEBUGCANVAS.ClearHighlightBiome(); } for (int y = 0; y < myBiomeSideSize; ++y) { for (int x = 0; x < myBiomeSideSize; ++x) { if (myWorld[y * myBiomeSideSize + x].myRoomUsed == true) { Room room = Instantiate(myRoomPrefab, myTransform); room.transform.localPosition = new Vector3(x * myRoomSideSize * mySpriteSpace, y * myRoomSideSize * mySpriteSpace, 0); room.myRoomData = myWorld[y * myBiomeSideSize + x]; myRooms.Add(room); //room.ConstuctRoom(myRoomSideSize, this); room.GetSeedAndGenerate(this); if (myStartingRoomData.myX == x && myStartingRoomData.myY == y) { room.myStartingRoom = true; myStartingRoom = room; } room.transform.parent = myTransform; LoadingManager.GetInstance().AddSpawned(); if (WorldGeneration.GetInstance().DEBUG) { WorldGeneration.GetInstance().DEBUGCANVAS.HighlightBiome(x, y); yield return(new WaitForSeconds(WorldGeneration.GetInstance().STEPTIME)); } else { yield return(null); } } } } myGenerationDone = true; gameObject.SetActive(false); }