Esempio n. 1
0
        //指定のページ移行のファイルをプリロード
        internal HashSet <AssetFile> MakePreloadFileListSub(AdvDataManager dataManager, int page, int maxFilePreload, int preloadDeep)
        {
            AdvScenarioLabelData data    = this;
            HashSet <AssetFile>  fileSet = new HashSet <AssetFile>();

            do
            {
                for (int j = page; j < data.PageNum; ++j)
                {
                    data.GetPageData(j).AddToFileSet(fileSet);
                    if (fileSet.Count >= maxFilePreload)
                    {
                        return(fileSet);
                    }
                }
                //ジャンプなどがあるので、このページでいったん先読みの区切り
                if (data.IsEndPreLoad())
                {
                    //ジャンプ先もプリロードする
                    data.PreloadDeep(dataManager, page, fileSet, maxFilePreload, preloadDeep);
                    break;
                }
                page = 0;
                data = data.Next;
            } while (data != null);
            return(fileSet);
        }
Esempio n. 2
0
        HashSet <AssetFile> MakePreloadFileListSub(int index, int page, int maxFilePreload)
        {
            HashSet <AssetFile> fileList = new HashSet <AssetFile>();

            for (int i = index; i < ScenarioLabelData.Count; ++i)
            {
                AdvScenarioLabelData data = ScenarioLabelData[i];
                for (int j = page; j < data.PageNum; ++j)
                {
                    data.GetPageData(j).AddToFileSet(fileList);
                    if (fileList.Count >= maxFilePreload)
                    {
                        return(fileList);
                    }
                }
                if (data.IsEndPreLoad())
                {
                    break;
                }
                page = 0;
            }
            return(fileList);
        }