Пример #1
0
        public void Load(string name)
        {
            if (string.IsNullOrWhiteSpace(name))
            {
                throw new ArgumentException("WAD file name must be valid", nameof(name));
            }

            name = FileExtensionUtils.EnsureExtension(name, _extension);

            if (IsLoaded(name))
            {
                throw new ArgumentException($"WAD file '{name}' is already loaded");
            }

            try
            {
                var file = new WADLoader(_fileSystem.OpenRead(name)).ReadWADFile();

                _wadFiles.Add(new WADData {
                    Name = name, File = file
                });
            }
            catch (FileNotFoundException)
            {
                //Some maps reference non-existent wad files (e.g. c1a0 references sample.wad)
                //It's safe to ignore these
            }
        }
Пример #2
0
        public void Add(string name, WADFile wadFile)
        {
            if (string.IsNullOrWhiteSpace(name))
            {
                throw new ArgumentException("Name must be valid", nameof(wadFile));
            }

            if (wadFile == null)
            {
                throw new ArgumentNullException(nameof(wadFile));
            }

            name = FileExtensionUtils.EnsureExtension(name, _extension);

            if (IsLoaded(name))
            {
                throw new ArgumentException($"WAD file '{name}' is already loaded");
            }

            _wadFiles.Add(new WADData {
                Name = name, File = wadFile
            });
        }