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 } }
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 }); }