private IEnumerator Copy(IAccessLocation source, IAccessLocation dest) { ChipstarLog.Log_WriteLocalBundle(source, dest); if (File.Exists(dest.FullPath)) { ChipstarLog.Log($"Exsists File::{dest}"); yield break; } var www = UnityWebRequest.Get(source.FullPath); var handler = new DownloadHandlerFile(dest.FullPath); www.downloadHandler = handler; yield return(www.SendWebRequest()); }
private ILoadProcess PrepareImpl(string key) { var database = GetUseDatabase(key); // あったら落とす var fileData = database.Find(key); if (fileData == null) { //CriUtils.Warning( "Movie File Key Not Found : {0}", key ); return(SkipLoadProcess.Create(key)); } if (HasUsm(fileData)) { ChipstarLog.Log($"Cached :: {fileData.Identifier}"); return(SkipLoadProcess.Create(key)); } // Usmファイルを落とす var url = database.GetServerLocation(fileData); return(Download(url, fileData)); }
private ILoadProcess DownloadImpl(ISoundLoadDatabase database, string cueSheetName) { var fileData = database.Find(cueSheetName); if (fileData == null) { ChipstarLog.Log_RequestCueSheet_Error(cueSheetName); return(SkipLoadProcess.Create(cueSheetName)); } ChipstarLog.Log_Download_Sound(fileData); ILoadProcess acbJob = SkipLoadProcess.Create(cueSheetName); var(acbUrl, awbUrl) = database.GetServerLocation(fileData); if (!HasAcb(fileData)) { acbJob = Download(acbUrl, fileData.Acb); } else { ChipstarLog.Log($"Cached :: {fileData.Acb.Identifier}"); } if (!fileData.HasAwb()) { // Awbファイルがないならココまで return(acbJob); } ILoadProcess awbJob = SkipLoadProcess.Create(cueSheetName); if (!HasAwb(fileData)) { awbJob = Download(awbUrl, fileData.Awb); } else { ChipstarLog.Log($"Cached :: {fileData.Awb.Identifier}"); } return(acbJob.ToJoin(awbJob)); }