Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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));
        }
Ejemplo n.º 3
0
        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));
        }
Ejemplo n.º 4
0
        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));
        }
Ejemplo n.º 5
0
        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));
        }