示例#1
0
        /// <summary>
        /// Load a text resource file.
        /// </summary>
        public void Load(string arena2Path, string filename, FileUsage usage = FileUsage.UseMemory, bool readOnly = true)
        {
            // Check text resource file is supported
            if (filename != Filename)
            {
                throw new Exception(string.Format("TextFile: File '{0}' is not a supported text file.", filename));
            }

            // Setup new file
            header = new TextRecordDatabaseHeader();
            recordIdToIndexDict.Clear();
            isLoaded = false;

            // Load file
            fileProxy = new FileProxy(Path.Combine(arena2Path, filename), usage, readOnly);

            // Read file
            BinaryReader reader = fileProxy.GetReader();

            ReadHeader(reader);
            ReadTextRecordHeaders(reader);

            // Raise loaded flag
            isLoaded = true;
        }
示例#2
0
        /// <summary>
        /// Loads a text resource file from raw bytes.
        /// Binary data must still match expected format.
        /// </summary>
        /// <param name="data">Binary data of RSC file.</param>
        /// <param name="filename">Custom filename. Does not have to match standard TEXT.RSC filename.</param>
        public void Load(byte[] data, string filename)
        {
            // Setup new file
            header = new TextRecordDatabaseHeader();
            recordIdToIndexDict.Clear();
            isLoaded = false;

            // Load file from bytes
            fileProxy = new FileProxy(data, filename);

            // Read file
            BinaryReader reader = fileProxy.GetReader();

            ReadHeader(reader);
            ReadTextRecordHeaders(reader);

            // Raise loaded flag
            isLoaded = true;
        }
        /// <summary>
        /// Load a text resource file.
        /// </summary>
        public void Load(string arena2Path, string filename, FileUsage usage = FileUsage.UseMemory, bool readOnly = true)
        {
            // Check text resource file is supported
            if (filename != Filename)
            {
                throw new Exception(string.Format("TextFile: File '{0}' is not a supported text file.", filename));
            }

            // Setup new file
            header = new TextRecordDatabaseHeader();
            recordIdToIndexDict.Clear();
            isLoaded = false;

            // Load file
            fileProxy = new FileProxy(Path.Combine(arena2Path, filename), usage, readOnly);

            // Read file
            BinaryReader reader = fileProxy.GetReader();
            ReadHeader(reader);
            ReadTextRecordHeaders(reader);

            // Raise loaded flag
            isLoaded = true;
        }