public async UniTask <LoadResult <byte[]> > LoadBytesAsync(string filename) { await UniTask.WaitWhile(() => processCount > 0); ++processCount; try { var fullPath = GetPath(filename); try { using (var fileStream = System.IO.File.OpenRead(fullPath)) { var bytes = new byte[fileStream.Length]; await fileStream.ReadAsync(bytes, 0, bytes.Length).AsUniTask(); return(new LoadResult <byte[]>(bytes)); } } catch (DirectoryNotFoundException ex) { return(LoadResult <byte[]> .CreateNotFound(ex)); } catch (FileNotFoundException ex) { return(LoadResult <byte[]> .CreateNotFound(ex)); } } finally { --processCount; } }
public LoadResult <byte[]> LoadBytes(string filename) { if (!PlayerPrefs.HasKey(filename)) { return(LoadResult <byte[]> .CreateNotFound()); } var value = PlayerPrefs.GetString(filename); return(new LoadResult <byte[]>(System.Convert.FromBase64String(value))); }
public LoadResult <byte[]> LoadBytes(string filename) { var fullPath = GetPath(filename); try { var bytes = System.IO.File.ReadAllBytes(fullPath); return(new LoadResult <byte[]>(bytes)); } catch (DirectoryNotFoundException ex) { return(LoadResult <byte[]> .CreateNotFound(ex)); } catch (FileNotFoundException ex) { return(LoadResult <byte[]> .CreateNotFound(ex)); } }