internal static Tuple <int, int, SaveChunk> TranslateToSave(this GameSave gameSave, Chunk chunk) { if (!chunk.Loaded) { throw new ArgumentException("Chunk isn't loaded.", "chunk"); } var saveOctrees = new SaveOctree[chunk.Octrees.Length]; for (int i = 0; i < chunk.Octrees.Length; i++) { saveOctrees[i] = gameSave.TranslateOctree(chunk.Octrees[i]); } SaveBlockTypeTable saveBlockTypeTable = gameSave.TranslateBlockTypeTable(BlockManager.GetAll()); //TODO: Find most used blocks in chunk? var saveChunk = new SaveChunk(gameSave, saveBlockTypeTable, saveOctrees); return(new Tuple <int, int, SaveChunk>(chunk.X, chunk.Z, saveChunk)); }
internal static Tuple<int, int, SaveChunk> TranslateToSave(this GameSave gameSave, Chunk chunk) { if (!chunk.Loaded) { throw new ArgumentException("Chunk isn't loaded.", "chunk"); } var saveOctrees = new SaveOctree[chunk.Octrees.Length]; for (int i = 0; i < chunk.Octrees.Length; i++) { saveOctrees[i] = gameSave.TranslateOctree(chunk.Octrees[i]); } SaveBlockTypeTable saveBlockTypeTable = gameSave.TranslateBlockTypeTable(BlockManager.GetAll()); //TODO: Find most used blocks in chunk? var saveChunk = new SaveChunk(gameSave, saveBlockTypeTable, saveOctrees); return new Tuple<int, int, SaveChunk>(chunk.X, chunk.Z, saveChunk); }