remove duplication in FileSystem.Open[WithExts]
This commit is contained in:
@@ -123,25 +123,7 @@ namespace OpenRA.FileFormats
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Stream Open(string filename)
|
public static Stream Open(string filename) { return OpenWithExts(filename, ""); }
|
||||||
{
|
|
||||||
if( filename.IndexOfAny( new char[] { '/', '\\' } ) == -1 )
|
|
||||||
{
|
|
||||||
var ret = GetFromCache( allFiles, filename );
|
|
||||||
if( ret != null )
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
var folder = mountedFolders
|
|
||||||
.Where(x => x.Exists(filename))
|
|
||||||
.OrderByDescending(x => x.Priority)
|
|
||||||
.FirstOrDefault();
|
|
||||||
|
|
||||||
if (folder != null)
|
|
||||||
return folder.GetContent(filename);
|
|
||||||
|
|
||||||
throw new FileNotFoundException( string.Format( "File not found: {0}", filename ), filename );
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Stream OpenWithExts( string filename, params string[] exts )
|
public static Stream OpenWithExts( string filename, params string[] exts )
|
||||||
{
|
{
|
||||||
@@ -157,9 +139,13 @@ namespace OpenRA.FileFormats
|
|||||||
|
|
||||||
foreach( var ext in exts )
|
foreach( var ext in exts )
|
||||||
{
|
{
|
||||||
foreach( IFolder folder in mountedFolders.OrderByDescending(x => x.Priority) )
|
var folder = mountedFolders
|
||||||
if (folder.Exists(filename + ext))
|
.Where(x => x.Exists(filename + ext))
|
||||||
return folder.GetContent( filename + ext );
|
.OrderByDescending(x => x.Priority)
|
||||||
|
.FirstOrDefault();
|
||||||
|
|
||||||
|
if (folder != null)
|
||||||
|
return folder.GetContent(filename + ext);
|
||||||
}
|
}
|
||||||
|
|
||||||
throw new FileNotFoundException( string.Format( "File not found: {0}", filename ), filename );
|
throw new FileNotFoundException( string.Format( "File not found: {0}", filename ), filename );
|
||||||
|
|||||||
Reference in New Issue
Block a user