Exemplo n.º 1
0
        public AssetBundle LoadAsset(string assetName)
        {
            string assetBundleName;

            if (localAssetBundleConfig.assetBundleRuleTypeDict[assetName] == AssetBundleRuleType.File)
            {
                assetBundleName = $"{MD5Util.ComputeMD5(assetName)}.unity3d";
            }
            else
            {
                assetBundleName = $"{MD5Util.ComputeMD5(Path.GetDirectoryName(assetName).Replace("\\", "/"))}.unity3d";
            }
            if (assetBundles.ContainsKey(assetBundleName))
            {
                return((AssetBundle)assetBundles[assetBundleName]);
            }
            else
            {
                AssetBundle assetBundle  = AssetBundle.LoadFromFile($"{PathUtil.GetPath(PathType.PersistentDataPath, "Res", PathUtil.GetPlatformForAssetBundle())}/{assetBundleName}");
                string[]    dependencies = assetBundleManifest.GetAllDependencies(assetBundleName);
                foreach (string item in dependencies)
                {
                    assetBundles.Add(item, AssetBundle.LoadFromFile($"{PathUtil.GetPath(PathType.PersistentDataPath, "Res", PathUtil.GetPlatformForAssetBundle())}/{item}"));
                }
                assetBundles.Add(assetBundleName, assetBundle);
                return(assetBundle);
            }
        }
Exemplo n.º 2
0
        public void UnloadAsset(string assetName)
        {
            string assetBundleName = $"{MD5Util.ComputeMD5(assetName)}.unity3d";

            if (assetBundles.ContainsKey(assetName))
            {
                AssetBundle assetBundle = (AssetBundle)assetBundles[assetBundleName];
                assetBundle.Unload(true);
                assetBundles.Remove(assetBundle);
            }
        }
Exemplo n.º 3
0
        public AssetBundle LoadAsset(string assetName)
        {
            string assetBundleName = $"{MD5Util.ComputeMD5(assetName)}.unity3d";

            if (assetBundles.ContainsKey(assetName))
            {
                return((AssetBundle)assetBundles[assetBundleName]);
            }
            else
            {
                AssetBundle assetBundle  = AssetBundle.LoadFromFile($"{PathUtil.GetPath(PathType.PersistentDataPath, "Res", PathUtil.GetPlatformForAssetBundle())}/{assetBundleName}");
                string[]    dependencies = assetBundleManifest.GetAllDependencies(assetBundleName);
                foreach (string item in dependencies)
                {
                    assetBundles.Add(item, AssetBundle.LoadFromFile($"{PathUtil.GetPath(PathType.PersistentDataPath, "Res", PathUtil.GetPlatformForAssetBundle())}/{item}"));
                }
                assetBundles.Add(assetName, assetBundle);
                return(assetBundle);
            }
        }