コード例 #1
0
    // Este metodo se ejecuta cuando se termina de cargar el assetbundle
    // que se estaba descargando. Si tuvo exito, se habilita la capacidad
    // de instanciar un modelo y realiza el control de los assetbundles
    // del cache.
    private void OnAssetBundleFinishLoad(bool succesfullLoad, string assetBundleId)
    {
        if (succesfullLoad)
        {
            debuglog.text += $"Model Controller bundle was correctly loaded \n";
            _bundleManager.DisplayAssetBundleInPendingPrefabBundles(assetBundleId);

            // Revisa que no haya mas assetbundles en la cache que lo
            // permitido, ese numero se especifica en el script BundleLoader.
            // Regresa un string vacio si no se supero el maximo de asset bundles.
            // Si se supero el numero permitido, regresa el id del assetbundle que
            // se removio para poder remover los objetos en escena que utilizaban
            // el assetbundle removido.
            string assetBundleIdToRemove = _bundleManager.MaxAssetBundlesInCacheCheck();

            if (assetBundleIdToRemove != "")
            {
                debuglog.text += $"Asset Bundle to remove: {assetBundleIdToRemove} \n";
                _bundleManager.DeleteAllPrefabBundlesWithId(assetBundleIdToRemove);
            }
        }
        else
        {
            debuglog.text += $"Model Controller bundle was INCORRECTLY loaded \n";
        }
    }