예제 #1
0
        public void Create(IAssetManager manager, RuntimePlatform platform, IVersionManifest manifest, AssetBundleConfig config)
        {
            var db = config.BuildDatabase(platform);

            db.Create(manager, platform, manifest, config);
            Add(db, config);

            // 優先度高い方(サーバー側の情報をメインとする)
            m_mainIdentifier = m_table.OrderBy(c => c.Value.Priority).LastOrDefault().Key;
        }
예제 #2
0
 /// <summary>
 ///
 /// </summary>
 public void Create(IAssetManager manager, RuntimePlatform platform, IVersionManifest manifest, AssetBundleConfig config)
 {
     if (!(manifest?.IsValid ?? false))
     {
         ChipstarLog.Log_Database_NotFound();
         CreateResult = ChipstarResult.ClientError("BuildMap Get Error");
         return;
     }
     CreateResult = CreateImpl(manager, platform, manifest, config);
 }
예제 #3
0
        public IEnumerator Build(RuntimePlatform platform, IVersionManifest manifest)
        {
            m_storage = m_config.GetSaveStorage(platform);
            m_server  = m_config.GetServer(platform);

            foreach (var d in GetList())
            {
                yield return(Copy(m_server.ToLocation(d.Path), m_storage.ToLocation(d.Path)));
            }
            yield break;
        }
예제 #4
0
 public Task CreateAsync(RuntimePlatform platform, IVersionManifest manifest)
 {
     return(Task.CompletedTask);
 }
예제 #5
0
 public void Create(IAssetManager manager, RuntimePlatform platform, IVersionManifest manifest, AssetBundleConfig config)
 {
 }
예제 #6
0
        /// <summary>
        /// リモートDB取得
        /// </summary>
        protected override IEnumerator DoLogin(RuntimePlatform platform, IVersionManifest manifest)
        {
            yield return(m_remoteDatabase.Build(platform, manifest));

            yield break;
        }
예제 #7
0
 public IEnumerator Build(RuntimePlatform platform, IVersionManifest manifest)
 {
     yield break;
 }
예제 #8
0
        private ResultCode CreateImpl(IAssetManager manager, RuntimePlatform platform, IVersionManifest manifest, AssetBundleConfig config)
        {
            var table = m_parser.Parse(manifest.RawData);

            ChipstarLog.Log_GetBuildMap <TTable, TBundle, TAsset>(table);
            if (table == null)
            {
                return(ChipstarResult.ClientError("Json Parse Error"));
            }
            //  アセットの一覧
            foreach (var asset in table.AssetList)
            {
                var d = new AssetData(asset);
                m_assetsTable.Add(d.Path, d);
            }

            //  バンドルの一覧
            foreach (var bundle in table.BundleList)
            {
                var runtime = m_bundleDataCreater.Create(manager, bundle, platform, config);
                m_bundleTable.Add(bundle.Identifier, runtime);
            }
            //  依存関係とアセットデータを接続
            foreach (var bundle in table.BundleList)
            {
                var runtime      = m_bundleTable[bundle.Identifier];
                var dependencies = CreateDependencies(bundle);
                var assets       = CreateAssets(bundle);
                foreach (var asset in assets)
                {
                    asset.Connect(runtime);
                }
                runtime.Set(dependencies);
            }
            return(ChipstarResult.Success);
        }