private void CreateBundleRef(string name, BundleReference bundle) { if (!_bundleRefCache.ContainsKey(name)) { _bundleRefCache.Add(name, bundle); } }
/// <summary> /// 增加bundle引用 /// </summary> /// <param name="dependenceBundle">资源名称</param> /// <param name="bundle"></param> /// <param name="sourceBundle">被依赖资源的名称</param> /// <param name="resource"></param> public void AddBundleRefValue(string dependenceBundle, AssetBundle bundle, string sourceBundle, string resource) { if (!_bundleRefCache.ContainsKey(dependenceBundle)) { CreateBundleRef(dependenceBundle, new BundleReference(dependenceBundle)); } if (_bundleRefCache[dependenceBundle].IsNull()) { _bundleRefCache[dependenceBundle].Bundle = bundle; } _bundleRefCache[dependenceBundle].AddRef(); //#if UNITY_EDITOR // if (Lanuch.Instance.TrackResourceLife) // { // ResourceReferenceDebug.Instance.AddReferenceCount(dependenceBundle); // ResourceReferenceDebug.Instance.AddHistoryOperator(ReferenceState.Add, dependenceBundle, sourceBundle, resource); // } //#endif if (string.Equals(sourceBundle, string.Empty)) { return; } _bundleRefCache[dependenceBundle].AddReference(sourceBundle); //#if UNITY_EDITOR // if (Lanuch.Instance.TrackResourceLife) // { // ResourceReferenceDebug.Instance.AddReference(dependenceBundle, sourceBundle, resource); // } //#endif var sourcebundle = GetBundleReference(sourceBundle); if (sourcebundle == null) { sourcebundle = new BundleReference(sourceBundle); CreateBundleRef(sourceBundle, sourcebundle); } sourcebundle.AddDependence(dependenceBundle); //#if UNITY_EDITOR // if (Lanuch.Instance.TrackResourceLife) // { // ResourceReferenceDebug.Instance.AddDependence(dependenceBundle, sourceBundle, resource); // } //#endif }