Exemplo n.º 1
0
        public void GetAssetItemsToLoad(AssetItem assetItem, HashSet <AssetItem> loadHs)
        {
            Type type = m_typeMap.ToType(assetItem.TypeGuid);

            if (type == null)
            {
                return;
            }
            Type persistentType = m_typeMap.ToPersistentType(type);

            if (persistentType == null)
            {
                return;
            }

            if (!loadHs.Contains(assetItem) && !m_assetDB.IsMapped(assetItem.ItemID))
            {
                loadHs.Add(assetItem);
                if (assetItem.Dependencies != null)
                {
                    for (int i = 0; i < assetItem.Dependencies.Length; ++i)
                    {
                        long dep = assetItem.Dependencies[i];

                        AssetItem dependencyAssetItem;
                        if (m_idToAssetItem.TryGetValue(dep, out dependencyAssetItem))
                        {
                            GetAssetItemsToLoad(assetItem, loadHs);
                        }
                        else
                        {
                            Debug.LogWarningFormat("AssetItem with ItemID {0} does not exists", dep);
                        }
                    }
                }
            }
        }