private unsafe Chunk CreateChunks(ChunkHeader *header) { switch (header->Magic) { case "MCVT": var mcvt = new McvtChunk(header); HeightMap = mcvt.HeightMap; _bounds.Maximum.Z += HeightMap.Cast <float>().Max(); return(mcvt); case "MCRD": var mcrd = new OffsetChunk(header); DoodadReferences = mcrd.Offsets; return(mcrd); case "MCRW": var mcrw = new OffsetChunk(header); WmoReferences = mcrw.Offsets; return(mcrw); default: return(new Chunk(header)); } }
private unsafe Chunk CreateChunks(ChunkHeader* header) { switch (header->Magic) { case "MCVT": var mcvt = new McvtChunk(header); HeightMap = mcvt.HeightMap; _bounds.Maximum.Z += HeightMap.Cast<float>().Max(); return mcvt; case "MCRD": var mcrd = new OffsetChunk(header); DoodadReferences = mcrd.Offsets; return mcrd; case "MCRW": var mcrw = new OffsetChunk(header); WmoReferences = mcrw.Offsets; return mcrw; default: return new Chunk(header); } }