private IEnumerator DoBigProcess() { levelXLength++; levelZLength++; yield return(StartCoroutine(CalculateTerrainPartSize())); _levelMap = StreetGenerator.GenerateStreetMap(levelZLength, levelXLength, streetsAlongX, streetsAlongZ); yield return(null); yield return(StartCoroutine(GenerateMesh())); CreateTerrainParts(_numberTerrainMeshPartsX * _numberTerrainMeshPartsZ); yield return(null); yield return(StartCoroutine(GetComponent <BuildingGenerator>().MarkUpLevelArea(_levelMap))); yield return(null); yield return(StartCoroutine(AssembleTerrainParts())); SpawnLevelBorders(); StaticOcclusionCulling.GenerateInBackground(); while (StaticOcclusionCulling.isRunning) { yield return(null); } yield return(null); isDone = true; yield return(null); }
public void Execute() { _subMeshTris = new[] { new List <List <int> >(), new List <List <int> >(), new List <List <int> >(), new List <List <int> >() }; CalculateTerrainPartSize(); _levelMap = StreetGenerator.GenerateStreetMap(LevelZLength, LevelXLength, StreetsAlongX.ToList(), StreetsAlongZ.ToList()); GenerateMesh(); CreateTerrainParts(_numberTerrainMeshPartsX * _numberTerrainMeshPartsZ); //GetComponent<BuildingGenerator>().GenerateBuildingBasement(LevelMap); AssembleTerrainParts(); //SpawnLevelBorders(); //UnityEditor.StaticOcclusionCulling.GenerateInBackground(); }