public void Save(EditableScene scene) { var data = scene.GetData(); Loader.SaveScene(PathHelper.GetSceneBinPath(scene.Guid), data); var terrinPath = PathHelper.GetTerrainBinPath(scene.Terrain.Data.Guid, scene.Guid); if (!File.Exists(terrinPath)) { Loader.SaveObj(terrinPath, scene.Terrain.Data); } }
public void TurnOnModeWith(Guid guid) { scene = mcManager.LoadScene(guid); scene.gameObject.transform.parent = sceneContiner.transform; scene.transform.localPosition = new Vector3(0, 0, 0); scene.transform.localScale = new Vector3(0.1f, 0.1f, 0.1f); sceneContiner.transform.rotation = oculusBase.rotation; var positionOffset = oculusBase.forward * McConsts.TerrN * scene.transform.lossyScale.x - oculusBase.up; sceneContiner.transform.position = oculusBase.position + positionOffset; menuSceneController.UpdatePhoto(PathHelper.GetScenePngPath(scene.Guid)); TurnOnCurrentMode(); ModelsListChanged(); }
private void ExitToMainMode() { sceneContiner.SetActive(false); menuSceneController.SetInactive(); controllerRaycast.SetActive(false); string tmpPath = PathHelper.GetSceneTmpPngPath(scene.Guid); if (File.Exists(tmpPath)) { File.Delete(tmpPath); } exitToMainModeSubject.OnNext(Unit.Default); scene.Destroy(); scene = null; }
private void LoadModelsOnScene(EditableScene scene, List <McSceneModelData> Models) { scene.ModelsOnTerrain = new List <McObject>(); foreach (var modelSceneData in Models) { var modelObj = GameObject.Instantiate(scene.Models[modelSceneData.Guid].GameObject); modelObj.name = McConsts.ObjectPrefix + modelSceneData.Guid.ToString(); modelObj.transform.parent = scene.transform; modelObj.transform.localPosition = modelSceneData.Position; modelObj.transform.localRotation = Quaternion.Euler(modelSceneData.Rotation); modelObj.transform.localScale = modelSceneData.Scale; modelObj.SetActive(true); scene.ModelsOnTerrain.Add(new McObject(modelSceneData.Guid, modelObj)); } }
private void SaveSceneAndExitToMainMode() { mcManager.Save(scene); sceneContiner.SetActive(false); menuSceneController.SetInactive(); controllerRaycast.SetActive(false); string path = PathHelper.GetScenePngPath(scene.Guid); string tmpPath = PathHelper.GetSceneTmpPngPath(scene.Guid); if (File.Exists(tmpPath)) { if (File.Exists(path)) { File.Delete(path); } File.Move(tmpPath, path); } scene.Destroy(); scene = null; exitToMainModeSubject.OnNext(Unit.Default); }