Пример #1
0
    /// <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));
    }
Пример #2
0
    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);
    }
Пример #3
0
    /// <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();
    }
Пример #4
0
    /// <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);
    }