public List <B45ChunkDataHeader> ReadAllChunkHeader(out int out_svn_key, int read_ref_svnkey) { int highest_svn_key = -1; List <B45ChunkDataHeader> ret = new List <B45ChunkDataHeader>(); fileBA.ReadHeader(); fileUV.ReadHeader(); int chunkCount = fileBA.GetChunkCount(); for (int i = 0; i < chunkCount; i++) { B45ChunkDataHeader cd = new B45ChunkDataHeader(); cd._chunkPos = fileBA.chunkCoords[i]; cd.svn_key_ba = fileBA.svn_keys_ba[i]; cd.svn_key = fileUV.svn_keys_uv[i]; if (cd.svn_key_ba <= read_ref_svnkey) { continue; } // fileUV.AttachUVData(i, cd); ret.Add(cd); if (highest_svn_key < cd.svn_key_ba) { highest_svn_key = cd.svn_key_ba; } } out_svn_key = highest_svn_key; return(ret); }
public static B45ChunkDataHeader ReadChunkHeader(uLink.BitStream stream, params object[] codecOptions) { B45ChunkDataHeader header = new B45ChunkDataHeader(); stream.TryRead <IntVector3>(out header._chunkPos); stream.TryRead <int>(out header.svn_key); stream.TryRead <int>(out header.svn_key_ba); return(header); }
public static void WriteChunkHeader(uLink.BitStream stream, object obj, params object[] codecOptions) { B45ChunkDataHeader header = obj as B45ChunkDataHeader; if (null != header) { stream.Write(header._chunkPos); stream.Write(header.svn_key); stream.Write(header.svn_key_ba); } }