public static IEnumerator CopyFile(TimiSharedURI sourceFileURI, TimiSharedURI destinationDirectoryURI) { if (destinationDirectoryURI.BasePathType == FileBasePathType.LocalDataPath || destinationDirectoryURI.BasePathType == FileBasePathType.LocalPersistentDataPath || (destinationDirectoryURI.BasePathType == FileBasePathType.LocalStreamingAssetsPath && Application.isEditor)) { FileLoadRequest fileLoadRequest = FileLoader.GetFileStreamAsync(sourceFileURI, FileMode.Open, FileAccess.Read); if (fileLoadRequest != null) { fileLoadRequest.StartRequest(); yield return(fileLoadRequest); string contents = FileUtils.GetStreamContents(fileLoadRequest.LoadedFileStream); TimiSharedURI destinationFileURI = new TimiSharedURI(destinationDirectoryURI.BasePathType, Path.Combine(destinationDirectoryURI.RelativePath, sourceFileURI.FileName)); using (Stream destinationFileStream = FileLoader.GetFileStreamSync(destinationFileURI, FileMode.Create, FileAccess.Write)) { if (destinationFileStream != null) { FileUtils.PutStreamContents(destinationFileStream, contents); } destinationFileStream.Close(); } } yield break; } else { string errorMessage = "Not supported to write on base path type: " + destinationDirectoryURI.BasePathType; DebugLog.LogErrorColor(errorMessage, LogColor.grey); throw new NotImplementedException(errorMessage); } }
private static VersionManifestEntry manifestEntry(this FileLoadRequest request) { return((VersionManifestEntry)f_manifestEntry.GetValue(request)); }
private static DataManager dataManager(this FileLoadRequest request) { return((DataManager)f_dataManager.GetValue(request)); }
private static void State(this FileLoadRequest request, DataManager.FileLoadRequest.RequestState state) { m_StateSet.Invoke(request, new object[] { state }); }