Exemple #1
0
        /// <summary>
        ///
        /// </summary>
        private void AppendDependencies(StringBuilder sb, IBundleFileManifest bundle, AssetBundleManifest manifest)
        {
            var currentName = bundle.ABName;
            var directs     = manifest.TryGetDirectDependencies(currentName);

            sb.AppendLine($"[{currentName}]");
            foreach (var direct in directs)
            {
                sb.Append("\t").AppendLine($"- {direct} ");
                // 直接依存の全依存に自分自身が含まれていたらアウト
                var dependencies = manifest.TryGetDependencies(direct);
                foreach (var dependency in dependencies)
                {
                    sb.Append("\t\t").AppendLine($"- {dependency} ");
                    if (dependency == currentName)
                    {
                        sb.Append("\t\t\t").AppendLine($"***** Reference Loop ****");
                    }
                }
            }
        }
Exemple #2
0
        /// <summary>
        /// 単一データ作成
        /// </summary>
        private BundleBuildData CreateBuildData(IAccessLocation file, IBundleFileManifest buildFileData, IReadOnlyDictionary <string, string> table, AssetBundleManifest manifest)
        {
            var identifier   = buildFileData?.Identifier;
            var abName       = buildFileData?.ABName;
            var crc          = FsUtillity.TryGetCrc(file.FullPath);
            var hash         = manifest.TryGetHashString(abName);
            var dependencies = manifest.TryGetDependencies(abName).Select(c => table[c]).ToArray();
            var size         = FsUtillity.TryGetFileSize(file.FullPath);

            var d = new BundleBuildData
            {
                Path         = abName,
                Identifier   = identifier,
                Assets       = buildFileData?.Address,
                Hash         = hash,
                Crc          = crc,
                Dependencies = dependencies,
                FileSize     = size,
                Labels       = buildFileData?.Labels,
            };

            return(d);
        }