Пример #1
0
        /// <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);
        }
Пример #2
0
        /// <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);
                }
            }
        }