public static void SaveAllChunksInstant() // writes data from TempChunkData into region files { if (!MasterEngine.getInstance().SaveVoxelData) { Debug.LogWarning("StarColony: Saving is disabled. You can enable it in the Engine Settings."); return; } // for each chunk object, save data to memory foreach (Chunk chunk in ChunkManager.Chunks.Values) { chunk.gameObject.GetComponent <ChunkDataFiles>().SaveData(); } // write data to disk ChunkDataFiles.WriteLoadedChunks(); Debug.Log("StarColony: World saved successfully. (Instant)"); }
public static IEnumerator SaveAllChunks() { if (!MasterEngine.getInstance().SaveVoxelData) { Debug.LogWarning("StarColony: Saving is disabled. You can enable it in the Engine Settings."); yield break; } while (ChunkDataFiles.SavingChunks) { yield return(new WaitForEndOfFrame()); } ChunkDataFiles.SavingChunks = true; // for each chunk object, save data to memory int count = 0; List <Chunk> chunksToSave = new List <Chunk> (ChunkManager.Chunks.Values); foreach (Chunk chunk in chunksToSave) { chunk.gameObject.GetComponent <ChunkDataFiles>().SaveData(); count++; if (count > MasterEngine.getInstance().MaxChunkSaves) { yield return(new WaitForEndOfFrame()); count = 0; } } // write data to disk ChunkDataFiles.WriteLoadedChunks(); ChunkDataFiles.SavingChunks = false; Debug.Log("StarColony: World saved successfully."); }