@@ -34,29 +34,30 @@ public byte[] GetData()
3434 {
3535 var resourceFileName = Path . GetFileName ( path ) ;
3636
37- if ( assetsFile . assetsManager . resourceFileReaders . TryGetValue ( resourceFileName , out var reader ) )
37+ if ( assetsFile . assetsManager . resourceFileReaders . TryGetValue ( resourceFileName , out reader ) )
3838 {
39- reader . Position = offset ;
39+ needSearch = false ;
40+ reader . BaseStream . Position = offset ;
4041 return reader . ReadBytes ( size ) ;
4142 }
4243
43- var currentDirectory = Path . GetDirectoryName ( assetsFile . fullName ) ;
44- var resourceFilePath = currentDirectory + " \\ " + resourceFileName ;
44+ var assetsFileDirectory = Path . GetDirectoryName ( assetsFile . fullName ) ;
45+ var resourceFilePath = assetsFileDirectory + Path . DirectorySeparatorChar + resourceFileName ;
4546 if ( ! File . Exists ( resourceFilePath ) )
4647 {
47- var findFiles = Directory . GetFiles ( currentDirectory , resourceFileName , SearchOption . AllDirectories ) ;
48+ var findFiles = Directory . GetFiles ( assetsFileDirectory , resourceFileName , SearchOption . AllDirectories ) ;
4849 if ( findFiles . Length > 0 )
4950 {
5051 resourceFilePath = findFiles [ 0 ] ;
5152 }
5253 }
5354 if ( File . Exists ( resourceFilePath ) )
5455 {
55- using ( var resourceReader = new BinaryReader ( File . OpenRead ( resourceFilePath ) ) )
56- {
57- resourceReader . BaseStream . Position = offset ;
58- return resourceReader . ReadBytes ( size ) ;
59- }
56+ reader = new BinaryReader ( File . OpenRead ( resourceFilePath ) ) ;
57+ needSearch = false ;
58+ assetsFile . assetsManager . resourceFileReaders . Add ( resourceFileName , reader ) ;
59+ reader . BaseStream . Position = offset ;
60+ return reader . ReadBytes ( size ) ;
6061 }
6162
6263 throw new FileNotFoundException ( $ "Can't find the resource file { resourceFileName } ") ;
0 commit comments