Ejemplo n.º 1
0
        public static ABVersion CreateVersion(string rOutPath, ABVersion rOldVersion, AssetBundleManifest rNewABManifest)
        {
            ABVersion rVersion = new ABVersion();

            rVersion.Entries = new Dict <string, ABVersionEntry>();

            string[] rAllAssetbundles = rNewABManifest.GetAllAssetBundles();
            for (int i = 0; i < rAllAssetbundles.Length; i++)
            {
                ABVersionEntry rAVEntry = new ABVersionEntry();
                rAVEntry.Name = rAllAssetbundles[i];

                var rOldEntry = rOldVersion != null?rOldVersion.GetEntry(rAllAssetbundles[i]) : null;

                string rOldMD5 = rOldEntry != null ? rOldEntry.MD5 : string.Empty;
                string rNewMD5 = GetMD5InManifest(rNewABManifest, rAllAssetbundles[i]);

                rAVEntry.MD5 = rNewMD5;

                if (!string.IsNullOrEmpty(rOldMD5) && !rOldMD5.Equals(rNewMD5))
                {
                    rAVEntry.Version = GetVersionInABVersion(rOldVersion, rAVEntry.Name) + 1;
                }
                else
                {
                    rAVEntry.Version = GetVersionInABVersion(rOldVersion, rAVEntry.Name);
                }

                rAVEntry.Size         = GetABSizeInManifest(rOutPath, rAllAssetbundles[i]);
                rAVEntry.Dependencies = rNewABManifest.GetDirectDependencies(rAllAssetbundles[i]);
                rVersion.Entries.Add(rAllAssetbundles[i], rAVEntry);
            }
            return(rVersion);
        }
Ejemplo n.º 2
0
        public static int GetVersionInABVersion(ABVersion rVersion, string rABName)
        {
            if (rVersion == null)
            {
                return(1);
            }

            ABVersionEntry rAVEntry = rVersion.GetEntry(rABName);

            if (rAVEntry == null)
            {
                return(1);
            }
            return(rAVEntry.Version);
        }