/// <summary> Checks if the backing file exists on disc, and if not, creates it. /// Also recreates the backing file if dimensions on disc are less than those in memory. </summary> BlockDBFile ValidateBackingFile() { Vec3U16 fileDims; BlockDBFile format = BlockDBFile.V1; if (!File.Exists(FilePath)) { using (Stream s = OpenWrite()) { fileDims = Dims; BlockDBFile.WriteHeader(s, fileDims); } } else { using (Stream s = OpenRead()) { format = BlockDBFile.ReadHeader(s, out fileDims); } if (fileDims.X < Dims.X || fileDims.Y < Dims.Y || fileDims.Z < Dims.Z) { BlockDBFile.ResizeBackingFile(this); } } return(format); }
/// <summary> Checks if the backing file exists on disc, and if not, creates it. /// Also recreates the backing file if dimensions on disc are less than those in memory. </summary> void ValidateBackingFile() { Vec3U16 fileDims; if (!File.Exists(FilePath)) { using (Stream s = File.OpenWrite(FilePath)) { fileDims = Dims; BlockDBFile.WriteHeader(s, fileDims); } } else { using (Stream s = File.OpenRead(FilePath)) { BlockDBFile.ReadHeader(s, out fileDims); } if (fileDims.X < Dims.X || fileDims.Y < Dims.Y || fileDims.Z < Dims.Z) { BlockDBFile.ResizeBackingFile(this); } } }