public void OnCreate (object parentBox) { MapMagic mapMagic = (MapMagic)parentBox; //creating terrain GameObject go = new GameObject(); go.name = "Terrain " + coord.x + "," + coord.z; go.transform.parent = mapMagic.transform; go.transform.localPosition = coord.ToVector3(mapMagic.terrainSize); go.transform.localScale = Vector3.one; //no need to make it every move //go.SetActive(false); //enabling/disabling is now in update control //creating terrain terrain = go.AddComponent<Terrain>(); terrainCollider = go.AddComponent<TerrainCollider>(); TerrainData terrainData = new TerrainData(); terrain.terrainData = terrainData; terrainCollider.terrainData = terrainData; terrainData.size = new Vector3(mapMagic.terrainSize, mapMagic.terrainHeight, mapMagic.terrainSize); //settings SetSettings(); InitWorker(); worker.name = "MMChunk " + coord.x + "," + coord.z; MapMagic.CallRepaintWindow(); //if (MapMagic.instance.isEditor) if (RepaintWindow != null) RepaintWindow(); }
public override void OnCreate (Chunk chunk, Coord coord) { //creating gameobject GameObject go = new GameObject(); go.name = "Terrain " + coord.x + "," + coord.z; go.transform.parent = MapMagic.instance.transform; go.transform.localPosition = coord.ToVector3(MapMagic.instance.terrainSize); //creating terrain chunk.terrain = go.AddComponent<Terrain>(); TerrainCollider terrainCollider = go.AddComponent<TerrainCollider>(); TerrainData terrainData = new TerrainData(); chunk.terrain.terrainData = terrainData; terrainCollider.terrainData = terrainData; terrainData.size = new Vector3(MapMagic.instance.terrainSize, MapMagic.instance.terrainHeight, MapMagic.instance.terrainSize); //chunk settings chunk.coord = coord; chunk.SetSettings(); chunk.clear = true; //if (!instance.isEditor || instance.instantGenerate) { chunk.start = true; } MapMagic.CallRepaintWindow(); //if (MapMagic.instance.isEditor) if (RepaintWindow != null) RepaintWindow(); }