/// <summary>
        /// Coroutine that loads assets of a given type from a given bundle.
        /// </summary>
        /// <param name="OutputAssets"></param> Outputs the assets.
        /// <param name="bundledAssetsNames"></param> The bundled asset names.
        /// <typeparam name="T"></typeparam> The types of the assets.
        /// <returns></returns>
        public IEnumerator LoadAssetsFromBundleCoroutine <T>(System.Action <T[]> OutputAssets, params string[] bundledAssetsNames) where T : UnityEngine.Object
        {
            string bundlePath = Path.Combine(bundleDirectory, bundleName);

            yield return(StartCoroutine(GeneralToolkit.LoadAssetBundleIntoMemory(bundlePath)));

            yield return(StartCoroutine(GeneralToolkit.LoadAssetsFromBundleInMemory <T>((results => OutputAssets(results)), bundledAssetsNames)));
        }