public IPreloadOperation Prepare(string path) { Recorder.Catch("Cri Movie", path); var operation = new PreloadOperation(SkipLoadProcess.Create(path)); operation.OnStart = _ => OnStartAny?.Invoke(); operation.OnStop = _ => OnStopAny?.Invoke(); return(m_routine.Register(operation)); }
public IPreloadOperation Prepare(string cueSheetName) { Recorder.Catch("Cri Sound", cueSheetName); var operation = new PreloadOperation(SkipLoadProcess.Create(cueSheetName)); operation.OnStart = _ => OnStartAny?.Invoke(); operation.OnStop = _ => OnStopAny?.Invoke(); return(m_routine.Register(operation)); }
private ILoadProcess PrepareImpl(string cueSheetName) { var builtInData = m_builtinDatabase.Find(cueSheetName); if (m_remoteDatabase == null) { if (builtInData == null) { return(SkipLoadProcess.Create(cueSheetName)); } } var database = GetUseDatabase(cueSheetName); return(DownloadImpl(database, cueSheetName)); }
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)); }