public static void CreateLoader(string url, int version) { // Check if the asset in the loader table if (_loaders.ContainsKey(url)) { WwwLoader existingLoader = _loaders[url].Value; existingLoader.AddRef(); } // Create loader WwwLoader loader = new WwwLoader(url, version); loader.AddRef(); // Add to existing loader _loaders.Add(url, _pendingLoaders.AddLast(loader)); }
/// <summary> /// Destroies the loader. /// </summary> /// <param name='loader'> /// Loader. /// </param> public static void DestroyLoader(WwwLoader loader) { if (loader == null) { return; } loader.ReleaseRef(); if (loader.RefCount == 0) { Debug.Assert(_loaders.ContainsKey(loader.AssetPath), "Must exist"); LinkedListNode <WwwLoader> loaderNode = _loaders[loader.AssetPath]; _loaders.Remove(loader.AssetPath); loaderNode.List.Remove(loaderNode); loaderNode.Value.Destroy(); } loader = null; }