public static void UnRegisterAsset(AssetInfo asset, string bundle) { if (m_DependencyTracker == null || asset == null) { return; } if (m_DependencyTracker.ContainsKey(asset.fullAssetName)) { m_DependencyTracker[asset.fullAssetName].Remove(bundle); int count = m_DependencyTracker[asset.fullAssetName].Count; switch (count) { case 0: m_DependencyTracker.Remove(asset.fullAssetName); break; case 1: asset.SetMessageFlag(MessageSystem.MessageFlag.AssetsDuplicatedInMultBundles, false); break; default: break; } } }
public static int RegisterAsset(AssetInfo asset, string bundle) { if (m_DependencyTracker.ContainsKey(asset.fullAssetName)) { m_DependencyTracker[asset.fullAssetName].Add(bundle); int count = m_DependencyTracker[asset.fullAssetName].Count; if (count > 1) { asset.SetMessageFlag(MessageSystem.MessageFlag.AssetsDuplicatedInMultBundles, true); } return(count); } var bundles = new HashSet <string>(); bundles.Add(bundle); m_DependencyTracker.Add(asset.fullAssetName, bundles); return(1); }