mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
[Utilities, DatFile] Create another factory
This commit is contained in:
@@ -683,6 +683,35 @@ namespace SabreTools.Library.Tools
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Create a specific type of DatItem to be used based on a BaseFile
|
||||
/// </summary>
|
||||
/// <param name="baseFile">BaseFile containing information to be created</param>
|
||||
/// <returns>DatItem of the specific internal type that corresponds to the inputs</returns>
|
||||
public static DatItem GetDatItem(BaseFile baseFile)
|
||||
{
|
||||
switch (baseFile.Type)
|
||||
{
|
||||
case FileType.CHD:
|
||||
return new Disk(baseFile);
|
||||
case FileType.GZipArchive:
|
||||
case FileType.LRZipArchive:
|
||||
case FileType.LZ4Archive:
|
||||
case FileType.None:
|
||||
case FileType.RarArchive:
|
||||
case FileType.SevenZipArchive:
|
||||
case FileType.TapeArchive:
|
||||
case FileType.XZArchive:
|
||||
case FileType.ZipArchive:
|
||||
case FileType.ZPAQArchive:
|
||||
case FileType.ZstdArchive:
|
||||
return new Rom(baseFile);
|
||||
case FileType.Folder:
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get DatFormat value from input string
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user