Example #1
0
 void OnDestroy()
 {
     if (SurfExtractor != null)
     {
         SurfExtractor.Reset();
     }
     if (_dataLoader != null)
     {
         _dataLoader.Close();
     }
     c_fWaterLvl = 97.0f;         // reset to default
     Debug.Log("Mem size before vfTerrain destroyed all chunks :" + GC.GetTotalMemory(true));
     // If something is left over... (in the editor)
     if (gameObject.transform.childCount > 0)
     {
         // Clean up chunks
         for (int i = gameObject.transform.childCount - 1; i >= 0; --i)
         {
             var child = gameObject.transform.GetChild(i).gameObject;
             DestroyImmediate(child);
         }
     }
     Resources.UnloadUnusedAssets();
     self = null;
     VFVoxelSave.Clean();
 }
Example #2
0
    public void ProcPostLodUpdate()
    {
        if (!GameConfig.IsMultiMode && Environment.TickCount - lastSaveChunkTime > 15000 && saveTerrain == true)
        {
            StartCoroutine(VFVoxelSave.CoSaveAllChunksInList());
            lastSaveChunkTime = Environment.TickCount;
        }

        _transGoCreator.UpdateTransMesh();
    }
Example #3
0
 public void ImportNet()
 {
     if (Pathea.PeGameMgr.IsSingle)
     {
         return;
     }
     SaveLoad = new VFVoxelSave(ArchiveKey);
     SaveLoad.Import(null);
     InitSkEntity();
 }
Example #4
0
 public void Import(Pathea.PeRecordReader r)
 {
     if (Pathea.PeGameMgr.IsMulti)
     {
         return;
     }
     SaveLoad = new VFVoxelSave(ArchiveKey);
     SaveLoad.Import(r);
     InitSkEntity();
 }
Example #5
0
    public void Import(Pathea.PeRecordReader r)
    {
        ApplyQuality(SystemSettingData.Instance.WaterRefraction, SystemSettingData.Instance.WaterDepth);

        SaveLoad = new VFVoxelSave(ArchiveKey, AddtionalReader, AddtionalWriter);
        SaveLoad.Import(r);
        if (s_surfaceChunkData == null)
        {
            InitSufaceChunkData();
        }

#if RIVER_DATA_FILE_TST
        // Load river chunk pos
        River2Voxel.ReadRiverChunksList(ref _riverChunkFileList);
#endif
    }
Example #6
0
    void OnDestroy()
    {
        if (_lodDataUpdate != null)
        {
            _lodDataUpdate.Stop();
            _lodDataUpdate = null;
        }
        if (_transGoCreator != null)
        {
            _transGoCreator.IsTransvoxelEnabled = false;
            _transGoCreator = null;
        }
        if (SurfExtractor != null)
        {
            SurfExtractor.Reset();
        }
        if (_dataLoader != null)
        {
            _dataLoader.Close();
        }

        // If something is left over... (in the editor)
        if (gameObject.transform.childCount > 0)
        {
            // Clean up chunks
            for (int i = gameObject.transform.childCount - 1; i >= 0; --i)
            {
                var child = gameObject.transform.GetChild(i).gameObject;
                DestroyImmediate(child);
            }
        }
        Resources.UnloadUnusedAssets();
        TerrainVoxelComplete     = false;
        TerrainColliderComplete  = false;
        bChunkColliderRebuilding = true;
        self = null;
        VFVoxelSave.Clean();
    }