// private void createLevel(LevelFile levelFile) { if (levelFile.fileFormatVersion != Globals.levelSaveFormatVersion) { AppController.Instance.showPopup(PopupMode.Notification, "Warning", Globals.warningObsoleteFileFormat); return; } currentLevelId = levelFile.levelId; MainMenu.Instance.setLevelNameText(levelFile.levelName); lastLevelName = levelFile.levelName; LevelEditor levelEditor = LevelEditor.Instance; PropsManager propsManager = PropsManager.Instance; VoxelsLevelChunk levelChunk = levelEditor.curVoxelsLevelChunk; levelEditor.resetAll(); Vector3 savedPos = new Vector3(levelFile.playerPosition.x, levelFile.playerPosition.y, levelFile.playerPosition.z); Vector3 savedRot = new Vector3(levelFile.playerEuler.x, levelFile.playerEuler.y, levelFile.playerEuler.z); levelChunk.setStartPos(savedPos, savedRot); FlyCam.Instance.setNewInitialPosition(savedPos, savedRot); FlyCam.Instance.reset(); //GameObject goQuadrant; //Transform trfmContainer; //GameObject container; Vector3 pos = Vector3.zero; int quadLen = levelEditor.cubesPerQuadrant; float fRockSize = levelEditor.fRockSize; int i, len = levelFile.levelVoxelChunks.Count; Debug.Log("levelFile.levelVoxelChunks.Count: " + levelFile.levelVoxelChunks.Count); for (i = 0; i < len; ++i) { pos.x = (int)levelFile.levelVoxelChunks[i].position.x; pos.y = (int)levelFile.levelVoxelChunks[i].position.y; pos.z = (int)levelFile.levelVoxelChunks[i].position.z; VoxelUtils.VoxelChunk vc = levelEditor.curVoxelsLevelChunk.createVoxelChunk( VoxelUtils.convertVector3ToVoxelVector3Int(pos), (int)levelFile.levelVoxelChunks[i].size.x, (int)levelFile.levelVoxelChunks[i].size.y, (int)levelFile.levelVoxelChunks[i].size.z ); vc.materialIndex = levelFile.levelVoxelChunks [i].materialId; levelEditor.curVoxelsLevelChunk.aVoxelChunks.Add(vc); levelEditor.curVoxelsLevelChunk.setVoxelChunkMesh(vc); } MainMenu.Instance.setCubeCountText("Voxel Chunks: " + levelEditor.curVoxelsLevelChunk.aVoxelChunks.Count.ToString()); if (levelFile.levelProps != null) { LevelProp levelProp; GameObject goProp; Quaternion rotation = Quaternion.identity; propDef prop; string name; len = levelFile.levelProps.Count; for (i = 0; i < len; ++i) { levelProp = levelFile.levelProps [i]; pos.x = levelProp.position.x; pos.y = levelProp.position.y; pos.z = levelProp.position.z; prop = propsManager.getPropDefForId(levelProp.id); if (prop.id != -1) { name = prop.name + "_" + levelChunk.trfmProps.childCount; goProp = propsManager.createProp(prop, pos, name, levelChunk.trfmProps, prop.useCollider, prop.useGravity); rotation.w = levelProp.rotation.w; rotation.x = levelProp.rotation.x; rotation.y = levelProp.rotation.y; rotation.z = levelProp.rotation.z; goProp.transform.rotation = rotation; levelChunk.addWorldProp(prop.id, goProp); } } } }