public AssetBundleLoadStatus LoadMasterManifest() { string bundleName = BundlesHelper.GetPlatformName(); loadHandlers.Add(bundleName, OnMasterManifestLoaded); BundleLoadOperation loadOp = AddLoadOp(bundleName); return(new AssetBundleLoadStatus(loadOp)); }
public void Update() { if (freeStreams == 0) { return; } for (int i = 0; i < loadOps.numSpawned; ++i) { BundleLoadOperation op = loadOps.GetInstance(i); // This prevents the manager from loading bundles from a single loadop in parallell // Should check number of bundles left to load. // A LoadOp is not necessarily done just because there are no mor bundles to load. //if (op.bundlesLeftToLoad == 0) { // continue; //} if (!op.canLoadBundle) { continue; } if (freeStreams == 0) { return; } // Debug.Log("LoadOp "+i+" has "+op.bundlesLeftToLoad+" bundles left to load"); // Debug.Log("LoadOp "+i+" is ready"); ITransporter transporter = BundlesHelper.GetTransporter(config); // Debug.Log("Got transporter "+transporter.GetType()); // Debug.Log("Start transporter on stream "+streams.Count); string path = BundlesHelper.GetPath(config, BundlesHelper.GetPlatformName()); streams.Add(loader.StartCoroutine(transporter.Load(op, streams.Count, path))); // Debug.Log("Streams: "+streams.Count); --freeStreams; // Debug.Log("Started loading stream. Streams: "+streams.Count+" free streams: "+freeStreams); } }