/// <summary> /// Recover those objects that have been recorded /// </summary> public List <Transform> Recover(string sceneName, Transform modelRoot) { //这块可以搬到进入app时候马上加载。 string jsonPath = Path.Combine(Application.dataPath, sceneName + ".runing").Replace("\\", "/"); string json = File.ReadAllText(jsonPath, Encoding.GetEncoding("utf-8")); AllObjectBuffer buffer = JsonMapper.ToObject <AllObjectBuffer>(json); if (_allObjectBufferDictionary.ContainsKey(sceneName)) { _allObjectBufferDictionary.Remove(sceneName); } _allObjectBufferDictionary.Add(sceneName, buffer); //if (!_allObjectBufferDictionary.ContainsKey(sceneName)) //{ // Debug.LogError("SceneBuffer.Recover(): The scene was not found when recovering ! ! !"); // return null; //} AllObjectBuffer allObjectBuffer = _allObjectBufferDictionary[sceneName]; return(allObjectBuffer.Recover(modelRoot)); }
public AllObjectBuffer GetAllObjectBuffer(string sceneName) { AllObjectBuffer objectBuffer = null; if (!_allObjectBufferDictionary.ContainsKey(sceneName)) { objectBuffer = new AllObjectBuffer(); _allObjectBufferDictionary.Add(sceneName, objectBuffer); } else { objectBuffer = _allObjectBufferDictionary[sceneName]; } return(objectBuffer); }
/// <summary> /// Objects that need to be record /// </summary> public void RecordModel(string sceneName, List <Transform> objectList) { AllObjectBuffer objectBuffer = GetAllObjectBuffer(sceneName); objectBuffer.RecordModel(objectList); //Save to local string jsonPath = Path.Combine(Application.dataPath, sceneName + ".runing").Replace("\\", "/"); //StreamWriter streamWriter = File.CreateText(jsonPath); FileStream fileStream = File.Create(jsonPath); StreamWriter streamWriter = new StreamWriter(fileStream, Encoding.GetEncoding("utf-8")); JsonMapper.ToJson(objectBuffer, new JsonWriter(streamWriter) { PrettyPrint = true }); streamWriter.Flush(); streamWriter.Close(); fileStream.Close(); }
/// <summary> /// Record the environment color of scene /// </summary> /// <param name="color"></param> public void RecordEnvironmentColor(string sceneName, Color color) { AllObjectBuffer objectBuffer = GetAllObjectBuffer(sceneName); objectBuffer.RecordEnvironmentColor(color); }