Ejemplo n.º 1
0
        /// <summary>
        /// 最新でないファイルの一覧を取得
        /// </summary>
        public IReadOnlyList <IRuntimeBundleData> GetNeedUpdateList()
        {
            //	キャッシュされてない情報一覧
            var notCachedList
                = LoadDatabase
                  .BundleList
                  .Where(c => !StorageDatabase.HasStorage(c))
                  .ToArray();

            //	保存ファイル情報からバンドルデータに変換して取得
            return(notCachedList);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// ダウンロード処理
        /// </summary>
        public ILoadProcess CacheOrDownload(string identifier)
        {
            var data = LoadDatabase.GetBundleData(identifier);

            if (data == null)
            {
                OnError(ChipstarResult.ClientError($"Target Bundle Data is Not Found. == {identifier}"));
                return(SkipLoadProcess.Create(identifier));
            }
            if (data.IsOnMemory)
            {
                //	ロード済みは無視
                ChipstarLog.Log_Skip_OnMemory(data.Identifier);
                return(SkipLoadProcess.Create(data.Identifier));
            }
            if (StorageDatabase.HasStorage(data))
            {
                //	キャッシュ済は無視
                ChipstarLog.Log_Cached(data);
                return(SkipLoadProcess.Create(data.Identifier));
            }
            return(CreateDowloadJob(data.Url, data));
        }