public static int RegisterAsset(AssetInfo asset, string bundle) { if (m_dependencyTracker.ContainsKey(asset.Name)) { m_dependencyTracker[asset.Name].Add(bundle); int count = m_dependencyTracker[asset.Name].Count; if (count > 1) { asset.IsInMultipleBundles(true); } return(count); } var bundles = new HashSet <string>(); bundles.Add(bundle); m_dependencyTracker.Add(asset.Name, bundles); return(1); }
public static void UnRegisterAsset(AssetInfo asset, string bundle) { if (m_dependencyTracker.ContainsKey(asset.Name)) { m_dependencyTracker[asset.Name].Remove(bundle); int count = m_dependencyTracker[asset.Name].Count; switch (count) { case 0: m_dependencyTracker.Remove(asset.Name); break; case 1: asset.IsInMultipleBundles(false); break; default: break; } } }