Esempio n. 1
0
        public void LoadBundleIndexes()
        {
            foreach (var indexPath in Directory.GetFiles(_basePath, "*" + _indexFileSuffix))
            {
                // get identifier (bundle name) from path
                var identifier = indexPath.Substring(
                    _basePath.Length,
                    indexPath.Length - _indexFileSuffix.Length - _basePath.Length
                    );

                // get asset bundle path
                var bundlePath = Path.Combine(_basePath, identifier);

                // parse bundle index
                var index = ContentBundleIndex.Parse(identifier, indexPath, bundlePath);
                _bundleIndexes.Add(index);

                // add items to the mapping dictionary
                foreach (var item in index.Items)
                {
                    if (_itemMapping.ContainsKey(item.Mountpoint))
                    {
                        Log.Instance.Warning("Found duplicate resource at path {0} loading bundle {1}, previous loaded from {2}",
                                             item.Mountpoint,
                                             identifier,
                                             _itemMapping[item.Mountpoint].Index.Identifier
                                             );
                    }

                    _itemMapping[item.Mountpoint] = item;
                }
            }
        }